1 每个字段不可再分
2 非关键字段完全依赖于任意一组候选关键字,不存在部分函数依赖
备注:
2.1候选关键字:能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。主关键字是被挑选出来,作表的行的惟一标识的候选关键字。
2.2 部分函数依赖:指的是存在组合关键字中的某些字段决定非关键字段的情况
3 在第二范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。
备注:
3.1传递函数依赖:A->B->C,则表示C依赖A
总结:三个范式在实际应用中只是参考,如果完全依赖会产生较多的表,这样在查询时效率不高,编写的sql也会很复杂。可以根据需要适当的数据冗余。
在建实体表之间的关系表时,要考虑对应的一对一和多对多关系,再决定是否使用,不用时可以使用外键。
相关文献参考:数据库三大范式详解