Maison  >  Article  >  base de données  >  数据库范式小结1NF2NFBCNF3NF4NFDBnormalform

数据库范式小结1NF2NFBCNF3NF4NFDBnormalform

WBOY
WBOYoriginal
2016-06-07 15:55:281702parcourir

1. 1NF指关系中的每一个变量不可再分 2. 2NF指消除了非主属性对码(candidate key)的部分依赖的1NF 例如(S#,C#)p- SN ,(S#,C#)p- SD ,S#-SD那么SD部分依赖与候选键,不是2NF,只能是1NF;分解为SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF 3. BCNF指消

1. 1NF指关系中的每一个变量不可再分

2. 2NF指消除了非主属性对码(candidate key)的部分依赖的1NF

例如(S#,C#)p-> SN ,(S#,C#)p-> SD ,S#->SD那么SD部分依赖与候选键,不是2NF,只能是1NF;分解为SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF

3. BCNF指消除了主属性对码(candidate key)的部分依赖的2NF

例如 (S#,C#)->T#, T#->C#不是BCNF,因为candidate 是 (S#,T#),(S#,C#),主属性C#部分依赖于(S#,T#),所以不是BCNF;可以分解为:

(S#,T#),(T#,C#)两张表

4. 3NF指消除了传递依赖的BCNF

例如 S#->SD, SD->DEAN不是3NF,因为DEAN传递依赖于S#,可以分解为STUDENT(S#,SN,SD)和DEPT(SD,DEAN)

4. 4NF指消除了多值依赖的3NF

例如:

他的原来的主键为(C#,T#,B#),分解为(C#,T#)和(C#,B#)

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:数据库索引,B+树Article suivant:批量更新