关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片

上传人:E**** 文档编号:89875733 上传时间:2019-06-03 格式:PPT 页数:23 大小:326.50KB
返回 下载 相关 举报
关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片_第1页
第1页 / 共23页
关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片_第2页
第2页 / 共23页
关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片_第3页
第3页 / 共23页
关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片_第4页
第4页 / 共23页
关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片》由会员分享,可在线阅读,更多相关《关系数据库与SQLServer2005教学课件作者龚小勇第22讲规则和默认值对象课件幻灯片(23页珍藏版)》请在金锄头文库上搜索。

1、第7章 规则和默认值,主讲人:段利文,第22讲,复,索引的作用 索引的类型 创建索引的方法 系统自动创建索引 用户创建索引 删除索引的方法 drop index 索引名 alter table 表名 drop constraint 约束名,提高检索数据的速度,聚集和非聚集索引 惟一和非惟一索引 单和复合索引,添加主键约束时 添加惟一性约束时,create index 索引名 on 表名(列名),引:,请思考: 在创建数据表时,是如何实现数据完整性的? 实例1:(教材P160例6-18)。 这些约束是如何存储的?,主键(PRIMARY KEY)约束 惟一(UNIQUE)约束 外键(FOREIGN

2、 KEY)约束 检查(CHECK)约束 默认值(DEFAULT)约束 空值(NULL)约束,实现参照完整性,通过创建表约束来实现的。那么,有哪些约束呢?,与表定义存储在一起。若删除表,则约束也被删除。 再思考:能否使约束(如检查约束、默认值约束)不随表的删除而删除?能否将相同的约束应用于多个表的多列上?,第7章 规则和默认值 教学内容,基础知识: 规则对象 默认值对象 实现数据完整性的主要方法,第7章 规则和默认值 学目标,认知目标: 了解规则对象、默认值对象的定义 了解规则对象和CHECK约束的区别 了解默认值对象和默认值约束的区别 能力目标(重点、难点) : 掌握创建和绑定规则对象的方法

3、掌握创建和绑定默认值对象的方法,一、规则对象 1. 规则的概述,规则的含义 规则是绑定到列上的数据库对象,用来指定列可以接受哪些数据值。 规则是实现域完整性的方法之一。 规则与check约束的区别 check约束是用create table语句在建表时指定的,而规则是要用create rule语句创建,且可作为单独的数据库对象来使用。 在1列上只能使用1个规则,但可以使用多个check约束 1个规则可以应用于多个列,而check约束只能应用于它所定义的列。,一、规则对象 2.创建规则,语法格式: create rule 规则名 as 条件表达式 书写条件表达式的注意事项: 不能引用列名或其它数

4、据库对象名。 条件表达式中包含一个以开头的局部变量,该变量代表在修改该列的记录时用户输入的数值。,用于指定列值的格式或取值范围,一、规则对象 2.创建规则,实例2:在xscj库中定义1个规则,限制联系电话的格式为“(区号)电话号码”,其中区号为4位,电话号码至少为6位 。,use xscj go create rule ro_电话格式 as 联系电话 like (_ _ _ _)_ _ _ _ _ _ % ,一、规则对象 2.创建规则,课堂练1:在xscj库中,定义1个名为“ro_正数”的规则,限制使用了该规则的列的值必须大于0 。,use xscj go create rule ro_正数

5、as zhensh =0 go exec sp_helptext ro_正数 exec sp_help ro_正数,查看规则的定义,查看规则的基本信息,一、规则对象 3.绑定规则,规则创建好后,必须绑定到列上才能生效。 用系统存储过程实现绑定: exec sp_bindrule 规则名 , 表名.列名 说明: 如果列上已经绑定了规则,当再次向它们绑定规则时,旧规则将被新规则覆盖。 绑定规则后,当有不符合规则的数据输入时,系统会给出错误信息,拒绝接受该值。,一、规则对象 3.绑定规则,实例3:将名为“ro_电话格式”的规则绑定到xsqk表的“联系电话”列上。 实例4:将名为“ro_正数”的规则分

6、别绑定到xsqk表的“总学分”列、xs_kc表的“成绩”和“学分”列、kc表的“开课学期”和“学分”列上。,exec sp_bindrule ro_正数, xsqk.总学分 exec sp_bindrule ro_正数, xs_kc.成绩 exec sp_bindrule ro_正数, xs_kc.学分 exec sp_bindrule ro_正数, kc.开课学期 exec sp_bindrule ro_正数, kc.学分,exec sp_bindrule ro_电话格式, xsqk.联系电话,一、规则对象 3.绑定规则,课堂练2:在xscj库中,创建一个名为“ro_学时”的规则,以限制学时

7、数至少在20以上,并将该规则绑定到kc表的“学时”列上。,use xscj go create rule ro_学时 as xueshi =20 go sp_bindrule ro_学时, kc.学时,一、规则对象 4.解除绑定的规则,用系统存储过程解除绑定 exec sp_unbindrule 表名.列名 实例5:解除绑定在xsqk、xs_kc、kc表列上的规则。,exec sp_unbindrule xsqk.联系电话 exec sp_unbindrule xsqk.总学分 exec sp_unbindrule xs_kc.成绩 exec sp_unbindrule xs_kc.学分 ex

8、ec sp_unbindrule kc.开课学期 exec sp_unbindrule kc.学分 exec sp_unbindrule kc.学时,一、规则对象 5.删除规则,语法格式: drop rule 规则名,n 说明: 删除一个规则前,必须先将规则从它所绑定的列上解除,否则,会显示错误信息 。 实例6:删除xscj库中的规则。 drop rule ro_电话格式, ro_正数, ro_学时,二、默认值对象 1.概述,定义 默认值就是当用户向表中添加数据时,没有明确地给出,而由SQL Server自动指派的值。 默认值可以定义为数据库对象,使用时需将其绑定到特定的列上。 默认值约束与默

9、认值对象的区别 默认值约束是用create table语句创建表时,使用default子句为表中的列提供默认值。 默认值对象是用create default语句来创建的,使用时须将它绑定到列上。,二、默认值对象 2.创建默认值对象,语法格式: create default 默认值对象名 as 常量表达式 说明: 字符和日期型数据:必须用单引号括起来 二进制数据:必须以0x作前导符 货币型数据:以美元符号$开头 整数和浮点数:不需要任何定界符 实例7:教材P156例6-14。,可以是常量、内置函数或表达式,二、默认值对象 2.创建默认值对象,课堂练:在xscj库中定义1个名为“dfo_备注”的默

10、认值对象,限制使用了该默认值对象的列的值为“统招生” 。 use xscj create default dfo_备注 as 统招生,二、默认值对象 3.绑定和解除默认值对象,绑定默认值对象 exec sp_bindefault 默认值名, 表名.列名 解除绑定 exec sp_unbindefault 表名.列名 实例8:将 默认值对象“dfo_备注”绑定到xsqk表的“备注”列上。 sp_bindefault dfo_备注, xsqk.备注,二、默认值对象 4.删除默认值对象,格式: drop default 默认值名,n 说明: 删除一个默认值之前,应先将默认值从它所绑定的列上解除。否则

11、,会显示错误信息。 实例9:自学教材P159例6-17。,三、实现数据完整性的主要方法,约束 主键约束(primary key) 惟一约束(unique) 检查约束(check) 默认值约束(default) 非空值约束(not null) 外键约束(foreign key),标识列 索引 默认值对象 规则对象 触发器,本课小结,规则对象 创建规则:create rule 规则名 as 条件表达式 绑定规则:exec sp_bindrule 规则名, 表名.列名 解除规则:exec sp_unbindrule 表名.列名 删除规则:drop rule 规则名,n 默认值对象 实现数据完整性的主要方法,课余作业,课外练(补充): 什么是规则?它与check约束有什么区别? 为表中提供默认值的方法有哪两种? 编写T-SQL语句,要求: 在xscj库的xsqk表中增加一个“email”列,类型为varchar(30); 定义一个名为“ro_email”的规则,限制字符串中必须包含“”字符。 将该规则绑定到xsqk表的“email”列上。,课余作业,预: 第8章。 请思考下列问题: T- SQL标识符的命名必须遵循哪些规则? 什么叫常量?如何书写常量? 如何声明变量?如何给变量赋值? 全局变量有哪些特点? T-SQL有哪些类型的函数? T-SQL有哪些类型的运算符?其优先级如何?,

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

当前位置:首页 > 高等教育 > 大学课件

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