Sql定义约束

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sql2005定义约束

为了保证输入数据的正确性,必须要在创建表的时候设置约束, 在这里简单的介绍一下如何设置约束.

需要注意的是,在用Management Studio创建约束的时候,在修改完后,都需要保存表以保存修改。

1. SQL Server中有五种约束,分别是 CHECK 约束, DEFAULE 约束,PRIMARY KEY 约束,FROEIGN KEY约束, UNIQUE 约束.

(1) CHECK 约束

用来限制输入一列或者多列的值的范围,通过逻辑表达式来判断数据的有郊性,也就是一个列的输入内容必须满足CHECK约束条件,否则,数据无法正常输入,从而强制数据的域的完整性.

(2) DEFAULT 约束

若在表中定义了DEFAULT约束,用户在插入新的数据时,如果该列没有指定数据,那么系统将默认值赋给该列,默认值也可以为空.

(3) PRIMARY KEY 约束

在表中经常有一旬或多列的组合,其值能在唯一标识表中每一行. 这样的一列或多列成为表的主健(Primary Key),通过它可以强制表的实体完整性。一个表只能有一个主键,而且主键不能为空值。

(4) FOREIGN KEY 约束

外键(foreign key)是用于建立和加强两个表(主表与从表)的列或多列数据之间的连接的,当添加,修改或者删除数据时,通过参照完整性来保证它们之间的数据的一致性。先定义主键,再对从表定义外键约束。

(5)UNIQUE 约束

UNIQUE 约束用于确保表中的两个数据行在非主键中没有相同的列值,与PRIMARY KEY 约束类似,UNIQUE约束也强制唯一性,为表中的一列或多列提供实体完整性.但 UNIQUE用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束.

2.约束的创建,查看,删除

即可以通过SQL SERVER Management Studio的“对象资源管理器”面板进行,

也可通过T-SQL进行.

(1) CHECK 约束

通过Management Studio设置,设置性别只能输入‘男’,或者‘女’首先打开表的列,右键点击‘性别’,选择 CHECK 约束

如下图

在表达式里输入:

性别='男' or 性别='女' ,点关闭即可。

点击关闭后,表达式会被自动修改成:([性别]='男' OR [性别]='女') 如下图:

经过这个约束后,在表格中填入非男、女的性别都是报错的。

如果要删除约束,直接点击‘删除’按扭即可。

通过T-SQL实现约束.

[ CONSTRAINT CHECK constraint_name]

CHECK (logical_expression)

如:

添加 '性别' 的约束:

USE wfwang --数据库名

ALTER TABLE wfwangTable

ADD

CONSTRAINT CK_Tablewfwang2 CHECK (性别='男' or 性别='女') 删除约束: DROP CONSTRAINT constraint_name

ALTER TABLE wfwangTable

DROP constraint CK_Tablewfwang2

(2)DEFAULT 约束

通过SQL SERVER Management Studio 来设置。如下图:

通过T-SQL实现

创建DEFAULT 约束

[ CONSTRAINT DEFAULT Constraint_name]

DEFAULT Constraint_expression

删除DEFAULT约束

DROP CONSTRAINT DEFAULT Constraint_name

例:

增加DEFAULT 约束:

ALTER TABLE wfwangTable

ADD CONSTRAINT DE_性别 DEFAULT '男' FOR 性别

删除

ALTER TABLE wfwangTable

DROP CONSTRAINT DE_性别

3.PRIMARY KEY 约束

通过ManageMent Studio设置主健非常简单,右键点击对应的列,点击调协主键即可,最后点保存。

如需要多列作为主健,则需要按ctrl 健,选择多列,然后右键选择设置主健即可,最后点保存。

通过T-SQL 添加

USE wfwang

GO

ALTER TABLE wfwangTable

ADD CONSTRAINT PK_编号 PRIMARY KEY CLUSTERED (编号,ISBN)

删除主键:

USE wfwang

GO

ALTER TABLE wfwangTable

DROP CONSTRAINT PK_编号

4.FOREIGN KEY 约束

FOREIGN KEY是用于建立和加强两个表(主从表)数据之间的连接的一列或多列.

注意: 建立外键的关键是某列必须是两张表中的同名,同数据类型列, 且该列为一张表的主键,该列为另一张表的外键.

(1) 通过SQL SERVER Management Studio 创建两张表的之间的外键约束关系。

再分别选择主键和外键

(2)通过T-SQL实现

首先主键:

USE wfwang

GO

ALTER TABLE Table_wfwang

ADD CONSTRAINT PK_编号 PRIMARY KEY CLUSTERED (编号)

再设置外键约束:

USE wfwang

GO

ALTER TABLE wfwangTable

ADD CONSTRAINT FK_编号 FOREIGN KEY (编号) REFERENCES Table_wfwang (编号)

相关文档
最新文档