实验项目名称: 关系图、索引的使用 实验学时: 3 同组学生姓名: 实验地点:
实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
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窗口中点击工具菜单下的数据库引擎优化顾问菜单项。
21
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数据库引擎优化顾问的作用是什么?
五、问题解答及实验结果
22
实验项目名称: 视图的使用、用户自义函数 实验学时: 3 同组学生姓名: 实验地点:
实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
1、掌握视图的创建和使用;
2、掌握系统内置函数的概念及其应用;
3、通过定义和使用用户自定义函数,掌握自定义函数的概念及其应用。
二、实验设备、环境
奔腾计算机;装有WINDOWS 2000 SERVER或WINDOWS 2003 SERVER及以上版本、SQL Server 2005中文版。
三、实验步骤
1、熟悉视图的创建、修改、删除、查询; 2、熟悉系统内置函数的概念及其应用;
3、熟悉用户自定义函数,掌握自定义函数的概念及其应用;
4、做完实验后写出本实验的实验报告,并将相关电子文档资料保存在以自己学号命名的文件夹中。
四、实验内容
(一)教师重点讲解并演示视图的使用,演示用户自义函数实现方式的使用方法
(二)学生写出实验内容、出现问题及解决方案,以上一个实验的数据库中数据为基础,请实现以下操作: 1、视图的创建、查询、修改和删除
(1)创建名为V_Stu的视图以显示学生的学号、姓名、性别和出生年月等信息。
(2)创建一个名为V_grade的基于多表连接的视图,以显示“2102”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。
(3)分别利用视图V_Stu和V_grade作查询和更新操作。
(4)修改V_Stu视图的定义,为其增加一个条件,使得该视图只显示“CS02”班学生的基本信息。 (5)删除名为V_Stu的视图。 2.自定义函数
2.1 自定义一个名为Sage_func函数,按出生年月计算年龄。然后从Student表中检索出含有年龄的学生信息。注:函数:datediff是常用的日期和时间函数,参数:(datepart,startdate,enddate ),功能:以datepart指定的方式,返回enddate与startdate之差。
2.2 定义一个名为grade_func的自定义函数,将成绩从百分制转化为五级记分制。将该用户定义函数用
23
在查询每个学生的成绩中,给出五级记分制的成绩。
2.3创建自定义标量函数TOTAL()用来计算任意两数之和,并计算39与25的和。
五、问题解答及实验结果
六、实验体会和收获
24
实验项目名称: 触发器 实验学时: 3 同组学生姓名: 实验地点:
实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
1、理解触发器的基本概念、功能、分类;
2、理解并掌握创建、查看、修改、删除触发器的方法; 3、灵活掌握触发器的应用。
二、实验设备、环境
奔腾计算机;装有WINDOWS 2000 SERVER或WINDOWS 2003 SERVER及以上版本、SQL Server 2005中文版。
三、实验步骤
1、理解触发器的基本概念、功能、分类;
2、理解并掌握创建、查看、修改、删除触发器的方法; 3、灵活掌握触发器的应用;
4、做完实验后写出本实验的实验报告,并将相关电子文档资料保存在以自己学号命名的文件夹中。
四、实验内容
(一)教师重点讲解触发器的功能、分类,并演示触发器的创建、查看、修改和删除的方法
(二)学生写出实验内容、出现问题及解决方案,以实验student、MyDB数据库中数据为基础,请使用T-SQL 语句实现以下操作: 1 创建触发器
1.1创建一个触发器trig_1,当向表student中插入一条记录时,自动显示表student中的记录。 该触发器建立完毕后,当执行插入操作时将会显示数据表student中的全部记录。 1.2创建一个触发器trig_2,当修改student表记录时,自动显示‘学生记录已被修改’。
1.3在MyDB中创建触发器trig_3,实现如下功能:当在学生成绩表(Grade)中删除一条学生选课信息后,自动实现更新该学生在学生情况表(Student)中的总学分信息。
1.4在MyDB中创建触发器trig_4,实现当修改学生情况表(Student)中的某个学生的学号时,对应学生成绩表(Grade)中的学号也作修改。 2.修改触发器
对已创建的触发器trig_2进行修改,实现当修改学生(Student)中的数据时,显示提示信息“学生表中XXX号学生记录被修改了”。
3. 使用系统存储过程sp_help、sp_helptext、sp_depends和sp_helptrigger分别查看触发器trig_3的不同信息
25