1)第一范式(1NF):每个属性不可分割。
2)第二范式(2NF):满足第一范式,而且消除非主属性对候选键的部分依赖。即非主属性完全依赖于候选键。
3)第三范式(3NF):满足第二范式,而且消除非主属性对候选键的传递依赖。
4)巴斯-科德范式(BCNF)
函数依赖:给定一个X一定能查找到一个Y,就是Y依赖于X,写作X→Y。
如X(学号),Y(姓名),则Y依赖于X,即姓名依赖于学号。
完全函数依赖:在一张表中,如X→Y,且对于X的任何一个真子集(假如属性组X包含超过一个属性的话)X'→Y不成立,那么我们称Y对于X完全函数依赖。
如X(学号、课程),Y(分数),则Y完全依赖于X。
部分函数依赖:假如Y函数依赖于X,但同时Y并不完全函数依赖于X,那么我们就称Y部分函数依赖于X,记做:X→Y,箭头上写个P。
如X(学号、课程),Y(系名),则Y部分依赖于X。
传递函数依赖:假如Z函数依赖于Y,且Y函数依赖于X,且Y不包含于X,X不函数依赖于Y,那么我们就称Z传递函数依赖于X,记做:X→Z,箭头上写个T。
如X(学号),Y(系名),Z(系主任),则Z传递依赖于X。
候选键或候选码:若关系中的一个属性或属性组能够唯一的标识一个元组,且它的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。候选码是最小超码。
码:能唯一标识实体的属性,它是整个实体集的性质,而不是单个实体的性质。
超码:一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一的标识一个实体。如果K是一个超码,那么K的任意超集也是超码。
候选码:若关系中的一个属性或属性组能够唯一的标识一个元组,且它的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。候选码是最小超码。
主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。选择那些从不或极少变化的属性作为主码。取一个关系中的某个候选码,定义为主码并使用。
网友评论