【精华版】数据库范式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/A_Cute_boy/article/details/71070777

第一范式1NF

1NF (First Normal Form)

如果一个关系模式R的所有属性域都是原子域,那么R属于第一范式。

非主属性部分依赖于码。


Atomic domain 原子域
Domain is atomic if its elements are considered to be indivisible units
Examples of non-atomic domains:
composite attributes
multi-valued attributes


例题:

以下哪些域是原子域?
食品 = { 可乐,薯条,鸡翅,面条,饺子,汤,…… }
套餐 = { (可乐,薯条,鸡翅),(面条,饺子,汤),……}
车票 = { D7727次02车20A号,D7712次08车04A号,…… }
车次 = { D7727次,D7712次,…… }
车厢 = { 02车,08车,…… }
座位 = { 20A号,04A号,…… }
答案
食品,车次,车厢,座位


第二范式2NF

2NF定义:
符合1NF,并且非主属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖于“主关键字的部分属性”。
非主属性:不包含在任何一个候选码中的属性称为非主属性。
主属性:包含在任何一个候选码中的属性称为主属性。

第三范式3NF

3NF定义:
如果 F+ 里面的所有非平凡函数依赖 a->b (且a与b相交不为空)的 a 都是 R 的超码,或者 b 的每个属性都包含在一个候选码里面,那么 R 属于 3NF
注意: b的不同属性可以包含在不同的候选码里面



BCNF

BCNF定义:
如果 F+ 里面的所有非平凡函数依赖a->b 的 a 都是 R 的超码,那么 R 属于 BCNF 

猜你喜欢

转载自blog.csdn.net/A_Cute_boy/article/details/71070777