资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第7章 规则与默认值,第21讲,复习,索引的作用 索引的类型 创建索引的方法 系统自动创建索引 用户创建索引 删除索引的方法 alter table 表名 drop constraint 约束名 drop index 索引名,提高检索数据的速度,聚集和非聚集索引 唯一和非唯一索引 单和复合索引,添加主键约束时 添加唯一约束时,create index 索引名 on 表名(列名 asc|desc),引:,请思考: 在创建数据表时,是如何实现数据完整性的?,主键(PRIMARY KEY)约束 唯一(UNIQUE)约束 外键(FOREIGN KEY)约束 检查(CHECK)约束 非空值(NOT NULL)约束 默认值(DEFAULT)约束,实现参照完整性,通过创建表约束来实现的。那么,有哪些约束呢?,第7章 规则与默认值 教学内容,基础知识: 规则对象 默认值对象 实现数据完整性的主要方法,第7章 规则与默认值 学习目标,认知目标: 了解规则对象、默认值对象的定义 了解规则对象和CHECK约束的区别 了解默认值对象和默认值约束的区别 能力目标(重点、难点) : 掌握创建和绑定规则对象的方法 掌握创建和绑定默认值对象的方法,一、规则对象 1. 规则的概述,规则的含义 规则是独立的数据库对象,可以绑定到列上,用来指定列可以接受哪些数据值。 规则是实现域完整性的方法之一。 规则与check约束的区别 check约束是用create/alter table语句在建表或修改表时定义的,嵌入到被定义的表结构中;而规则是用create rule语句创建的,是作为独立的数据库对象来使用的。 在1列上只能使用1个规则,但可以使用多个check约束 1个规则可以应用于多个列,而check约束只能应用于它所定义的列上。,一、规则对象 2.创建规则,语法格式: create rule 规则名 as 条件表达式 书写条件表达式的注意事项: 条件表达式中包含一个以开头的局部变量,该变量是一个接口,用来接收用户向列中输入的数值。,用于指定列值的格式或取值范围,一、规则对象 2.创建规则,实例1:在xscj库中定义1个规则,限制联系电话的格式为“(区号)电话号码”,其中区号为3位,电话号码至少为6位 。,use xscj go create rule r_电话格式 as x like (_ _ _)_ _ _ _ _ _ % ,一、规则对象 3.绑定规则,规则创建好后,必须绑定到列上才能生效。 用系统存储过程实现绑定: exec sp_bindrule 规则名 , 表名.列名 说明: 如果列上已经绑定了规则,当再次向它们绑定规则时,旧规则将被新规则覆盖。 绑定规则后,当有不符合规则的数据输入时,系统会给出错误信息,拒绝接受该值。,一、规则对象 3.绑定规则,实例2:将名为“r_电话格式”的规则绑定到xsqk表的“联系电话”列上。 实例3:将名为“r_正数”的规则分别绑定到xs_kc表的“成绩”和“学分”列。,exec sp_bindrule r_正数, xs_kc.成绩 exec sp_bindrule r_正数, xs_kc.学分,exec sp_bindrule r_电话格式, xsqk.联系电话,一、规则对象 4.解除绑定的规则,用系统存储过程解除绑定 exec sp_unbindrule 表名.列名 实例4:解除绑定在xsqk、xs_kc表列上的规则。,exec sp_unbindrule xsqk.联系电话 exec sp_unbindrule xs_kc.成绩 exec sp_unbindrule xs_kc.学分,一、规则对象 5.删除规则,语法格式: drop rule 规则名,n 说明: 删除一个规则前,必须先将规则从它所绑定的列上解除,否则,会显示错误信息 。 实例5:删除xscj库中的规则。 drop rule r_电话格式, r_正数,二、默认值对象 1.概述,定义 默认值对象是独立的数据库对象,可以绑定到列上,用在插入数据时,用户没有明确给出值,就提供事先定义的默认值。 默认值对象是实现域完整性的方法之一。 默认值约束与默认值对象的区别 默认值约束是用create/alter table语句创建或修改表时定义的,嵌入到被定义的表结构中;默认值对象是用create default语句来创建的,是作为独立的数据库对象来使用的。 在1列上只能使用1个默认值约束或默认值对象。 1个默认值对象可以应用于多个列,而默认值约束只能应用于它所定义的列上。,二、默认值对象 2.创建默认值对象,语法格式: create default 默认值对象名 as 常量表达式 说明: 字符和日期型数据:必须用单引号括起来 二进制数据:必须以0x作前导符 货币型数据:以美元符号$开头 整数和浮点数:不需要任何定界符,二、默认值对象 2.创建默认值对象,实例6:在xscj库中定义1个名为“d_备注”的默认值对象,限制使用了该默认值对象的列的值为“统招生” 。 use xscj go create default d_备注 as 统招生,二、默认值对象 3.绑定默认值对象,绑定默认值对象 exec sp_bindefault 默认值对象名, 表名.列名 实例7:将 默认值对象“d_备注”绑定到xsqk表的“备注”列上。 sp_bindefault d_备注, xsqk.备注,二、默认值对象 4.解除绑定的默认值对象,解除绑定 exec sp_unbindefault 表名.列名,二、默认值对象 5.删除默认值对象,格式: drop default 默认值对象名,n 说明: 删除一个默认值对象之前,应先将默认值对象从它所绑定的列上解除。否则,会显示错误信息。,三、实现数据完整性的主要方法,约束 主键约束(primary key) 唯一约束(unique) 外键约束(foreign key) 检查约束(check) 非空值约束(not null) 默认值约束(default),标识列 索引 规则对象 默认值对象 触发器,本课小结,规则对象 创建规则:create rule 规则名 as 条件表达式 绑定规则:exec sp_bindrule 规则名, 表名.列名 解除规则:exec sp_unbindrule 表名.列名 删除规则:drop rule 规则名,n 默认值对象 实现数据完整性的主要方法,课余作业,课外练习: 教材 课后练习 教材 课外实践 任务1 任务2,课余作业,预习: 第8章 T-SQL编程。 请思考下列问题: T- SQL标识符的命名必须遵循哪些规则? 什么叫常量?如何书写常量? 如何声明变量?如何给变量赋值? 全局变量有哪些特点? T-SQL有哪些类型的函数? T-SQL有哪些类型的运算符?其优先级如何?,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号