在SQLServer中,有3种不同类型的约束。
1、实体约束:实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。
2、域约束:域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。
3、参照完整性约束:如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。
SQL Server中的约束条件:
1、默认约束:定义该列未输入值时应该具有的默认值。
2、空值约束:定义该列是否允许为空值。
3、检查约束:又叫check约束,用来限制列的取值,它根据定义的逻辑表达式来强制域的完整性。
4、唯一约束:确保在非主键列不输入重复值。
5、外键约束:用于建立两个表数据之间连接的一列或多列。
6、主键约束:用来惟一地标识表中的每一行。
一、数据的完整性实体完整性
实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。
域完整性
域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。
引用完整性
引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。
用户定义完整性
二、约束 *** 作
与表相关的约束
在SQL 2008中,常用有6种约束,分别是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.
--添加主键约束(即primary key约束)
alter table goods add constraint pk_gid primary key(gid)
--1.删除主键约束
alter table goods drop pk_gid
--添加唯一约束(即unique约束)
alter table goods add constraint uq_gname unique(gname)
--删除唯一约束:仿1.
--添加缺省约束(即default约束)
alter table goods add constraint def_gtel default 0000-00000000 for gtel
--删除缺省约束:仿1.
--添加检查约束(即check约束)
alter table goods add constraint ck_gprice check(gprice>500)
--删除check约束:仿1.
--创建表2
create table g_p
(
wno int identity(1,1) primary key,
gno int
)
--添加外键约束(即foreign key约束)
alter table g_p
add constraint fk_gno
foreign key(gno) references goods(gid)
--删除外键约束:仿1.
--使用newid()
select newid()--生成全球唯一的ID号
create table customer
(
custID uniqueidentifier not null default newid(),
customer char(30) not null
)
insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息
-----------------------------------慢慢研究----
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)