sqlserver2005创建约束参考

上传人:宝路 文档编号:48203456 上传时间:2018-07-11 格式:PPT 页数:23 大小:234.93KB
返回 下载 相关 举报
sqlserver2005创建约束参考_第1页
第1页 / 共23页
sqlserver2005创建约束参考_第2页
第2页 / 共23页
sqlserver2005创建约束参考_第3页
第3页 / 共23页
sqlserver2005创建约束参考_第4页
第4页 / 共23页
sqlserver2005创建约束参考_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《sqlserver2005创建约束参考》由会员分享,可在线阅读,更多相关《sqlserver2005创建约束参考(23页珍藏版)》请在金锄头文库上搜索。

1、5.2.2 创建约束 约束是SQL Server提供的自动保持数据库完整性的一种方法,它通过 限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。在 SQL SERVER中,对于基本表的约束分为列约束和表约束。 列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的 其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立, 不包括在列定义中,通常用于对多个列一起进行约束,与列定义用,分隔 ,定义表约束时必须指出要约束的那些列的名称。 完整性约束的基本语法格式为:CONSTRAINT constraint_name(约束名) 约束不指定名称时,系统会给定一个名称。 在SQL

2、 Server 2005中有6种约束:主键约束(primary key constraint)、惟一性约束(unique constraint)、检查约束(check constraint)、默认约束(default constraint)、外部键约束(foreign key constraint)和空值(NULL)约束。 5.2.2 创建约束 主键(PRIMARY KEY)约束 PRIMARY KEY约束用于定义基本表的主键,它是惟一确定表中每 一条记录的标识符,其值不能为NULL,也不能重复,以此来保证实体 的完整性。PRIMARY KEY与UNIQUE约束类似,通过建立唯一索引来 保证基

3、本表在主键列取值的唯一性,但它们之间存在着很大的区别: 在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个 UNIQUE约束; 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一 个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空 。 注意:不能为同一个列或一组列既定义UNIQUE约束,又定义 PRIMARY KEY约束。 PRIMARY KEY既可用于列约束,也可用于表约束。5.2.2 创建约束 主键(PRIMARY KEY)约束 主键的创建操作方法有两种:SQL Server管理平台操作法和Transact- SQL语句操作法。 (1) SQL

4、 Server管理平台操作法,如图5-7所示。图5-7 选择多个字段共同做为主键对话框 5.2.2 创建约束 主键(PRIMARY KEY)约束 (2)使用Transact-SQL语句操作法设置主键约束,其语法形式如下:CONSTRAINT constraint_namePRIMARY KEY CLUSTERED|NONCLUSTERED(column_name)PRIMARY KEY用于定义表约束时,即将某些列的组合定义为主键,其语 法格式如下:CONSTRAINT constraint_namePRIMARY KEY CLUSTERED|NONCLUSTERED(column_name,n

5、) 5.2.2 创建约束 主键(PRIMARY KEY)约束 例5-5 建立一个SC表,定义SNO,CNO共同组成SC的主键 程序清单如下: CREATE TABLE SC (SNO CHAR(5) NOT NULL, CNO CHAR(5) NOT NULL, SCORE NUMERIC(3), CONSTRAINT SC_PRIM PRIMARY KEY(SNO,CNO) 5.2.2 创建约束 2. 惟一性约束 惟一性约束用于指定一个或者多个列的组合值具有惟一性,以防 止在列中输入重复的值。定义了UNIQUE约束的那些列称为唯一 键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一 性

6、。 当使用惟一性约束时,需要考虑以下几个因素: 使用惟一性约束的字段允许为空值; 一个表中可以允许有多个惟一性约束; 可以把惟一性约束定义在多个字段上; 惟一性约束用于强制在指定字段上创建一个惟一性索引; 默认情况下,创建的索引类型为非聚集索引。 5.2.2 创建约束 2. 惟一性约束 创建惟一性约束的方法有两种:通过SQL Server管理平台可以完成创建和修改惟一性约 束的操作;使用Transact-SQL语句完成惟一性约束的操作。 (1)通过SQL Server管理平台可以完成创建和修改惟一性约束的操作,如图5-8所示。 图5-8 创建惟一性约束对话框 5.2.2 创建约束 2. 惟一性

7、约束 (2)使用Transact-SQL语句完成惟一性约束的操作,其语法形式如下: CONSTRAINT constraint_nameUNIQUE CLUSTERED|NONCLUSTERED (column_name,n) 例5-6 创建一个学生信息表,其中name字段具有惟一性。 程序清单如下: Create table student( id char(8), name char(10), sex char(2),constraint pk_id primary key(id),constraint uk_identity unique(name) ) 5.2.2 创建约束 3. 检查

8、约束 检查约束对输入列或者整个表中的值设置检查条件,以限制输入 值,保证数据库数据的完整性。 当使用检查约束时,应该考虑和注意以下几点: 一个列级检查约束只能与限制的字段有关;一个表级检查约束只能 与限制的表中字段有关; 一个表中可以定义多个检查约束; 每个CREATE TABLE语句中每个字段只能定义一个检查约束; 在多个字段上定义检查约束,则必须将检查约束定义为表级约束; 当执行INSERT语句或者UPDATE语句时,检查约束将验证数据; 检查约束中不能包含子查询。 5.2.2 创建约束 3. 检查约束 创建检查约束常用的操作方法有如下两种 :使用SQL Server管理平台创建 检查约束

9、;用Transact-SQL语句创建检查约束。 (1)使用SQL Server管理平台创建检查约束,如图5-9所示。图5-9 创建检查约束对话框 5.2.2 创建约束 3. 检查约束 (2)用Transact-SQL语句创建检查约束。用Transact-SQL语句创建检查约束。其语法形式如下:CONSTRAINT constraint_nameCHECK NOT FOR REPLICATION(logical_expression) 例5-8 建立一个SC表,定义SCORE 的取值范围为0到100之间。 程序清单如下:CREATE TABLE SC(SNO CHAR(5),CNO CHAR(5

10、),SCORE NUMERIC(5,1) CONSTRAINT SCORE_CHK CHECK(SCORE=0 AND SCORE NULL|NOT NULL 例5-13 建立一个S表,对SNO字段进行NOT NULL约束。 程序清单如下:CREATE TABLE S(SNO CHAR(10) CONSTRAINT S_CONS NOT NULL,SN VARCHAR(20),AGE INT,SEX CHAR(2) DEFAULT 男 ,DEPT VARCHAR(20) 5.2.3 修改表 当数据库中的表创建完成后,可以根据需要改变表中 原先定义的许多选项,以更改表的结构。用户可以增 加、删除

11、和修改列,增加、删除和修改约束,更改表 名以及改变表的所有者等。 1、修改列属性修改列属性包括以下一些内容: (1)修改列的数据类型; (2)修改列的数据长度; (3)修改列的精度; (4)修改列的小数位数; (5)修改列的为空性。 5.2.3 修改表 2、添加和删除列 在SQL Server 2005中,如果列允许空值或对列创建 DEFAULT 约束,则 可以将列添加到现有表中。将新列添加到表时,SQL Server 2005数据库引 擎在该列为表中的每个现有数据行插入一个值。因此,在向表中添加列时向 列添加DEFAULT定义会很有用。如果新列没有 DEFAULT定义,则必须指 定该列允许空

12、值。数据库引擎将空值插入该列,如果新列不允许空值,则返 回错误。反之,可以删除现有表中的列,但具有下列特征的列不能被删除: (1)用于索引; (2)用于CHECK、FOREIGN KEY、UNIQUE 或PRIMARY KEY约束; (3)与DEFAULT 定义关联或绑定到某一默认对象; (4)绑定到规则; (5)已注册支持全文; (6)用作表的全文键。 5.2.3 修改表 3、增加、修改和删除约束 (1)增加、修改和删除PRIMARY KEY 约束。(2)增加、修改和删除UNIQUE约束。(3)增加、修改和删除CHECK约束。(4)增加、修改和删除DEFAULT约束。(5)增加、修改和删除FOREIGN KEY约束。(6)增加和修改标识符列。只能为每个表创建一个 标识符列和一个 GUID 列。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号