您的位置:首页 > 数据库

sql中表达完整性约束的机制主要有哪几种?

2017-04-03 21:38 260 查看

sql中表达完整性约束的机制主要有哪几种?

* @ sunRainAmazing *

实体完整性

参照完整性

用户定义完整性

删除约束

—实体完整性:
又称行完整性,
要求在表中不能存在完全相同的行,
而且每行都要具有一个非空且又不重复的主键值。
—参照完整性:
又称引用完整性,
指表间的规则,作用于有关联的两个或两个以上的表,
通过使用主键和外键(或唯一键)之间的关系,
使表中的键值在相关表中保持一致。
—用户自定义完整性:
指针对某一具体关系数据库的约束条件,
它反映某一具体应用所涉及的数据必须满足的语义要求。

sql约束性分为实体完整性,参照完整性,用户定义完整性,删除约束
实体完整性:可用主键子句或主键短语来定义。
1.建表时定义主键
Create table 表名
(
Sno int identity(1,1),
Sname nvarchar(20),
--设置主键
Primary key (Sno)
)

2.添加主键
alter table 表名
add constraint PK_表名_Sno
primary key(id)

参照完整性:可用外键子句来定义
1.建表时定义外键
create table 表名
(
sno int identity(1,1) primary key,
cno int not null,
foreign key(cno) References
表名2(Cno)
on Delete cascade     --级联删除
on update cascade    --级联更新
-- on delete on action  删除管制
)

2.添加外键
alter table 表名
add constraint FK_表名_表名2
Foreign key(cid) references 表名2(cid)

用户定义完整性:属性值约束
1.非空约束
alter table 表名
alter column name varchar(20) not null

2.唯一约束
alter table 表名
add constraint UQ_表名_列名 unique(列)

3.检查约束
alter table 表名
add constraint CK_表名_列名 check(age>5)

4.默认约束
alter table 表名
add constraint DF_表名_列名 default('男')
for gender

删除约束
--删除约束 全局约束:包括基于元组的检查子句(CHECK)和断言
alter table 表名 drop constraint DF_表名_列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql