关系数据库模型中的约束


在关系数据库模型中,约束是施加在数据库表上的指导原则或限制,以维护数据的完整性、正确性和一致性。约束可用于强制跨表的 数据链接,验证数据是否唯一,并阻止插入错误数据。数据库需要约束才能可靠且高质量。

关系数据库模型的约束是什么?

在关系数据库模型中,约束是指对数据或数据处理施加的限制。这意味着只能将特定类型的 数据输入到数据库中,或者只能对数据库中的数据执行特定类型的操作。

因此,约束保证了数据库管理系统(关系数据库模型)中的数据准确性。

可以通过约束保证以下内容

数据准确性 - 约束保证数据准确性,确保仅将正确的数据输入到数据库中。例如,约束可以阻止用户将负值输入到仅接受正数的字段中。

数据一致性 - 可以通过使用约束来维护数据库中数据的一致性。这些约束能够确保一个表中的主键值与另一个表中的外键值相对应。

数据完整性 - 约束确保数据库中数据的准确性和完整性。例如,约束可以阻止用户将空值输入到需要值的字段中。

关系数据库模型中的约束类型

  • 域约束

  • 键约束

  • 实体完整性约束

  • 参照完整性约束

  • 元组唯一性约束

域约束

在数据库表中,域约束是指定特定属性或字段的可接受值的准则。这些约束保证数据一致性,并有助于防止将不准确或不一致的数据输入到数据库中。以下是关系数据库模型中域约束的一些示例 -

  • 数据类型约束 - 这些约束定义可以存储在列中的数据类型。创建为 VARCHAR 的列可以采用字符串值,但指定为 INTEGER 的列只能接受整数值。

  • 长度约束 - 这些约束定义可以存储在列中的最大数据量。例如,定义为 VARCHAR(10) 的列只能采用长度不超过 10 个字符的字符串。

  • 范围约束 - 范围约束指定列的允许值范围。例如,指定为 DECIMAL(5,2) 的列只能采用长度不超过 5 位(包括 2 位小数)的小数值。

  • 可空性约束 - 可空性约束是关于列是否可以接受 NULL 值的约束。例如,具有 NOT NULL 定义的列不能采用 NULL 值。

  • 唯一约束 - 唯一约束是要求列或列组中存在唯一值的约束。例如,具有 UNIQUE 定义的列不允许重复值。

  • 检查约束 - 数据检查约束:这些约束指定必须对存储在列中的任何数据都成立的要求。例如,具有定义 CHECK (age > 0) 的列只能接受大于零的年龄。

  • 默认约束 - 默认约束:默认约束在未提供值的情况下自动为列分配值。例如,如果未指定其他值,则具有 DEFAULT 值为 0 的列将具有 0 作为其值。

键约束

键约束是关系数据库模型用于确保数据库中数据准确性和一致性的规则。它们定义了表中一个或多个列的值如何与其他表中的值相关联,从而确保数据保持正确。

在关系数据库模型中,有几种键约束类型,包括 -

  • 主键约束 - 主键约束是数据库中每个记录的唯一标识符。它确保每个数据库条目都有一个唯一、不同的值 - 或一对值 - 作为其识别方式,并且不能为 null。

  • 外键约束 - 外键约束是对另一个表中主键的引用。它确保一个表中列或列组的值与另一个表中的主键列相对应。

  • 唯一约束 - 在数据库中,唯一约束确保列或列组中没有两个值相同。

实体完整性约束

数据库管理系统使用实体完整性约束 (EIC) 来强制规则,以确保表的 主键是唯一的且不为 null。EIC 用于防止创建重复或不完整条目,从而维护数据库中数据的一致性和完整性。

关系数据库中表中的每个条目都由一个或多个称为主键的字段唯一标识。EIC 确保每行的主键值是唯一的且不为 null。例如,考虑“员工”表,它具有“员工ID”和“姓名”列。该表的主键是“员工ID”列。此表上的 EIC 将确保每行的“员工ID”值是唯一的且不为 null。

如果尝试插入具有重复或空“员工ID”的条目,数据库管理系统将拒绝插入并生成错误。这确保了表中数据的正确性和一致性。

EIC 是数据库架构的重要组成部分,有助于保证数据库中包含的数据的准确性和可靠性。

参照完整性约束

数据库管理系统将应用参照完整性约束 (RIC) 以维护表之间关系的一致性和完整性。RIC 通过防止创建不存在的条目之间的链接或删除在其他表中具有相关条目的记录,从而确保数据库中的数据始终保持一致。

在关系数据库中,通过使用外键创建表之间的链接。一个表中用作外键以引用另一个表的主键的列或列组。RIC 确保不存在引用错误,并且这些关系是有效的。

例如,考虑“订单”和“客户”表。“订单”数据集中的外键列“客户ID”对应于“客户”数据库中的主键列。此关系上的 RIC 要求“订单”数据库中“客户ID”列中的每个值都存在于“客户”表的主键列中。

如果尝试将记录插入到“订单”表中,并且“客户ID”值为不存在的值,则数据库管理系统将拒绝插入并向用户发出错误。

类似地,如果从“客户”表中删除了记录并且在“订单”表中存在链接的条目,则数据库管理系统将要么阻止删除,要么级联删除,以确保参照完整性。

总的来说,RIC 是数据库架构的重要组成部分,有助于保证数据库中包含的数据在一段时间内保持正确和一致。

元组唯一性约束

数据库管理系统使用称为元组唯一性约束 (TUC) 的约束来确保表中每个条目或元组都是唯一的。与仅对特定列或列组强制唯一性的实体完整性约束 (EIC) 不同,TUC 对整行或元组强制唯一性。

因此,TUC 确保表中没有两行在所有列中具有相同的值。即使各个列值不唯一,这在必须避免生成重复条目时也很有用。

例如,考虑“销售”表,它具有“交易ID”、“日期”、“客户ID”和“金额”列。即使各个列值可以重复,此表上的 TUC 也将确保没有两行在所有四个列中具有相同的值。

如果尝试插入一行,并且其四个列中的每个值都与现有条目相同,则数据库管理系统将拒绝插入并生成错误。这确保了表中数据的唯一性和准确性。

TUCs(唯一性约束)可能是一种有助于确保数据正确性和一致性的有用工具,尤其是在避免生成重复条目至关重要的情况下。

结论

约束是每个数据库管理系统的重要组成部分,创建和维护高质量的数据库需要掌握如何有效地应用它们。为了保证数据的正确性、一致性和完整性,关系数据库模型中的约束对数据应用规则。它们阻止添加、更改或删除不正确或不完整的数据。EICs、RICs、TUCs和检查约束是几种不同的约束类型。构建和维护高质量的数据库,以支持明智的业务决策,需要约束。

更新于: 2023年4月26日

浏览量 15K+

开启你的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.