首页 > 编程知识 正文

关系数据库的三个完整性是什么,关系数据库中,数据的完整性包含哪几类

时间:2023-05-04 06:19:12 阅读:185612 作者:3411

关系模型有三个完整性约束:域完整性、实体完整性和参照完整性。

1.域(列)完整性

这意味着用户定义的表字段的完整性

通常是指数据的有效性。 这包括字段值域、字段类型和字段有效规则等约束条件,由确定关系结构时定义的字段属性决定。 限制数据类型、默认值、规则、约束和是否可以为空,以防止域完整性输入无效值。 例如,属性的值必须在某个范围内,缺省值为0,这些都是域(列)完整性或用户定义的完整性。

简单地说,是表字段的约束。

2.实体(行)完整性

实体完整性是关系中记录的唯一性,也就是对主键的约束。 确切地说,图元完整性意味着关系中的主属性值不能为Null且具有相同的值。 定义表中的所有行,使其可以唯一标识。 通常,可以使用主键、唯一索引unique关键字、identity属性(例如我们的id号)来唯一标识人。

简单地说,表中的唯一id列不能为空。 主键不能为null或重复值。 如果多个字段一起构成主键,则这些字段不能为空。

3.参照(引用)完整性

现实世界的实体之间往往存在着某种联系,在关系模型中实体与实体所看到的联系都是用关系来描述的,存在着关系之间的引用。 引用完整性是关系数据库中建立关联的数据表之间的数据引用约束,即外键约束。

确切地说,引用完整性是关系中的外键必须是另一个关系的主键的有效值或为空。 引用完整性维护表之间数据的有效性和完整性。 通常,也可以通过将外键与另一个表的主键相关联来创建两个表的触发器以保持参照完整性。

简单地说,是主键的关系。 例如:

这两个表之间有对属性的引用。 也就是说,“课程”表引用了“课程类别”表的主键“类型ID”。 根据参考完整性规则,“过程”表中每行的“类型id”属性只能具有以下两种类型的值:

1 )、空值。 这个课程表示还没有决定类别。

2 )非空值。 在这种情况下,值必须与“课程类别”表中的“类型ID”值相同。 这表明本课程属于该类别。

引用完整性规则不能引用不存在的实体。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。