数据库的完整性是指保护数据库的有效性和正确性,防止数据库中存在不符合语义的、不正确的数据。SQL语言提供了相应的完整性约束机制,以确保将正确的数据保存到数据库中。
完整性约束的类型:
与表相关的约束(表约束与字段约束):唯一约束/主键约束/外键约束/校验约束/非空约束 唯一约束(unique):用于表中的非主键字段,确保字段不会输入重复的值,为其创造唯一索引;唯一键的值可以是NULL,但只允许出现一个NULL值主键约束(primary key):在数据库中通常用一个字段或几个字段的组合值来唯一标识表中记录,这一字段或字段的组合即为主键;一个表中可以设置多个unique约束,但只能设置一个主键;被设置为主键的字段值不能是NULL值;向子表中插入新行或修改其中的外键字段时,字段的值必须在父表中已存在,否则不能执行修改或插入操作外键约束(references):外键字段对应的父表中的字段在父表中必须是主键或唯一键;外键约束可以参照自身表中其它字段;校验约束(check):防止用户向某字段输入非法数值;字段级校验约束只能参照被约束的字段,表级校验约束只能参照此表中的字段,如果校验约束被应用于多个字段时,只能被定于为表约束 域约束断言
Reference
Chen, Y., Jia, B., & He, X. (2020). SQL cong ru men dao jing tong. Beijing: Zhong guo shui li shui dian chu ban she.