Sql定义约束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 (编号)