第6讲索引约束与数据库其它对象.ppt

上传人:本田雅阁 文档编号:2578359 上传时间:2019-04-11 格式:PPT 页数:22 大小:310.01KB
返回 下载 相关 举报
第6讲索引约束与数据库其它对象.ppt_第1页
第1页 / 共22页
第6讲索引约束与数据库其它对象.ppt_第2页
第2页 / 共22页
第6讲索引约束与数据库其它对象.ppt_第3页
第3页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第6讲索引约束与数据库其它对象.ppt》由会员分享,可在线阅读,更多相关《第6讲索引约束与数据库其它对象.ppt(22页珍藏版)》请在三一文库上搜索。

1、第6讲 索引、约束与数据库其它对象,索引,问题 如何提高查询速度? 某些列如何保证没有重复值或满足一定条件? 如何保证数据的参照完整性? 概念: 索引是一个表中所包含的值以及相应的存储位置的列表 分类: 聚集索引 非聚集索引 复合索引 唯一索引,何时使用索引,在那些经常被用来查询的列上建立索引,以提高查找效率 【例子】在Student表中可以分别建立基于学号、姓名的索引 索引将占用磁盘空间,并且降低添加、删除和更新行的速度,所以要慎用!,创建索引,使用企业管理器 【问题】在Student表上创建基于StuName列,名为IX_StuName的非聚集、非唯一索引 注意:创建主键约束何唯一约束时,

2、会自动在这些列上创建唯一索引,创建索引(续),使用SQL语句 【问题】在表course中的课程名称列上建立唯一索引 【练习】使用SQL语句在StuCou表上创建名为IX_StuNoCouNo的聚集、唯一、复合索引,该索引基于StuNo列和CouNo列创建,复合索引说明,在(字段1,字段2)上创建的复合索引和在(字段2,字段1)上创建的复合索引是不同的 查找数据时,只有在where子句中指定了索引的第一个字段时才使用该复合索引 复合索引中字段的顺序很重要:在次序上首先定义最具唯一性的字段列,删除索引,使用企业管理器 使用SQL语句 格式: DROP INDEX table_name.index_

3、name 【问题】删除StuCou表中的IX_StuNoCouNo索引 思考:student表中的索引PK_Student可以删除吗?,管理索引,显示索引信息 sp_helpindex table_name 重命名索引 sp_rename table_name.old_index_name, new_index_name 使用企业管理器,索引分析,索引分析 显示在查询时索引使用情况: set showplan_all on|off 例:在stucou的couno上建索引,然后执行一个查询,并分析索引。,约束概述,约束的作用:保证了数据的完整性 提问:数据完整性有几类? 约束的种类: 课本P16

4、6,UNIQUE约束,UNIQUE约束要求字段的值不能重复,同时允许字段的值为空 【问题】为Student表创建基于Pwd列,名为UQ_Student的唯一约束 说明:一个表格可以创建多个UNIQUE约束,它主要用于不是主键但又要求不能有重复值的字段,DEFAULT约束,如果用户没有为定义了DEFAULT约束的字段输入数据,则由该约束提供默认的数据(避免空值的有效方法之一) 【问题】为StuCou表的State字段建立DEFAULT约束,提供“报名”的默认值 说明:一个字段只能建立一个DEFAULT约束,Check约束,限制表的某些字段满足一定条件 【问题】要求course表的字段couno的

5、值只允许三位数字,主键约束,主键约束 某列或几个列的组合,其值能唯一标识表中一行 。 【问题】在表course字段CouNo上设置主键,外键约束,外键约束 建立两个表之间的联系 【问题】要保证class表中的系代码在表Department中存在,请创建外键,删除约束,格式: Alter Table table_name DROP CONSTRAINT constraint_name,默认值(default),默认值是一种独立存储的数据库对象,其作用和默认约束是一样的。在创建之后,可以用到表中的一列或多列上,也可以用到用户自定义的数据类型。 实现方法 先创建(create default),再绑

6、定(sp_bindefault)到列或用户自定义数据类型,【问题】创建一个默认d_bm,默认值为报名。然后绑定到表StuCou的列state。 思考:这里的默认值和我们第7章讲的默认约束有什么异同?,默认值(续),删除方法 先解除绑定(sp_unbindefault),再删除,规则(rule) 【自学】,注意: 先创建规则,再绑定到列或用户自定义数据类型上 先解除绑定,再删除规则 【练习】创建规则r_crt,内容是限制值在15之间。然后绑定到表Course的列Credit上,使学分限制在1到5之间。 思考: 规则和第7章讲的CHECK约束的区别,用户自定义函数(function),创建方法: 【问题】创建一函数,求两个数之差 使用方法: 【问题】为Course增加一列RemainNum,使用前面定义的函数与其绑定,小结,理解:各种索引、约束分别用在什么情况下 重点:掌握创建各种索引和约束的方法 默认值 规则 用户自定义函数 注意:这些都是数据库的对象,而不属于某个表格(不同于约束和索引),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1