数据完整性约束(SQL Server)

本文详细介绍了SQLServer中确保数据完整性的几种约束:主键约束保证表中唯一标识,不允许为空;外键约束建立表间关联,引用其他表的主键或唯一列;唯一约束限制非主键列的重复值;检查约束限制列的输入格式和值范围;默认约束定义列的默认值;非空约束确保列不允许为空值。这些约束在数据库设计中起到至关重要的作用。

1. PRIMARY KEY 主键约束

  • 表中的主键必须满足下列两个条件:
    ① 任意两行都不具有相同的主键值;
    ② 每一行都必须具有一个主键值(即主键列不允许空值)。
  • 一个表只能有一个主键,主键通常定义在表的一列上,也可以使用多个列的组合定义主键(称为组合主键)。在使用多个列作为主键时,上述两个条件必须应用到构成主键的所有列,即所有组合列的值必须是唯一的(但单个列的值可以不唯一),组合列中的每一个列都必须为非空值。
  • 在定义主键约束时, SQL Server 自动为主键列创建一个唯一索引( Unique Index )。该索引可以用来快速数据查询速度。
  • 主键可以在创建表时的某一列中定义,也可以通过表修改语句( ALTER TABLE )在创建表之后再定义。在列定义中把一个列设置为主键称为列级约束,在列定义之后设置主键被称为表级约束。组合主键必须使用表级约束进行定义。
  • 约束也是一种数据库对象,因此同一个数据库的约束名是不允许重复的。定义列级约束时,约束的名称是可以缺省的,这时 SQL Server 自动为它生成一个名称。但在使用 ALTER TABLE 定义表级约束时,必须明确指定约束的名称。

2.FOREIGN KEY 外键约束

  • 通过外键( FOREIGN KEY )来建立和加强两个表数据之间的链接关系。
  • 外键约束可以引用另一表中的主键列,也可以引用另一表中具有 UNIQUE 约束的列,也就是说被参照列的值必须是唯一的(即具有 PRIMARY KEY 或 UNIQUE 约束)和非空的。
  • 外键约束也可以分为列级约束和表级约束。外键约束使用 FOREIGN KEY 指定引用的列,由 REFERENCES 子句指定被引用的表和列。
  • FOREIGN KEY 约束可以引用它自己所在表中的主键或唯一键,这种约束称为自我引用外键约束。当一个表存在自我引用时,必
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值