第二章 关系数据库(二)

第二节 数据完整性规则

数据完整性是指数据的正确性和有效性。关系的完整性规则是确保关系的值必须满足的约束条件。关系模型有3种完整性约束,即实体完整性,参照完整性和用户定义完整性。其中实体完整性和参照完整性是所有关系数据库都必须满足的完整性规则,也称为关系完整性约束。关系完整性规则用于保证关系的主键与外键的取值必须是正确的和有效的。用户定义完整性是用户应用环境中需要遵循的特定约束条件,体现用户应用环境中特殊的业务规则。
1.实体完整性
主键的值必须是唯一的和确定的,才能有效地标识一个元组。实体完整性是指主键不能取空值。因为空值不是0,也不是空字符串,是不确定值。
在关系数据库系统中,一旦定义了主键和实体完整性,DBMS将会自动地维护实体完整性规则。当向表中插入一行数据时,若主键为空值或者重复值,则系统将拒绝接受所插入的错误数据,并发出错误警告。
2.参照完整性
1.参照完整性的定义
参照完整性是指外键的值必须是被参照表主键的有效值,或者是“空值”。
如果外键存在一个值,则这个值必须是被参照表主键的有效值。换句话说,外键可以没有值,但不允许是一个无效值。当两个表之间设置参照完整性约束时,DBMS将自动拒绝执行违反参照完整性的操作
2.参照完整性的两个选项
某些DBMS系统还提供了两个参照完整性的选项,即“级联更新相关字段”和“级联删除相关记录”,用于处理在参照完整性约束下,允许删除(或更新)父表中记录的特殊要求。
◇级联删除相关记录 选项
这个选项的功能称为级联删除。当删除父表中的一个记录(一行)时,将同时删除子表中与被删除记录主键值匹配的所有行。
◇级联更新相关字段选项
这个想象的功能称为级联更新。当更新父表中某个主键值时,将同时更新子表中与这个主键值对应的所有外键值。
3.用户定义完整性
所有关系数据库都应该支持完整性和参照完整性,这是关系数据库必须满足的条件。除此之外,许多数据库系统为了满足各种应用环境的特殊要求,还提供多种用户定义完整性功能。用户定义完整性是针对某一个特定数据库的约束条件。

发布了186 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/G_whang/article/details/105445553