mssql sqlserver 约束相关知识介绍


摘要:
下文分享sqlserver约束中的相关知识



一、约束相关定义

在sqlserver数据库中,约束分为列约束和表约束。
约束:在数据库中,使用约束可保证数据库的一致性和数据库的正确性。
约束:约束比触发器 规则 默认值拥有很高的优先级。

—————————————————————
列约束:
对某一列进行约束的设置,例:禁止某一列为相关值 禁止为空值 默认值定义,等都为列约束。
—————————————————————
表约束:
对多列进行设置约束表达式
例:验证两列值相减必须大于等于0



二、按类型对约束的分类

约束分为:
主键(primary key)约束、
外键(foreign key)约束、
唯一(unique)约束、
默认值(default)约束、
表达式(check)约束
—————————————————————-
主键(primary key)约束:
在数据表中,其值可以标识行的唯一性,此值可由一列或两列组合而成。
主键可作为其它表的外键关联值。
外键(foreign key)约束:
外键约束的功能:使两张表中的数据拥有相关的关联性,
被约束的表,关联键必须在主键表拥有相应的值,才可以进行相关的插入和更新操作
通过外键约束可以保持被约束表的数据完整性。
唯一(unique)约束:
唯一约束,用于保证数据表中记录存在唯一性。
表达式(check)约束:
check约束是表级约束,
我们可以通过编写逻辑表达式返回true,来达到约束表中数据的目的
常见约束:两列相减必须大于某一个值
单列值必须大于某一个值



三、约束的优缺点

约束优点:
1.使用约束可保证数据完整性、一致性、唯一性。
2.数据进入数据库时,得到了强验证,不会出现不合规的数据。
约束缺点:
1.使用外键约束后,不利于数据库分库