添加Default约束和数据完整性约束
作者:互联网
默认值约束
当表中的某列必须有值,并且当使用INSERT命令向数据表插入记录数据时,若在用户没有明确指定该列的值,但该列也需要一个明确的值的情况下,就需要使用DEFAULT约束。SQL Server将根据用户的插入数据,自动维护域完整性。
Alter Table Table_name
Add Constraint Constraint_name
Default DefaultValues For column_name
数据完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证。
根据数据内容不正确性将数据完整性分为4类。
- 数据记录不唯一:实体完整性
- 数据记录内容不正确:域完整性
- 数据记录内容不一致:引用完整性
- 数据记录内容不符合要求:用户自定义完整性
实体完整性
实体完整性将记录定义为表中唯一实体,即不能重复。在数据库中实现实体完整性的方法主要有以下几种:
- UNIQUE(唯一性)约束
- PRIMARY KEY(主键)约束
- IDENTITY(标识列)属性
域完整性
域完整性是要求表中列的值必须满足特定的约束和规则。在数据库中实现域完整性方法是通过限制数据类型、格式和可能的取值范围来实现的。
数据类型的取值范围是通过自定义数据类型实现的,格式是通过CHECK(检查)约束和规则来实现的;
而取值范围是通过FOREIGN KEY(外键)约束、CHECK(检查)约束、DEFAULT(默认值)约束、NOT NULL(非空)定义和规则来实现的。
引用完整性
引用完整性也就是参照完整性,引用完整性确保在数据库中多个数据表中的数据库一致,引用完整性通过外键将引用表和被引用表关联起来。确保键值在所有表中都必须一致,因此不能引用不存在值(即指向不存在的行)。相关表直接的数据一致性要求如下:
- 有父必有子:子表中的每一个记录在对应的主表中必须有一个父记录。
- 插子必有父:在父表中修改记录时,如果修改了主关键字的值,则在子表中相关记录的外部关键字值必须同样修改。
- 父删子必删:在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。
用户自定义完整性
用户根据系统设计需要,可以在SQL Server中定义不属于上述标准类别的特定规则的用户完整性定义。
所有的完整性类型都支持用户自定义完整性。
在对象资源管理器中,外键关系可以设置INSERT和UPDATE规范,来保证数据完整性
- 不执行任何操作:更新和删除操作被禁止
- 级联:同时被更新或删除
- 设置NULL:被设置为NULL
- 设置默认值:被设置为该列默认值
标签:数据完整性,自定义,记录,Default,数据库,约束,完整性 来源: https://www.cnblogs.com/mpnt/p/16066876.html