第11章_数据完整性

第11章_数据完整性

ID:44944417

大小:149.50 KB

页数:36页

时间:2019-11-05

第11章_数据完整性_第1页
第11章_数据完整性_第2页
第11章_数据完整性_第3页
第11章_数据完整性_第4页
第11章_数据完整性_第5页
资源描述:

《第11章_数据完整性》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、约束约束定义了必须遵循的用于维护数据一致性和正确性的规则,是强制实现数据完整性的主要途径。约束有5种类型,包括:主键约束、唯一性约束、检查约束、默认约束、外键约束(参照约束)。约束可以在两个层次上实施:列级:用户定义的约束只对表中的一列起作用;表级:用户定义的约束对表中的多列起作用。强制数据完整性的约束机制一、主键约束(PRIMARYKEY)(实体)二、聚集约束(CLUSTERED)(实体)三、唯一性约束(UNIQUE)(实体)四、检查约束(CHECK)(域)五、默认约束(DEFAULT)(域)六、外键约束(FOREIGNKEY)(参照)七、不为空约束(NOTNULL)(域

2、)1.约束的创建、修改(1)使用CREATETABLE语句创建约束使用CREATETABLE语句创建约束是在创建表时定义约束,约束是表格定义的一部分。其语法形式为:CREATETABLEtable_name(column_namedata_type[[CONSTRAINTconstraint_name]constraint_type][,…n])constraint_name:要创建的约束的名字。若缺省约束名,则SQLServer会自动为约束提供一个名字。constraint_type:要创建的约束类型。(2)使用ALTERTABLE语句创建约束在已有的表上创建、修改约束可

3、以使用ALTERTABLE命令。其语法形式为:ALTERTABLEtable_name[WITHCHECK

4、WITHNOCHECK]ADD[CONSTRAINTconstraint_name]constraint_typeWITHCHECK

5、WITHNOCHECK:新加入的约束对表中现有的数据是否进行检查。CONSTRAINTconstraint_name:强制起索引文件名2.约束的删除语法形式为:ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name一、主键约束(PRIMARYKEY)主键用于唯一地标识表中每一条记录。我们可以定

6、义表中的一列或多列为主键,则主键列上没有两行具有相同值,也不能为空值。1.使用T-SQL语句创建主键约束创建主键约束的语法形式:[CONSTRAINTconstraint_name]PRIMARYKEY[CLUSTERED

7、NONCLUSTERED](col_name[,…n])例1创建Orders表,包括OrderID、CustomerID、SaleID和OrderDate四个字段,其中OrderID字段设为主键。CREATETABLEOrders(OrderIDintPRIMARYKEY,CustomerIDchar(3),SaleIDchar(3),OrderDate

8、datetime)或CREATETABLEOrders(OrderIDintCONSTRAINTpk_orderidPRIMARYKEY,CustomerIDchar(3),SaleIDchar(3),OrderDatedatetime)例2已有Salers表,包含SaleID、SaleName、Sex等字段,将该表中SaleID字段设为主键。注意:即使在创建主键约束时带有WITHNOCHECK选项,系统总要对现存数据进行检查,若现有数据在该列上出现重复或空值,SQLServer会提示错误信息,并拒绝执行创建主键约束操作。ALTERTABLESalersADD[CONSTR

9、AINTpk_saleid]PRIMARYKEY(Saleid)例3OrderDetails表包含OrderID、ProductID和Quantity三个字段,在OrderID和ProductID上创建主键。ALTERTABLEOrderDetailsADD[CONSTRAINTpk_order_product]PRIMARYKEY(orderid,productid)主键约束定义在不止一列上时,一列中的值可以重复,但主键约束定义中的所有列的组合值必须唯一。例4删除例3-21中创建的主键约束。ALTERTABLESalersDROPCONSTRAINTpk_saleid2.

10、使用企业管理器创建主键约束在企业管理器下也可创建、修改、删除主键约束。只需进入企业管理器,选中需要添加主键约束的表,右键单击,在系统弹出的快捷菜单中选择“设计表”命令,在弹出的窗口中设置、取消主键即可。二、聚集约束(CLUSTERED)将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。每个表只能有一个聚集索引。聚集性约束和主键约束的区别:聚集性约束允许在该列上存在NULL值,而主键约束限制更严格,不但不允许有重复,而且也不允许有空值。聚集性约束有排序功能,而主键约束无有排序功能。1

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

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

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