0%

250303-规范化理论

求候选键

  • 找入度为0的属性
  • 如果不满足上面的条件,则尝试便利中间节点(既有入度,也有出度),并入上面的条件,直至该集合能便利所有节点

部分函数依赖

如果候选键是一个合集,且一部分非主属性依赖于候选键的一部分,为部分函数依赖

传递函数依赖

A-> B,B->C 则 A->C

Armstrong 公里

自反率

Y∈X∈U
U={ABC}
X={AB}
Y={A}
则,X-> Y
身份证号与姓名 可以确认姓名,身份证号也可以确认姓名.

增广律

若 Z ∈ U 且 X->Y,则 XZ->YZ

传递率

A-> B,B->C 则 A->C
学号可以推出系号,系号可以推出系名,那么学号可以推出系名

合并规则

如果 X->Y,X->Z 则 X->YZ

伪传递规则

如果 X->Y,WY->Z,则WX->Z

分解规则

如果 X-Y 且 Z ∈ Y,则 X-> Z

范式

第一范式

属性都是不可分的原子值

第二范式

消除非主属性候选键部份依赖

单属性候选键不会出现这类问题,只有候选键可能存在这种可能

完全依赖于主键,不存在部分依赖

学号、课程号、成绩、学分

学号,课程号-> 成绩

课程号-> 学分

没有课程的情况下,无法插入学分信息

如果课程没有人报名,那么没有课程信息

解决办法:将课程号与学分单独提取到一张表

第三范式

消除非主属性候选键传递依赖

学校、身份证号、系号、系名 满足第三范式,因为不存在对非主属性的传递依赖

学号、姓名、系号、系名

学号-> 系号

系号-> 系名

学号-> 系名

其中系名依赖于非主属性系号,所以存在对非主属性的传递依赖,不满足第三范式

解决办法:系号、系名 单独组表

BC范式

完全依赖于候选键

不解决