完整性约束提供一种手段保证当授权用户对数据库修改时不会破坏数据的一致性因此,完整性约束防止的是对数据的破坏关系模型的完整性规则是对关系的某种约束条件关系的完整性共分为三类:实体完整性、引用完整性和用户定义完整性,我来为大家讲解一下关于关系型数据库的四大特性?跟着小编一起来看一看吧!

关系型数据库的四大特性(关系型数据库中的完整性约束)

关系型数据库的四大特性

完整性约束提供一种手段保证当授权用户对数据库修改时不会破坏数据的一致性。因此,完整性约束防止的是对数据的破坏。关系模型的完整性规则是对关系的某种约束条件。关系的完整性共分为三类:实体完整性、引用完整性和用户定义完整性

【1】实体完整性

实体完整性规则规定基本关系的所有主关键字对应的主属性都不能取空值,例如,学生选课的关系选课(学号,课程号,成绩)中,学号和课程号共同组成为主关键字,则学号和课程号两个属性都不能为空。因为没有学号的成绩或没有课程号的成绩都是不存在的。

对于实体完整性,有如下规则:

1、实体完整性规则针对基本关系。一个基本关系表通常对应一个实体集,例如,学生关系对应学 生集合。

2、现实世界中的实体是可以区分的,它们具有一种唯一性质的标识。例如,学生的学号,教师的职工号等。

在关系模型中,主关键字作为唯一的标识,且不能为空

【2】引用完整性

在现实生活中的实体之间总是存在着某种联系,在关系模型中实体与实体之间的联系都是用关系来描述的,这样就存在关系与关系之间的引用。例如,有学生实体和班级两个实体集合:

学生(学号,姓名,性别,年龄,班级编号)其中学号为主码

班级(班级编号,学生数量,班主任姓名),其中班级编号为主码

这两个关系之间存在着属性的引用,即学生关系引用了班级关系的主关键字“班级编号”,显然,学生关系中的“班级编号”值必须是在班级表中确实存在的班级的班级编号,即班级关系中有该班级的记录。这说明学生关系中某个属性的取值要参照班级关系的属性取值。在这种情况下,"班级编号"不是学生关系的主关键字,但是却是班级关系的主码,则称"班级编号"是学生关系的外关键字

引用完整性就是定义外关键字与主关键字之间的引用规则。如果要删除被引用的对象,那么也要删除引用它的所有对象,或者把引用值设置为空(如果允许的话)。例如,前面的学生和班级关系中,删除某个班级元组之前,必须先删除相应的引用该班级的学生元组。这就是引用完整性

【3】用户定义完整性

用户自定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

例如某个属性必须取唯一值,某个非主属性也不能取空值,某个属性的取值范围在0-100之间等

,