sqlserver2005创建约束参考

sqlserver2005创建约束参考

ID:41894873

大小:234.50 KB

页数:23页

时间:2019-09-04

sqlserver2005创建约束参考_第1页
sqlserver2005创建约束参考_第2页
sqlserver2005创建约束参考_第3页
sqlserver2005创建约束参考_第4页
sqlserver2005创建约束参考_第5页
资源描述:

《sqlserver2005创建约束参考》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、me(约束名)]<约束类型>约束不指定名称时,系统会给定一个名称。在SQLServer2005中有6种约束:主键约束(primarykeyconstraint)、惟一性约束(uniqueconstraint)、检查约束(checkconstraint)、默认约束(defaultconstraint)、外部键约束(foreignkeyconstraint)和空值(NULL)约束。5.2.2创建约束主键(PRIMARYKEY)约束PRIMARYKEY约束用于定义基本表的主键,它是惟一确定表中每一条记录的标识符,其值不

3、能为NULL,也不能重复,以此来保证实体的完整性。PRIMARYKEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:①在一个基本表中只能定义一个PRIMARYKEY约束,但可定义多个UNIQUE约束;②对于指定为PRIMARYKEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。注意:不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARYKEY约束。PRIMARYKEY既可用于列约束,也可用于表

4、约束。5.2.2创建约束主键(PRIMARYKEY)约束主键的创建操作方法有两种:SQLServer管理平台操作法和Transact-SQL语句操作法。(1)SQLServer管理平台操作法,如图5-7所示。图5-7选择多个字段共同做为主键对话框5.2.2创建约束主键(PRIMARYKEY)约束(2)使用Transact-SQL语句操作法设置主键约束,其语法形式如下:CONSTRAINTconstraint_namePRIMARYKEY[CLUSTERED

5、NONCLUSTERED](column_name)PR

6、IMARYKEY用于定义表约束时,即将某些列的组合定义为主键,其语法格式如下:CONSTRAINTconstraint_namePRIMARYKEY[CLUSTERED

7、NONCLUSTERED](column_name[,…n])5.2.2创建约束主键(PRIMARYKEY)约束例5-5建立一个SC表,定义SNO,CNO共同组成SC的主键程序清单如下:CREATETABLESC(SNOCHAR(5)NOTNULL,CNOCHAR(5)NOTNULL,SCORENUMERIC(3),CONSTRAINTSC_PR

8、IMPRIMARYKEY(SNO,CNO))5.2.2创建约束2.惟一性约束惟一性约束用于指定一个或者多个列的组合值具有惟一性,以防止在列中输入重复的值。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一性。当使用惟一性约束时,需要考虑以下几个因素:使用惟一性约束的字段允许为空值;一个表中可以允许有多个惟一性约束;可以把惟一性约束定义在多个字段上;惟一性约束用于强制在指定字段上创建一个惟一性索引;默认情况下,创建的索引类型为非聚集索引。5.2.2创建约束2.惟一性约束创

9、建惟一性约束的方法有两种:通过SQLServer管理平台可以完成创建和修改惟一性约束的操作;使用Transact-SQL语句完成惟一性约束的操作。(1)通过SQLServer管理平台可以完成创建和修改惟一性约束的操作,如图5-8所示。图5-8创建惟一性约束对话框5.2.2创建约束2.惟一性约束(2)使用Transact-SQL语句完成惟一性约束的操作,其语法形式如下:CONSTRAINTconstraint_nameUNIQUE[CLUSTERED

10、NONCLUSTERED](column_name[,…n])例

11、5-6创建一个学生信息表,其中name字段具有惟一性。程序清单如下:Createtablestudent(idchar(8),namechar(10),sexchar(2),constraintpk_idprimarykey(id),constraintuk_identityunique(name))5.2.2创建约束3.检查约束检查约束对输入列或者整个表中的值设置检查条

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。