目录
数据库系统——数据库完整性约束——数据库备份与恢复——数据库备份
数据库系统——数据库完整性约束——数据库备份与恢复——数据库恢复
数据库系统——数据库模式
数据库系统——数据库模式——三级模式两级映射
两级映射:
数据库系统——数据库模式——数据库设计过程
数据库设计过程:
数据库系统——ER模型
集成的方法:
- 多个局部ER图一次集成。
- 逐步集成,用累加的方式一次集成两个局部ER图。
集成产生的冲突及解决办法:
- 属性冲突:包括属性域冲突和属性取值冲突。
- 命名冲突:包括同名异义和异名同义。
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同。
ER模型:
数据库系统——ER模型——实体型转换为关系模式
- 一个实体型转换为一个关系模式:1:1联系、1:N联系、M:N联系。
- 三个以上实体间的一个多元联系。
答:C.4
解释:
A和m为一个关系模式、
B和n为一个关系模式、
C和p为一个关系模式、
联系模型为一个关系模式。
数据库系统——关系代数
- 并
- 交
- 差
- 笛卡尔积
- 投影
- 选择
- 联接
数据库系统——关系代数——并和交
并、交:
数据库系统——关系代数——差
差:
数据库系统——关系代数——笛卡尔积、投影和选择
笛卡尔积、投影、选择:
数据库系统——关系代数——联接
联接:
数据库系统——规范化理论
答:
(1):A.没有消除非主属性对码的部分函数依赖如:部门名——>负责人
(2):D.修改表3的结构,在表3中增加一个部门号
(3):A.销售(职工号,商品号,日期,数量)
解释:
(1):消除了部分函数依赖,没有消除非主属性的函数依赖。
(2):在职工表3中增加部门号,建立部门和职工的关系。
(3):因在表3中增加了部门号,所以排除C和D选项,增加商品名称会造成数据冗余。所以选择A。
数据库系统——规范化理论——函数依赖
函数依赖:
数据库系统——规范化理论——价值与用途
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。
价值与用途:
数据库系统——规范化理论——键
键:
数据库系统——规范化理论——键——求候选键
- 将关系模式的函数依赖关系用“有向图”的方式表示。
- 找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
- 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(即有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。
答:
例1:A.A1
例2:候选码为ABCD
例3:B.A和B
解释:
例1:入度为0的属性为起点,能遍历所有结点,则为关系模式的候选键。
例2:ABCD组合起来的属性集,能遍历所有结点,则为关系模式的候选键。
例3:A和B同时拥有入度和出度,且能遍历所有结点,则为关系模式的候选键。
数据库系统——规范化理论——范式
范式:
数据库系统——规范化理论——范式——第一范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式。
答:
不满足,应把高级职称人数删掉,保留教授和副教授。
数据库系统——规范化理论——范式——第二范式
第二范式(2NF):当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式。
答:
该关系模式会存在数据冗余、更新异常、插入异常、删除异常。
使用拆分来解决。
数据库系统——规范化理论——范式——第三范式
第三范式(3NF):当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式。
答:
该关系模式会存在数据冗余、更新异常、插入异常、删除异常。
将DNO、DNAME和LOCATION独立出来。
数据库系统——规范化理论——范式——BC范式
BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
答:
不符合BC范式。
因为候选键为SJ和ST、主属性为S、T、J。SJ确定T、T确定不了J。
数据库系统——规范化理论——模式分解
保持函数依赖分解:
设数据库模式 是关系模式R的一个分解,F是R上的函数依赖集,
中每个模式Ri上的FD集是Fi。如果
与F是等价的(即相互逻辑蕴涵),那么称分解
保持FD。
无损分解:
什么是有损?什么又是无损?有损:不能还原。无损:可以还原。
无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。
数据库系统——规范化理论——模式分解——无损分解
答:
该分解是无损分解。
数据库系统——规范化理论——模式分解——无损联接分解方法一
数据库系统——规范化理论——模式分解——无损联接分解方法二
定理:如果R的分解为 ,F为R所满足的函数依赖集合,分解
具有无损联接性的充分必要条件是:
或
,其中,
表示模式的交,为
与
中公共属性组成,
或
表示模式的差集,
表示
中去除
和
的公共属性所组成。当模式R分解成两个关系模式
和
时,如果
和
的公共属性能在函数决定
中或
中的其它属性,这样的分解就具有无损联接性。
答:
是无损分解。因为A——>B的依赖关系等于
。
不是无损分解。因为B——A或B——C的以来关于不等于
。
数据库系统——并发控制
数据库系统——并发控制——基本概念
事务:
- 原子性
- 一致性
- 隔离性
- 持续性。
并发产生的问题:
- 丢失更新
- 不可重复读问题
- “脏”数据的读出
封锁协议:
- S封锁
- X封锁
- 一级封锁协议
- 二级封锁协议
- 三级封锁协议
- 两段封锁协议
死锁问题:
- 预防法
- 死锁的解除法
并发控制基本概念:
数据库系统——并发控制——并发产生的问题
数据库系统——并发控制——封锁协议
- 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可以防止丢失修改。
- 二级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可以防止丢失修改,还可以防止读“脏”数据。
- 三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可以防止丢失修改,防止读“脏”数据与防止数据重复读取。
- 两段锁协议:可串行化的。可能发生死锁。
数据库系统——数据库完整性约束
- 实体完整性约束
- 参照完整性约束
- 用户自定义完整性约束
- 触发器
数据库系统——数据库完整性约束——数据库安全
措施 | 说明 |
---|---|
用户标识和鉴定 | 最外层的安全保护措施,可以使用用户账户、口令及随机数检验等方式。 |
存取控制 | 对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和数据对象(主要是数据范围)的权限。 |
密码存储和传输 | 对远程终端信息用密码传输。 |
视图的保护 | 对视图进行授权。 |
审计 | 使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来。 |
数据库系统——数据库完整性约束——数据库备份与恢复
- 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。
- 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
优点 | 缺点 | |
---|---|---|
冷备份 | 非常快速的备份方法(只需复制文件);容易归档(简单复制命名即可);容易恢复到某个时间点上(只需将文件再复制回去);能与归档方法相结合,做数据库“最佳状态”的恢复;低度维护,高度安全。 | 单独使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要做备份而不能做其他工作;若磁盘空间有限,只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复。 |
热备份 | 可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍可使用;可达到秒级恢复(恢复到某一时间点上);可对几乎所有数据库实体做恢复;恢复是快速的。 | 不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;困难于维护,所以要特别小心,不允许“以失败告终”。 |
数据库系统——数据库完整性约束——数据库备份与恢复——数据库备份
- 完全备份:备份所有数据
- 差量备份:仅备份上一次完全备份之后变化的数据
- 增量备份:备份上一次备份之后变化的数据
- 静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。
- 静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。
- 动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。
- 动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上一次转储后更新过的数据。
日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。
数据库系统——数据库完整性约束——数据库备份与恢复——数据库恢复
故障关系 | 故障原因 | 解决方法 |
---|---|---|
事务本身的可预期故障 | 本身逻辑 | 在程序中预先设置Rollback语句 |
事务本身的不可预期故障 | 算术溢出、违反存储保护 | 由DBMS的恢复子系统通过日志,撤销事务对数据库的修改,回退到事务初始状态 |
系统故障 | 系统停止运转 | 通常使用检查点法 |
介质故障 | 外存被破坏 | 一般使用日志重做业务 |
数据库系统——数据仓库与数据挖掘
- 面相主题
- 集成的
- 相对稳定的(非易失的)
- 反映历史变化(随着时间变化)
数据库系统——数据仓库与数据挖掘——数据挖掘方法分类
方法:
- 决策树
- 神经网络
- 遗传算法
- 关联规则挖掘算法
分类:
- 关联分析:挖掘出隐藏在数据间的相互关系。
- 序列模式分析:侧重点是分析数据间的前后关系(因果关系)。
- 分类分析:为每一个记录赋予一个标记再按标记分类。
- 聚类分析:分类分析法的逆过程。
数据库系统——反规范化
由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据的冗余,提高了增、删、改的速度,但会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降。
技术手段:
- 增加派生性冗余列
- 增加冗余列
- 重新组表
- 分割表
数据库系统——大数据
比较维度 | 传统数据 | 大数据 |
---|---|---|
数据量 | GB或TB级 | PB级或以上 |
数据分析需求 | 现有数据的分析与检测 | 深度分析(关联分析、回归分析) |
硬件平台 | 高端服务器 | 集群平台 |
大数据处理系统应该具有的重要特性:
- 高度可扩展性
- 高性能
- 高度容错
- 支持异构环境
- 较短的分析延迟
- 易用且开放的接口
- 较低成本
- 向下兼容性