数据库的三大范式与三大完整性

因为数据库中实体之间的联系其实说穿了是数据,数值之间的联系,而这个关系如何定义就会严格影响到以后我们操作数据的效率和·准确性。

于是有了很多范式,其中三大范式最为重要。

在满足第三范式前必须满足第二范式,满足第二范式前必须先满足第一范式。


第一范式(INF)所有属性是不可分割的原子值

例如:成绩这一列的某一行:70,80,90

因为内容是可以分割的,所以不满足第一范式

第二范式(2NF)非主属性非部分依赖于主关键字

直白的说就是:所有数据必须都要依赖于主键。

第三范式(3NF)要求一个数据库表中不包含已在其他表中包含的非主关键字信息


关系型数据库的三大完整性:

(1)实体完整性:指实体属性中的标识属性不能为空,不能重复,该约束通过指定的主键实现,

其约束有系统强制实施。

(2)参照完整性:实体中的外键可以为空,但不能为错,

比如学生管理系统中,班级还没有确定,学员就来报道了,那就只好不分班了,

却不能随意写一个,更不能谢一个不存在的。

另外,不能删除有外键约束的属性。

(3)用户定义完整性:设计数据库的时候用户定义了某一行不能为空,

或者性别中只能是男或者女。

该约束通过在指定列添加default,check,unique

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