内容正文:
SOLServer 2002
picatos
Deveoper
SaL server 2005-
Business
Infomation Profesioal
Worker
第12章 数据完整性的实现方法
_#_______________
第12章
数据完整性的实现》t25
·12.1约束
·12.1.1主键(PRIMARY KEY)约束
·12.1.2唯一(UNIQUE)约束
12.1.3检查(CHECK)约束
12.1.4外键(FOREIGN KEY)约束
12.1.5默认值(DEFAULT)约束
12.2默认值
·12.3规则
12.1约束
SQL Server 2005
约束(CONSTRAINTS)是实现数据完整性的首选
方法。顾名思义,约束就是一种限制,使数据表
中对象的取值不能随心所欲,要在允许的范围内
约束支持域完整性、实体完整性、引用完整性以
及用户定义的完整性。约束分为列级约束和表级
约束:前者是只对一列起作用的约束;后者则是
对多个列起作用的约束
约束既可以用SQL Server Management Studio创
建,也可以用T-SQL语句创建
12.1.1主键约束
SQLServer 2005
主键约束(PRIMARY KEY)
保证某一列
或多列组合中的数据相对于表中的每一行都
是唯一的,并且这些列就是该表的主键。主
键约束不允许在创建主键约束的列上有空值
12.1.1主键约束
SQLServer 2005
使用SQL Server Management Studio
设置主键约束的步骤:
l.启动SQL Server Management Studio
2.
在对象资源管理器上点击“+”,展开欲设置的
数据库和表,在弹出的快捷菜单上单击“修改”
3.鼠标右击要设置为主键的字段,在弹出的快捷菜
单上选择“设置主键”选项,单击鼠标左键
12.1.1主键约束
SQLServer 2005
用T-SQL语句创建主键约束的语法格式:
CREATE TABLE table name
column name
datatype
CONSTRAINT constraint name
PRIMARY
KEY]
CLUSTERED
)NONCLUSTERED [,n
[CONSTRAINT constraint name PRIMARY KEY
(列名1>[,〈列名2>,…]])
12.1.2唯一约束
SQLServer 2005
唯一约束的作用是确保在非主键列中不输
入重复值。唯一约束和主键约束比较相似,
都不允许表中对应字段存在重复值,但二
者有以下重要区别:
·一个表可以定义多个唯一约束,但只能定
义一个主键约束。
。
允许为空值的列上可以定义唯一约束,但
不能定义主键约束
。
SQLServer 2005
12.1.2唯一约束
使用SQL Server Management Studio
设置唯一约束的步骤如下:
1.展开数据库和表,右击鼠标选择“修改”,在
窗口空白处单击鼠标右键,选择“索引/键”
2.单击“添加”按钮,系统会自动加上一个默认
的唯一约束名称
3.在常规项“列”对应的输入框选择要创建唯
一
性约束的列名及排列顺序,在“是唯一的”对
应下拉框中选择“是”,单击“关闭”按钮
12.1.2唯一约束
SQLServer 2005
用T-SQL语句创建唯一约束的语法格式:
CREATE TABLE table name
/*指定表名
column name
datatype
/*定义字段
[
CONSTRAINT constraint name
UNIQUE]
/*列级约束,直接在字段后面定义
CLUSTERED
NONCLUSTERED]/*约束的索引类型
[,n]
/*表示可定义多个字段
[CONSTRAINT constraint_name UNIQUE
<列名1>[,〈列名2>,])
/*表级约束,可在多个字段上定义
12.1.3检查约束SQLServer2005
·检查约束通过限制输入到列中的值来强制
实现域的完整性,方法是通过逻辑表达式
来判断数值是否符合要求