请哪位大虾为我解释一下什么叫三个范试,尽量以最易懂的语言!!!!
谢谢!!
---------------------------------------------------------------
那里是3个范式,
我只听说过“我党的两个凡是”和“数据库7级范式”------:_)
低级范式:1NF 2NF 3NF BCNF
高级范式:4NF 5NF DK/NF
工程上常用的是 1NF 2NF 3NF 这3级范式
范式的定义是嵌套的,都是在前一范式的基础上,消除某种不良关系得来的
设表有 A B C 3列
第一范式(1NF) 你在数据库里能建的表都符合第一范式。
第二范式 (2NF) 在第一范式的基础上,没有以下情况:
明明A列就是主键,你偏要用A+B列作主键,而B也可以决定C的值
例:A=你的姓名 B=你的手机号 C=你这个月的电话费 主键为A+B
这就不符合2NF但符合2NF
第三范式 (3NF) 在第二范式的基础上,没有以下情况:
A列是主键,可以决定B C的值,,而B也可以决定C的值
例:A=你的姓名 B=你的手机型号 C=这个型号手机的价格 主键为A
这就不符合3NF但符合2NF
不精确的说,如果你建的表不符合低级范式,那一定是你把两件或多件事的
描述写在一个表里了,就是“表中有表”实际上,如果你的思维不是特别混乱的话,想建出不符合低级范式的表都难。
但有时为了性能的需要,要把表进行反规范化,一般最后的表 2NF,3NF,BCNF
的都有。