因为数据库中实体之间的联系其实说穿了是数据,数值之间的联系,而这个关系如何定义就会严格影响到以后我们操作数据的效率和·准确性。
于是有了很多范式,其中三大范式最为重要。
在满足第三范式前必须满足第二范式,满足第二范式前必须先满足第一范式。
第一范式(INF)所有属性是不可分割的原子值
例如:成绩这一列的某一行:70,80,90
因为内容是可以分割的,所以不满足第一范式
第二范式(2NF)非主属性非部分依赖于主关键字
直白的说就是:所有数据必须都要依赖于主键。
第三范式(3NF)要求一个数据库表中不包含已在其他表中包含的非主关键字信息
关系型数据库的三大完整性:
(1)实体完整性:指实体属性中的标识属性不能为空,不能重复,该约束通过指定的主键实现,
其约束有系统强制实施。
(2)参照完整性:实体中的外键可以为空,但不能为错,
比如学生管理系统中,班级还没有确定,学员就来报道了,那就只好不分班了,
却不能随意写一个,更不能谢一个不存在的。
另外,不能删除有外键约束的属性。
(3)用户定义完整性:设计数据库的时候用户定义了某一行不能为空,
或者性别中只能是男或者女。
该约束通过在指定列添加default,check,unique
原文地址:http://blog.csdn.net/langji1234/article/details/45063321