什么是关系完整性约束?其主要包括那些内容?

什么是关系完整性约束?其主要包括那些内容?

关系完整性约束是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。

完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。

1、域完整性是保证数据库字段取值的合理性。

属性值应是域中的值,这是关系模式规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。域完整性约束(domain Integrity constrains)是最简单、最基本的约束。在当今的关系DBMS中,一般都有域完整性约束检查功能。

2、用户定义版

实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。用户定义完整性(user defined integrity)则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。

这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。

扩展资料

数据的完整性

约束是用来确保数据的准确性和一致性。数据的完整性就是对数据的准确性和一致性的一种保证。

数据完整性(Data Integrity)是指数据的精确(Accuracy)和可靠性(Reliability)。

分为以下四类:

1、实体完整性:规定表的每一行在表中是惟一的实体。

2、域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。

3、参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。

4、用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。

参考资料来源:百度百科——关系完整性约束

参考资料来源:百度百科——数据完整性约束

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-19
关系完整性是为保证数据库中数据的正确性和相容性:对关系模型提出的某种约束条件或规则,完整性通常包括实体完整性,参照完整性和用户定义完整性(又称域完整性其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。
1.实体完整性 实体完整性是指关系的主关键字不能取“空值\"。
一个关系对应现实世界中一个实体集。现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键字作为惟一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定\"的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
如表1.1将编号作为主关键字,那么,该列不得有空值,否则无法对应某个具体的职工,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。
2.参照完整性
参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性,它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系R中已经存在的主关键字值。
在学生管理数据库中,如果将选课表作为参照关系,学生表作为被参照关系,以“学号\"作为两个关系进行关联的属性,则“学号\"是学生关系的主关键字,是选课关系的外部关键字。选课关系通过外部关键字“学号’’参照学生关系。
3.用户定义完整性
实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。本回答被提问者和网友采纳