ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

添加Default约束和数据完整性约束

2022-03-28 14:36:24  阅读:154  来源: 互联网

标签:数据完整性 自定义 记录 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规范,来保证数据完整性

  1. 不执行任何操作:更新和删除操作被禁止
  2. 级联:同时被更新或删除
  3. 设置NULL:被设置为NULL
  4. 设置默认值:被设置为该列默认值

标签:数据完整性,自定义,记录,Default,数据库,约束,完整性
来源: https://www.cnblogs.com/mpnt/p/16066876.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有