一、  数据完整性也就是在创建表的时候进行规范的,而不能等到输入数据的时候再考虑数据的完整性。

  数据完整性=可靠性+准确性

SQLServer提供了以下四种约束

1. 实体完整性:  数据行不能存在重复

2. 域完整性:  实现了对输入到特定列的数值的限制

3. 引用完整性

(1)要求子表中的相关项必须在主表中存在

(2) 如果建立了主表和子表的关系,则:

      a.子表中的相关项目的数据,在主表中必须存在

不能更改主表中的值而导致子表中的记录孤立

子表存在与主表对应的记录,不能从主表中删除该行

删除主表前,先删子表

 4.自定义完整性

     实际上,SQL Server创建表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)保证的过程。

  创建表包括选择字段名称、数据类型、定义是否为空、设置默认值、主键和外键关系、检查约束等。表中没有合适的列作为主键,可以创建标识列。

三、SQL Server中存在约束:

  约束的目的:确保表中数据的完整型

常用的约束类型:

  主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空

  唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。

  检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束

  默认约束(Default Constraint):某列的默认值,如我们的地址,性别默认为“北京市XXX”

  外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列


某列不允许为空!


  四、 创建数据库关系图

      有子表拖动到主表中:如图所示:

SQL Server 数据完整性 sql server实体完整性_主键