实验项目名称: 关系图、索引的使用 实验学时: 3 同组学生姓名: 实验地点:NIIT项目实验室(二分室)1514
实验日期: 5月19日 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
1、掌握关系图的概念、方法; 2、掌握关系图的创建和使用方法; 3、了解数据库引擎优化顾问的使用及作用; 4、理解索引的概念、索引的分类、查询优化的作用;
5、掌握创建索引的两种方式、索引的管理,学会运用索引的相关管理命令。
二、实验设备、环境
奔腾计算机;装有WINDOWS 2000 SERVER或WINDOWS 2003 SERVER及以上版本、SQL Server 2005中文版。
三、实验步骤
1、掌握关系图的创建和使用方法; 2、查看数据库引擎优化顾问的使用及方法;
3、理解索引的概念、优点、索引的创建和索引的管理; 4、灵活掌握各种使用索引的相关命令;
5、做完实验后写出本实验的实验报告,并将相关电子文档资料保存在以自己学号命名的文件夹中。
四、实验内容
(一)教师重点讲解并演示关系图的创建和使用,数据库引擎优化顾问,索引的概念、作用和使用方法 (二)学生写出实验内容、出现问题及解决方案,以实验student、MyDB数据库中数据为基础,请使用T-SQL 语句实现以下操作: 1.创建关系图
根据数据表的实际情况,为student数据库创建关系图,击右键,调出创建关系图的快捷菜单并进入其界面,然后选中表Student、Course、sc,选择表中相应的属性,找出对应主、外码间的对应关系,建立表间的关联关系图,对它进行保存、删除、重命名等操作。 2. 查看数据库引擎优化顾问的使用及方法 2.1数据库引擎优化顾问的启动
在 Windows 的“开始”菜单上,依次点击“所有程序”——Microsoft SQL Server 2005 ——“性能工具”——“数据库引擎优化顾问”。 也可以在打开的SSMS窗口中点击工具菜单下的数据库引擎优化顾
37
问菜单项。
2.2在打开的数据库引擎优化顾问的布局下使用GUI方式的数据库引擎优化顾问的步骤
创建新会话,选择工作负荷;点击优化选项可以进行优化设置;点击工具栏上的“开始分析”按钮;根据优化分析结果调整数据库和表的分区或索引结构。 3. 索引的创建、查看、重命名和删除
3. 1为MyDB库的Student表创建一个基于学分和学号的索引idex_xh,其中学分按降序排列,当学分相同时,按学号升序排列,填充因子为60%。
3. 2为MyDB库的学生表创建一个基于班级和姓名的索引idex_cla_name,其中将班号按升序、学生姓名按降序排列,填充因子为80%。
3. 3 利用索引管理器查看表的各个索引。
3. 4 利用查询分析器的命令查看表的各个索引,重命名索引idex_xh,再删除之。 3. 5表述关系图的创建方法。 3. 6索引的优点、缺点?
3. 7数据库引擎优化顾问的作用是什么?
五、问题解答及实验结果
1.创建关系图
根据数据表的实际情况,为student数据库创建关系图,击右键,调出创建关系图的快捷菜单并进入其界面,然后选中表Student、Course、sc,选择表中相应的属性,找出对应主、外码间的对应关系,建立表间的关联关系图,对它进行保存、删除、重命名等操作。
2. 查看数据库引擎优化顾问的使用及方法
38
2.1数据库引擎优化顾问的启动
在 Windows 的“开始”菜单上,依次点击“所有程序”——Microsoft SQL Server 2005 ——“性能工具”——“数据库引擎优化顾问”。 也可以在打开的SSMS窗口中点击工具菜单下的数据库引擎优化顾问菜单项。
2.2在打开的数据库引擎优化顾问的布局下使用GUI方式的数据库引擎优化顾问的步骤
创建新会话,选择工作负荷;点击优化选项可以进行优化设置;点击工具栏上的“开始分析”按钮;根据优化分析结果调整数据库和表的分区或索引结构。
3. 索引的创建、查看、重命名和删除
3. 1为MyDB库的Student表创建一个基于学分和学号的索引idex_xh,其中学分按降序排列,当学分相同时,按学号升序排列,填充因子为60%。
CREATE NONCLUSTERED INDEX idex_xh ON dbo.Student (
Sdept ASC, Cno DESC
)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF,FILLFACTOR=80) ON PRIMARY
3. 2为MyDB库的学生表创建一个基于班级和姓名的索引idex_cla_name,其中将班号按升序、学生姓名按降序排列,填充因子为80%。
CREATE NONCLUSTERED INDEX idex_class_name ON dbo.Student (
SName DESC, ClsNo ASC
)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF,FILLFACTOR=80) ON PRIMARY
3. 3 利用索引管理器查看表的各个索引。 exec sp_helpindex Student
39
3. 4 利用查询分析器的命令查看表的各个索引,重命名索引idex_xh,再删除之。 exec sp_helpindex Student
drop index index_total_xh on Student
3. 5表述关系图的创建方法。
打开管理器中的数据库展开——选择关系图节点——在右侧的内容区域,选择右键——新建数据库关系图——出现创建数据库关系图向导——下一步——切换到选择添加的表窗口中,左边选择可用的表,要添加的关系图中的表——下一步——完成 3. 6索引的优点、缺点? 优点:
创建索引可以大大提高系统的性能。
第一通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 缺点:
第一创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 3. 7数据库引擎优化顾问的作用是什么?
DTA是一种工具,用于分析在一个或多个数据库中运行的工作负荷的性能效果 工作负荷是对要优化的数据库执行的一组SQL语句,有三种文件类型:trc,xml,sql
分析数据库的工作负荷效果后,数据库引擎优化顾问会提供在数据库中添加、删除或修改物理设计结构的建议
使用数据库引擎优化顾问优化数据库并不需要数据库结构、工作负荷或sql server内部工作方面的专业知识 思考题
1、关系图的创建方法。
打开管理器中的数据库展开——选择关系图节点——在右侧的内容区域,选择右键——新建数据库关系图——出现创建数据库关系图向导——下一步——切换到选择添加的表窗口中,左边选择可用的表,要添加的关系图中的表——下一步——完成
2、索引的优点、缺点? 优点:
40

