实验六-触发器
- 格式:pdf
- 大小:348.79 KB
- 文档页数:6
信息工程学院《数据库原理与应用》课程实验手册
1
实验六
实验名称: 触发器 、实验性质: 设计性 、成绩:
实验学时数 : 3学时 、姓名: 候坤祥 、学号: 5006150048
一、实验目的和要求
掌握数据库编程及触发器的实现方法。
二、教学要求
1.掌握基本的数据库编程知识(变量使用和分支语句);
2.了解触发器的使用方法;
3.了解inserted逻辑表和deleted逻辑表的使用;
4.掌握DML触发器的创建方法;
5.理解用触发器能够实现数据完整性的原理。
三、实验内容
在Student_DB中做如下操作:
(1)查询学号为201215121的姓名和所选修的课程门数,当门数为2门及以上时,则
输出“XX,已经完成了选课”,否则输出“XX,还需选课”。(提示:需定义变量存储
选修的课程门数和学生姓名)
(2)在数据库中查找姓名为“张立”的学生,若找到,输出该学生的学号,姓名,年
龄,院系,否则,输出“查无此人”的信息。(提示:用if exists)
(3)在Student表上创建一个触发器,每次有插入操作时,都设置变量@str的值为
"Trigger is working",并输出显示出来。
(4)按课本P166页的方式创建TEACHER表(在此之前需创建DEPT表)。并在此教师
表中定义一个AFTER触发器,为教师表Teacher定义完整性规则“教授的工资不得低
于4000元,如果低于4000元,自动改为4000元”。并进行触发器的验证。
(5)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,
使更新一个学生的学号信息时能够级联的更新此学生在SC表中的选课记录的学号信
息,并进行验证。
(6)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,
使删除一个学生时能够级联的删除此学生在SC表中的选课记录,并进行验证。
信息工程学院《数据库原理与应用》课程实验手册
2
四
、
实
验
过
程
实验过程、存在的问题及解决办法:
在Student_DB中做如下操作:
(1)查询学号为201215121的姓名和所选修的课程门数,当门数为2门
及以上时,则输出“XX,已经完成了选课”,否则输出“XX,还需选课”。
(提示:需定义变量存储选修的课程门数和学生姓名)
(2)在数据库中查找姓名为“张立”的学生,若找到,输出该学生的学
号,姓名,年龄,院系,否则,输出“查无此人”的信息。(提示:用if
exists)
信息工程学院《数据库原理与应用》课程实验手册
3
(3)在Student表上创建一个触发器,每次有插入操作时,都设置变量
@str的值为"Trigger is working",并输出显示出来。
(4)
测试:
(5)按课本P166页的方式创建TEACHER表(在此之前需创建DEPT表)。
并在此教师表中定义一个AFTER触发器,为教师表Teacher定义完整性规
则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。
并进行触发器的验证。
信息工程学院《数据库原理与应用》课程实验手册
4
(6)首先解除Student表和SC表的参照关系。然后在Student表上创建
一个触发器,使更新一个学生的学号信息时能够级联的更新此学生在SC
表中的选课记录的学号信息,并进行验证。
在表Student展开的列表里删除外键,即参照关系,然后创建触发器
信息工程学院《数据库原理与应用》课程实验手册
5
(7)首先解除Student表和SC表的参照关系。然后在Student表上创建
一个触发器,使删除一个学生时能够级联的删除此学生在SC表中的选课
记录,并进行验证。
信息工程学院《数据库原理与应用》课程实验手册
6
五
、 实 验 总 结 本章实验做得比较艰难,对DML触发器的创建方法掌握的不是很熟
练 ,创建触发器的语句也掌握不是很熟练,不能很好理解用触发器能够
实现数据完整性的原理,课下有待加强