天天看点

数据的完整性约束

在数据库中对每一列对应的输入或修改的数据的内容定义一些约束条件,如果达不到这个约束条件则无法写入到数据库中。

数据完整性包含三个完整性,实体完整性,域完整性,引用完整性。

1.实体完整性

主键约束:用来识别某条数据在该表中的具有唯一性的用途,该列的值可以表示该行在该表中的位置或者表示是否存在该行,要求输入的数据唯一,并且非空。

唯一约束:某些列需要保证输入到的每条数据不能重复,只能是唯一的,允许一次为空。

标识列:自动编号,不能编辑。

2.域完整性

数据类型限制:对于表内属性的数据的数据类型限制,非法类型输入会报错,并且不能写入数据库。

检查约束:对其输入或修改的数据进行范围和格式的约束,不能超过范围或者非法格式。

非空约束:限制输入或修改的数据不能为空。

默认值:是否对其数据产生默认值。

3.引用完整性

外键约束: B表的外键对应A表的主键,删除或者修改A表时,必须考虑B中是否有(删除或修改的)主键数据的存在。外键约束的值的产生是在主键已有数据的基础上而来的,外键约束的字段的值无法凭空捏造。

并且约束有先后性,如果表中字段对于在约束生效前出现了超过约束条件的值,如果不删除则无法添加此约束。如果约束在产生超出约束范围的值则可以阻挡超出约束范围的值加入表中。

以上要添加在列字段中基本都是设置为字段约束

另外每列字段默认是允许为空,所以修改约束时不是添加非空约束而是修改非空约束。