数据库实验报告三.docx
- 文档编号:26571023
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:12
- 大小:504.95KB
数据库实验报告三.docx
《数据库实验报告三.docx》由会员分享,可在线阅读,更多相关《数据库实验报告三.docx(12页珍藏版)》请在冰豆网上搜索。
数据库实验报告三
实验三视图、索引、存储过程和触发器的使用
3.1实验名称:
视图、索引、存储过程和触发器的使用
3.2实验类型:
验证型
3.3实验学时:
3h
3.4实验目的:
1.掌握视图的概念和使用方法;
2.掌握索引的概念和使用方法;
2.掌握存储过程的概念和使用方法;
3.掌握触发器的概念和使用方法;
3.5实验准备:
1.了解视图的概念和作用;
2.掌握视图相关的命令;
3.了解索引的作用与分类;
4.掌握索引的创建方法;
5.理解数据完整性的概念及分类;
6.了解各种数据完整性的实现方法;
7.了解存储过程的使用方法;
8.掌握存储过程的调用方法;
9.了解触发器的使用方法;
3.6实验内容:
3.6.1视图
1.创建视图
(1)在STUDENT表中,为信息管理及信息系统022班建立视图V1_STU,在查询分析器中输入下列语句:
思考与练习:
1)在STUDENT表中,为信息管理与信息系统建立视图SV1_STU。
(2)创建V3_STU_COU视图,包括学号,课程号,课程名,成绩,要保证对该视图的修改都要符合班为信息管理及信息系统2班这个条件:
思考与练习:
在STUDENT和CLASS两表中,建立视图V4_STU_CLA,包含学号,班号,学院号,姓名,性别。
2.查询视图
(1)查找信息管理及信息系统2班男生的学号和出生日期:
思考与练习:
1)查找v4_STU_CLA视图中学号为kt873所在的班号和学院号。
2)查找信管2班平均成绩在80分以上的学生的学号和平均分数:
思考与练习:
统计信管2班平均成绩在80分以上的学生的个数
3.更新视图
可更新视图满足以下条件:
A)创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUPBY、UNION子句及DISTINCT关键字。
B)创建视图的SELECT语句中不包含从基本表列通过计算所得的列。
C)创建视图的SELECT语句的FROM子句中至少要包含一个基本表。
(1)向V1_STU插入一条记录(‘1’,’kt873’,’艾龙’,’男’,’1990-3-21’,’湖北’,’234567’,’艾妮’):
思考与练习:
向v4_Stu_Cla视图插入一条记录。
注:
1)当视图所依赖的基本表有多个时,不能向该视图插入数据.
2)向可更新的分区视图中插入数据时,系统会按照插入记录的键值所属的范围,将数据插入到其键值所属的基本表中。
(2)将信管2班中学号为24的学生的KT070050课程成绩改为90分:
思考与练习:
将V2_STU班中性别为男的值改为女。
(3)删除V2_STU中女同学的记录:
思考与练习:
删除V4_STU_CLA中,班号为’kt853’的记录。
4.修改视图定义
(1)将V1_STU修改成只包含信息管理及信息系统2班的学号和姓名:
思考与练习:
将SV3_STU_CLA修改成只包含学号,班号,学院号
(2)删除V4_AVG视图
思考与练习:
删除v4_STU_CLA视图。
3.6.2索引
1.对STUDENT表的STUDENT_ID列建立索引,在查询分析器编辑窗口中输入下列程序并执行:
思考与练习:
为COURSE表中的COURSE_ID建立索引COU_IND。
3.6.3触发器
对于STUDENT数据库,表STUDENT的CLASS_ID列与表CLASS的CLASS_ID满足下列参照完整性规则:
A.向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作;
B.修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改;
C.删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录;
在查询分析器编辑窗口输入下列触发器的代码并执行。
(1)向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作
(2)修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改:
IF(COLUMNS_UPDATED()):
测试是否插入或更新了提及的列,仅用于INSERT或UPDATE触发器中。
COLUMNS_UPDATED返回varbinary位模式,表示插入或更新了表中的哪些列。
COLUMNS_UPDATED函数以从左到右的顺序返回位,最左边的位表示表中的第一列;向右的下一位表示第二列,依此类推。
在INSERT操作中COLUMNS_UPDATED将对所有列返回TRUE值,因为这些列插入了显式值或隐性(NULL)值。
(3)删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录:
3.6.4存储过程
1.添加学生记录的存储过程STUDENTAdd.
2.修改学生记录的存储过程STUDENTUpdate.
3.删除学生记录的存储过程STUDENTDelete:
4.调用三个存储过程:
实验总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告