数据库范式

大学的时候学过,现在在拿出来理理。

一般数据库分为三个范式:

1)第一范式(1NF):属性不可分割,属性就是表中的字段,表中的字段不能被分割成多个字段,否则就是可以分割的了。所以字段都是基本类型,不能是集合,数组等。

2)第二范式(2NF):满足1NF,要有主键,要求其他字段都依赖主键。为什么要有主键?没有主键就没有唯一性,没有唯一性就无法找到这条记录,所以要有主键,主键具有唯一性。

3)第三范式(3NF):满足2NF,消除传递依赖,简单理解,就是“消除冗余”。消除冗余比较好理解,就是有关联的几个表中,同一个字段最好只在同一个表中,不能出现在多个表中。


一般前两个范式都能做到,第三范式根据具体情况具体分析。所谓的范式,是用来学习参考的,设计的情况需要根据情况,未必一定遵守,切记。

你可能感兴趣的:(数据库范式)