关系模式,函数依赖,范式
2013-10-13 21:50
357 查看
关系数据库,关系数据库的基本结构是关系模式,比较好的关系模式集合,能有效控制数据库冗余,对数据库进行有效的管理。下面对关系模式的函数依赖,范式和模式设计方法进行分析。
知识点:关系模式,函数依赖,范式
关系模式
关系实质上是一张二维表,表的每一行数据为一个元组,每一列为一个属性。
关系模式就是对关系的描述。记做R(U)或R(U,F)。
例如:关系模式R(S#,C#,CName,Name);
其属性分别表示学号,课程号,课程名,任课教师姓名
函数依赖
表达了属性间的关系
定义:有属性集U,X,Y是U的子集,其关系模式R(U),X→
Y
分类:
非平凡的函数依赖
Y不是X子集;X→
Y
平凡的函数依赖
Y是X子集;X→
Y
按性质分:
完全函数依赖
X`是X真子集,X→
Y,但X`!→
Y,Y完全依赖X
部分函数依赖
X`是X真子集,X→
Y,X`→
Y,Y部分依赖X
传递依赖
X→
Y,Y→Z,则X→
Z
码(键)
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(Foreign
Key):在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说就是外键
函数依赖的公理系统(Armstrong公理系统)
推理规则:从已知的FD,推导出另外的一些FD
A1(自反性):若Y⊆X⊆U,则X→
Y
A2(增广性):若X→
Y,且Z⊆U,则XZ→YZ
A3(传递性):同传递依赖
由A1,A2,A3推导规则,以下规则都有上边三种规则通过组合变化导出,所以掌握了这三种,其它的规则不需要去记。
A4(合并性):若X→Y,X→Z,则X→YZ;
A5(分解性):若X→Y,Z→Y,则X→Z
A6(伪传递性):若X→Y,WY→Z,则WX→Z
A7(复合型):若X→Y,W→Z,则XW→YZ
A8(通用一致性):X→Y,W→Z,则
X∪(W-Y)→YZ
范式
范式用来衡量关系模式的好坏
综合范式的要求,最终数据库的关系模式只存在非平凡函数依赖和完全函数依赖
主属性和非主属性
不包含在任何一个候选码中的属性称为非主属性。
非主属性是相对与主属性来定义的,是指关系中包含任何一个候选码中的属性。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。
知识点:关系模式,函数依赖,范式
关系模式
关系实质上是一张二维表,表的每一行数据为一个元组,每一列为一个属性。
关系模式就是对关系的描述。记做R(U)或R(U,F)。
例如:关系模式R(S#,C#,CName,Name);
其属性分别表示学号,课程号,课程名,任课教师姓名
函数依赖
表达了属性间的关系
定义:有属性集U,X,Y是U的子集,其关系模式R(U),X→
Y
分类:
非平凡的函数依赖
Y不是X子集;X→
Y
平凡的函数依赖
Y是X子集;X→
Y
按性质分:
完全函数依赖
X`是X真子集,X→
Y,但X`!→
Y,Y完全依赖X
部分函数依赖
X`是X真子集,X→
Y,X`→
Y,Y部分依赖X
传递依赖
X→
Y,Y→Z,则X→
Z
码(键)
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(Foreign
Key):在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说就是外键
函数依赖的公理系统(Armstrong公理系统)
推理规则:从已知的FD,推导出另外的一些FD
A1(自反性):若Y⊆X⊆U,则X→
Y
A2(增广性):若X→
Y,且Z⊆U,则XZ→YZ
A3(传递性):同传递依赖
由A1,A2,A3推导规则,以下规则都有上边三种规则通过组合变化导出,所以掌握了这三种,其它的规则不需要去记。
A4(合并性):若X→Y,X→Z,则X→YZ;
A5(分解性):若X→Y,Z→Y,则X→Z
A6(伪传递性):若X→Y,WY→Z,则WX→Z
A7(复合型):若X→Y,W→Z,则XW→YZ
A8(通用一致性):X→Y,W→Z,则
X∪(W-Y)→YZ
范式
范式用来衡量关系模式的好坏
级别 | 特点 | 无损 | 保持FD |
1NF | 属性值是原子值,不可再分 | ||
2NF | 消除非主属性对键的部分函数依赖 | ok | ok |
3NF | 消除非主属性对键的传递函数依赖 | ok | ok |
主属性和非主属性
不包含在任何一个候选码中的属性称为非主属性。
非主属性是相对与主属性来定义的,是指关系中包含任何一个候选码中的属性。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。
相关文章推荐
- 关系数据库理论:范式判断、函数依赖、无损分解、正则覆盖
- 数据库 - 关系模式函数依赖
- 函数依赖与关系模式分解的一些技巧整理
- 函数依赖与关系模式分解的一些技巧整理
- 关系模式的分解与函数依赖模式的判断
- 关系型数据库、范式、函数依赖
- 函数依赖及范式
- 关系模式的范式
- 和依赖的斗争——谈谈使用模式前后的依赖关系变化
- 关系模式及其范式
- Activity的生命周期函数、onActivityResult、intent和启动模式的调用关系
- 和依赖的斗争——谈谈使用模式前后的依赖关系变化
- 范式 函数依赖
- 设计模式之UML(一)类图以及类间关系(泛化 、实现、依赖、关联、聚合、组合)
- 数据库原理--函数依赖和范式
- 规范化理论-函数依赖-范式-简单粗暴
- 函数依赖、键和范式
- 关系数据库设计基础(函数依赖、无损连接性、保持函数依赖、范式)(转)
- 设计模式六种关系:依赖、关联、聚合、组合、继承和实现
- 和依赖的斗争——谈谈使用模式前后的依赖关系变化