规范化理论
1NF:存在非主属性对码的部分函数依赖
2NF:消除非主属性对码的部分函数依赖
3NF:消除非主属性对码的传递函数依赖
BCNF:消除了主属性对码的传递函数依赖
因为A1 -> A2,A1 -> A3,此时非主属性A2、A3依赖于候选码A1A5的一部分A1,所以存在非主属性对码的部分函数依赖,不满足2NF。
将依赖分解为2NF:{A1,A2,A3},{A1,A5,A6},{A1,A3,A4}
将依赖分解为3NF:去掉2NF的传递函数依赖,把他们分解为两个依赖:{A1,A2,A3},{A1,A5,A6},{A1,A3},{A3,A4}
函数依赖练习题
闭包:从F依赖集中能推导出的依赖关系。
关系模式
左外连接
右外连接
全外连接
数据库安全
- 视图:提供查询数据的操作,具有一定安全机制,但不能进行数据更新
- 触发器:可作为数据更新机制,但无法避免数据库的关系模式被第三方所获取,不安全
- 存储过程:可以提供给用户程序来调用,具体更新过程通过代码调用,避免了向第三方提供系统表结构,体现了数据库的安全机制
数据备份与恢复
- 静态转储:转储期间不允许对数据库进行任何存取操作
- 动态转储:转储期间允许对数据库进行存取操作
- 全局转储:每次转储全部数据库
- 增量转储:每次只转储上次转储后更新过的数据
分布式数据库
全局外模式: 对分布式数据库的最高层的抽象
全局概念模式: 分布式数据库的整体抽象,包含了系统中全部数据的特性和逻辑结构,描述分布数据库全局数据的逻辑结构,是分布式数据库的全局概念视图。
分片模式: 描述全局数据逻辑划分的视图,是全局数据的逻辑结构根据条件的划分;每一个逻辑划分就是一个片段或分片
分配(分布)模式: 描述局部逻辑的局部物理结构,是划分后的片段的物理分配视图;是全局概念层的内容
局部概念层: 由局部概念模式描述,是全局 概念模式的子集,全局概念模式经逻辑划分后被分配在各局部地址
两阶段提交:准备(表决)阶段、提交(执行)阶段
- 分片透明:用户不必关心关系数据是如何分片的,即关系如何分片对用户是透明的
- 复制透明:用户不关心数据库在网络中各个节点的复制情况
- 位置透明:用户不必知道所操作的数据放在何处
- 逻辑透明:是最低层次的透明,用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操作语言