多值依赖:
设R(u)是属性集u上的一个关系模式。x,y,z是u的子集,并且z=u-x-y。关系模式R(u)中的多值依赖x->->y成立,当且仅当对R(u)的任一关系r,给定的一对(x,z)值,有一组y的值,这组值仅仅决定于x的值而与z值无关。
简单来说就是x可以对应多个y,而函数是x对应一个y,多值依赖不是函数。
范式:
第二范式:若R《-1NF,且每一个非主属性完全函数依赖于码,则R《-2NF。
第三范式:关系模式R<U,F>中若不存在这样的码x,属性组y及非主属性z(z《/-y)使得x->y,y->z成立,y-/>x,则称R<U,F>《-3NF
BC范式:关系模式R<U,F>《-1NF。若x->y且y《/-x时x必含有码,则R<U,F>《-BCNF。也就是说,关系模式R<U,F>中,每一个决定因素都包含码。
即是满足BCNF的关系模式有:
注意:
在数据库中,若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
若一个关系有多个候选码(即是有多个属性组),则选定其中一个(一个候选码可以包含一组属性)为主码(Primary key)。