SQL课件Server 2005案例教程周仁云 ISBN 9787811343960 PPT第5章.pptVIP

  • 1
  • 0
  • 约1.76万字
  • 约 58页
  • 2019-07-03 发布于广东
  • 举报

SQL课件Server 2005案例教程周仁云 ISBN 9787811343960 PPT第5章.ppt

本章学习要点 本章学习内容导航 第5章 数据完整性 5.1 概述 5.1 概述 5.1 概述 5.1 概述 5.2 约束 5.2.1 约束的类型 5.2.2 定义约束的方式 5.2.3 主健约束 5.2.3 主健约束 5.2.3 主健约束 5.2.3 主健约束 5.2.3 主健约束 5.2.4 UNIQUE约束 5.2.4 UNIQUE约束 5.2.4 UNIQUE约束 5.2.4 UNIQUE约束 5.2.4 UNIQUE约束 5.2.5 外键约束 5.2.5 外键约束 5.2.5 外键约束 5.2.5 外键约束 5.2.6 DEFAULT约束 5.2.6 DEFAULT约束 5.2.6 DEFAULT约束 5.2.6 DEFAULT约束 5.2.7 CHECK约束 5.2.7 CHECK约束 5.2.7 CHECK约束 5.2.7 CHECK约束 5.2.8 约束管理 5.2.8 约束管理 5.2.8 约束管理 5.2.8 约束管理 5.3 默认值 5.3 默认值 5.3 默认值 5.3.2 使用默认值 5.3.2 使用默认值 5.3.3 解除默认值 5.3.4 删除默认值 5.4 规则 5.4.1 创建规则 5.4.1 创建规则 5.4.2 绑定规则 5.4.3 解除规则 5.4.4 删除规则 5.5 案例应用 5.5 案例应用 5.5 案例应用 5.5 案例应用 5.5 案例应用 5.5 案例应用 5.5 案例应用 Thank you 检查约束用来强制数据的域完整性,它使用逻辑表达式来限制表中的列可以接受哪些数据值。 CHECK约束的作用非常类似于外键约束,两者都是限制某个列的取值范围,但是外键是通过其他表来限制列的取值范围,而CHECK约束是通过指定的逻辑表达式来限制列的取值范围。在一个列上,可以创建多个检查约束,检查数据的正确性依据检查约束创建的时间顺序来完成。 1.使用SQL Server Management Studio创建CHECEK约束 【案例5-13】 在 stu 数据库中,在 student 数据库中,为 teacher (教师)表的 t_brithdata (出生日期)字段创CHECEK约束,来确保输入的日期在1948年1月1日到1985年1月1日之间。其操作步骤如下: (1)启动SQL Server Management Studio,在【对象资源管理器】窗口中,依次展开【数据库】→【stu】→【表】节点。 (2)右键单击【teacher】表,在弹出的快捷菜单中选择【修改】命令,打开【表设计器】对话框。在窗口中右击任意字段,在弹出的快捷菜单中单击【CHECEK约束】命令,打开对话框。 (3)单击【添加】命令按钮,系统给出默认检查约束名,【CK_teacher】, 创建【CHECK约束】。 (4)单击【属性】窗口中【常规】选项,在其对应的文本框中输入约束表达式(brithdate’1948-01-01’and brithdate ’1985-01-01’) (5)设置完成后,关闭表设计器。 2.使用T-SQL语句创建CHECEK约束 为已经存在的表创建CHECEK约束,语法格式如下: ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (logical_expression)[,…N] 其中: ● table_name:需要建立CHECEK约束的表名。 ● constraint_name:CHECEK约束名称。 ● logical_expression:CHECEK约束的条件表达式。 【案例5-14】 以下T-SQL语句创建了一个CHECEK约束: 在stu数据库中,为“ stucourse ”表中的“ sc_grade ”字段创建一个检查约束,以保证输入的成绩在0~100之间。 其T-SQL语句如下: USE stu GO ALTER TABLE stucourse ADD CONSTRAINT CK_ stucourse CHECK(sc_grade=0 and sc_grade=100) GO 注意:当使用CHECK约束时,需要考虑下列一些因素: (1)一个列上可以定义多个CHECK约束; (2)当执行INSERT语句或UPDATE语句时,该约束验证相应的数据是否 满足CHECK约束的条件,但是执行DELETE语句时不检查CHECK约束; (3)每个列只能定义一个CHECK约束; (4)CHECK约束不能放在有IDENTITY属性的列上或者数据类型为timestamp的列上,因

文档评论(0)

1亿VIP精品文档

相关文档