数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form

Posted gccbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form相关的知识,希望对你有一定的参考价值。

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

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

   比如(S#,C#)-> SN ,(S#,C#)-> 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#)



Comments: SN = Student Name, SD = Student Department, T# = the # of teacher





以上是关于数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form的主要内容,如果未能解决你的问题,请参考以下文章

数据库范式1NF 2NF 3NF BCNF(实例)通俗易懂的讲解

数据库中的1NF、2NF、3NF、BCNF、4NF、5NF是怎么回事?

还在为理解关系数据库的三范式而困惑,这篇文章用实例场景带你快速了解1NF 2NF 3NF BCNF的特点和区别

BCNF与3NF之间有啥区别

数据库设计的范式规范

一看就懂的数据库范式介绍(1NF,2NF,3NF,BC NF,4NF,5NF)