资源描述:
《数据库应用实验报告视图存储过程触发器等的建立与维护》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、内蒙古工业大学信息工程学院实验报告课程名称:数据库应用实验名称:视图存储过程触发器等的建立与维护实验类型:验证性□综合性□设计性□实验室名称:班级:学号:姓名:组别:同组人:成绩:实验日期:预习报告成绩:指导教师审核(签名):年月日预习报告一、实验目的1.学会使用企业管理器建立视图,应用视图插入、删除、修改数据;2.掌握存储过程的使用方法;3.掌握触发器的使用方法。二、实验内容此实验是综合视图、存储过程、触发器等知识应用的一个综合性实验。实验要求:1.利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;2.掌握应用更新视图数据可以修改基本表数据的方法;3.
2、熟练掌握添加、修改、删除记录的存储过程的定义及调用;4.掌握通过触发器来实现数据的参照完整性。实验内容要求:利用员工管理数据库YGGL中3个表:Employees:员工自然信息表、Departments:部门信息表、Salary:员工薪水情况表。(1)利用YGGL各表建立视图实现各种连接查询。建立视图view1,查询所有职工的员工编号、姓名、部门名和收入,并按部门名顺序排列。建立视图view2,查询所有职工的员工编号、姓名和平均工资。建立视图view3,查询各部门名和该部门的所有职工平均工资。(2)编写对YGGL各表进行插入、修改、删除操作的存储过程,然后编写程序,调用这些存储过
3、程。创建一个为Employees表添加员工记录的存储过程addEmployees。创建一个存储过程delEmployees删除Employees表中指定员工编号的记录。(3)对于YGGL数据库,请用触发器实现两个表间的参照完整性。在表Departments上创建一个触发器Departments_update,当更改部门编号时同步更改Employees表中对应的部门编号。在表Employees上创建一个触发器Employees_delete,当删除员工记录时同步删除salary表中对应的工资收入记录。参考实例步骤:1.创建视图(1)班级表(U_CLASSES):ID含义为"班号",
4、CLASS含义为"班名",DEPARTMENT含义为所在系,各字段类型按需要设置是否允许为空,ID字段被设置为主键。(2)成绩表(U_SCORES):STUDENT_ID含义为学号,COURSE_ID含义为课程号,SCORE为成绩,各字段类型按需要设置是否允许为空,STUDENT_ID、COURSE_ID字段被设置为主键。(3)课程表(U_COURSES):COURSE含义为课程名称,ID含义为课程编号,CREDIT含义为课程学分。(4)学生表(U_STUDENTS),表结构如下:序号字段类型(长度)主键含义1IDchar(10)是学号2NAMEvarchar(16) 姓名3CL
5、ASS_IDtinyint 所在班级编号1.用企业管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图显示学号、姓名、课程、成绩。1)启动企业管理器、注册、连接2)展开服务器、数据库、在视图上右击,在快捷菜单中执行"新建视图(V)..."3)在新视图窗口内的关系图窗格内右击鼠标,弹出的菜单即为视图设计菜单,执行"添加表(B)..."4)再在添加表对话框中选择U_SCORES表,再单击添加按钮。5)依此操作,分别添加U_STUDENTS、U_COURSES表,单击关闭按钮。6)再在关系窗格内,拖动U_STUDENTS表的"ID"至U_SCORES的STUDENT_ID,拖动U
6、_COURSES表的"ID"至U_SCORES的COURSE_ID,再分别选中U_STUDENTS表的"ID","NAME"列(列前的复选框),U_COURSES表的"COURSE"列以及U_SCORES表的"SCORE"列,然后单击"!"按钮,显示视图结果。7)单击保存按钮,将视图保存为V_SCORES,单击确定。2.用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下:1)CREATEVIEWdbo.V_STUDENTSASSELECTdbo.U_STUDENTS.ID,dbo.U_STUDENTS.NAME,db
7、o.U_CLASSES.CLASS,dbo.U_CLASSES.DEPARTMENTFROMdbo.U_STUDENTSINNERJOINdbo.U_CLASSESONdbo.U_STUDENTS.CLASS_ID=dbo.U_CLASSES.ID3.自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号、课程名、学分。2.创建存储过程在查询分析器编辑窗口输入各存储过程的代码并执行以下程序。(1)添加职员记录的存储过程EmployeeAdd:USEY