0%

SQL | 数据完整性

数据完整性约束

数据完整性是指存储在数据库中的所有数据值均正确的状态。

  • 防止数据库中存在不符合语义规定的数据
  • 防止因错误信息的输入输出造成无效操作或错误信息

数据完整性约束分为4类:

  • 实体完整性
  • 域完整性
  • 参照完整性
  • 用户定义的完整性

实体完整性

规定表的每一行在表中是唯一的实体

使用主键约束且主键不能为空

  • 在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字

域完整性

表中的列必须满足某种特定的数据类型约束

通常指数据的有效性,包括

  • 字段的值域

  • 字段的类型

  • 字段的有效规则

  • ……

  • 由确定关系结构时所定义的字段的属性决定

  • 域完整性可以确保不会输入无效的值

参照完整性

两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散

  • 不允许关系引用不存在的元组
  • 外键或是实际存在的元组,或是为空

用户定义的完整性

在具体应用所涉及的数据必须满足的语义要求

约束

约束是表级的强制规定

not null

not null是列级约束,只能作用在列上

unique

唯一约束

  • 唯一约束允许多个空值

primary key

主键约束

  • 一个表只能有一个主键
  • 主键非空

foreign key

外键约束

check

检查约束

参考资料

Thank you for your approval.

欢迎关注我的其它发布渠道