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