第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF)
第二范式:2NF是对记录的唯一性约束,要求记录有唯一标识,即实体的惟一性。
第三范式:3NF是对字段冗余性的约束,它要求字段没有冗余。没有冗余的数据库设计可以做到。
表的范式,首先是符合1NF,才能满足2NF,进一步满足3NF。
1NF:即表的列具有原子性,不可再分割,即列的信息,不能分割。只要是关系型数据库,就自动满足1NF。
2NF:表中的记录是唯一的,就满足2NF,通常我们设计一个主键来实现。
3NF:即表中不要有冗余数据,就是说,表的信息,如果能够被推导出来,就不应该单独设计一个字段来存放(在某些情况下,要考虑效率问题,可以考虑反三范式。)