候选码:集合(元组)中的属性或属性组,能唯一决定集合(元组)(可以子集亦可决定)。
传递依赖 :A->B->C,则C传递依赖A。
函数依赖:字段之间的对应关系。
EG:
(A,B,C,D,E),
其函数依赖关系:F={ABC->DE,BC->D,D->E}。
其候选码为:ABC。
而非BC的原因是:BC为候选码不包括A,元组不完整,而ABC为候选码,决定DE,一共ABCDE与元组相符合。
EG2:
R(S,Y,Z) ,F={Y->Z,XZ->Y}
候选码:XY(吵码) , XZ
3NF
第一范式(1NF): 列原始不可再分;第一行就可再分,第二行不可再分。
数据库 |
文章 | ||
Oracle数据库 | MySQL数据库 | 博客 | 随笔 |
第二范式(2NF):属性完全依赖于主键;(要有主键,且若是联合主键不能存在部分依赖:(S,T)作为主键,S或T不能决定其它属性,否则就是部分依赖)。
第三范式(3NF):非主属性完全依赖于码;(不可存在传递依赖,即将A->B->C,变成两张表:A->B , B->C 可联表查询)。
BC范式(BCNF):在第三范式的基础上,所有的函数依赖中决定因素都包含码,即主属性和非主属性都依赖于码(消除函数依赖和部分依赖)。也就是说2、3NF消除的是非主属性的部分依赖和传递依赖,BCNF是消除所有(主和非主)属性的部分依赖和传递依赖。