网站大量收购独家精品文档,联系QQ:2885784924

数据库原理电子教案:第七章 索引与数据完整性.doc

数据库原理电子教案:第七章 索引与数据完整性.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理电子教案:第七章 索引与数据完整性

第7章 索引与数据完整性 课题:索引与数据完整性 目的要求: 掌握数据库表索引的用法 掌握完整性约束的一般内容 掌握主键完整性、唯一性、外键、检查完整性和默认完整性约束的使用方法 重点难点: 主键完整性和检查完整性约束的设计 课外作业布置: 复习本节课内容,完成本章习题 索引与数据完整性 复习提问 1、说明系统数据类型与自定义数据类型的异同点。 2、说明就是@@VAR1与@VAR2的区别。 3、要声明变量V,并赋值,其语句如下,指出其错误: declare V int(3) V=(select * from class_info ) 4、指出下面函数的运行结果: (1) left(‘school’,3) ‘social’+space(3)+’work’ (2) DATENAME(month,getdate()) CEILING (15.2) 5、删除自定义数据类型mytype和删除自定义函数myfun的SQL命令分别是什么? 7.1 索 引 7.1.1 索引的分类 索引是依赖于表建立的,它提供了数据库中排列表中数据的内部方法。一个表的存储由两部分组成:一部分用来存放表的数据页面,另一部分存放索引页面。SQL Server索引分为聚集、非聚集和惟一索引三种类型。 1.聚集索引是指数据行的物理存储顺序与索引顺序完全相同。每个表只能包括一个聚集索引,但是聚集索引可以包含多个列(最多16个),此时称为复合索引。只有当表包含聚集索引时,表内的数据行才按一定的排列顺序存储。 2.非聚集索引:具有完全独立于数据行的结构,索引不改变表中数据行的物理存储顺序。非聚集索引的最低行包含非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。数据行不按基于非聚集键的次序存储。 3.惟一索引:可以确保所有数据行中任意两行的被索引列不包括NULL在内的重复值。如果是复合惟一索引,则此索引可以确保索引列中每个组合都是惟一的。 7.1.2 索引的创建 1.使用CREATE INDEX创建聚集索引 (1)创建索引的完整语法 CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON { table | view } ( column [ ASC | DESC ] [ ,…n ] ) } (2)参数说明 ① UNIQUE:为表或视图创建惟一索引。 ② CLUSTERED:创建一个聚集索引。 ③ NONCLUSTERED:创建一个非聚集索引。 ④ index_name:是索引名。索引名必须遵循标识符规则。 ⑤ table:包含要创建索引的列的表。可以选择指定数据库和表所有者。 ⑥ view:要建立索引的视图的名称。 ⑦ column:应用索引的列。 ⑧ [ASC | DESC]:升序或降序,默认设置为ASC。索引字段可以有多个,排序方向可以不同。 【例7-1】对STUDENT数据库中的学生表按照学号降序建立一个聚集索引,索引名为idx_xh。 create clustered index idx_xh on student_info(student_id desc) 2.使用企业管理器来创建非聚集索引 【例7-2】对STUDENT中的学生表,按照学生姓名升序建立一个非聚集索引idx_xm。 方法:选择表,右击,所有任务,管理索引 3.使用企业管理器中的向导建立索引 方法:工具-向导-数据库-创建索引向导。 7.1.2 索引的删除 1.使用DROP INDEX删除聚集索引 DROP INDEX命令可以删除一个或多个当前数据库中的索引,不能删除由CREATE TABLE或ALTER TABLE命令创建的PRIMARY KEY 或UNIQUE约束索引,也不能删除系统表中的索引。 删除索引的完整语法 DROP INDEX 表名.索引名 | 视图名.索引名 【例7-3】删除Student数据库中的学生表中的“idx_xm”索引。 命令:drop index student_info.idx_xm 2.使用企业管理器删除索引 (1)选择表; (2)右击表,选择“所有任务→管理索引”,在出现如图所示的对话框中,选择“删除”按钮。选择“是”按钮,即完成索引的删除。 7.2 数据完整性 7.2.1 数据完整性的分类 数据完整性是指数据的精确性和可靠性,它是为了防止数据库中存在不符合语义规定的数据和因错误信息的输入、输出造成无效操作或错误信息而提出的,数据完整性分为三类实体完整性: 实体完整性; 参照完整性; 用户自定义完整性。 7.2.1 数据完整性的分类 1.实体完整性的实现

您可能关注的文档

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档