欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库应用实验报告视图存储过程触发器等的建立与维护(共10页).doc

    • 资源ID:14495728       资源大小:168.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库应用实验报告视图存储过程触发器等的建立与维护(共10页).doc

    精选优质文档-倾情为你奉上内蒙古工业大学信息工程学院实 验 报 告课程名称: 数据库应用 实验名称: 视图存储过程触发器等的建立与维护 实验类型: 验证性 综合性 设计性实验室名称: 班级: 学号: 姓名: 组别: 同组人: 成绩: 实验日期: 预习报告成绩: 指导教师审核(签名): 年 月 日预习报告一、实验目的1学会使用企业管理器建立视图,应用视图插入、删除、修改数据;2掌握存储过程的使用方法;3掌握触发器的使用方法。二、实验内容 此实验是综合视图、存储过程、触发器等知识应用的一个综合性实验。实验要求:1利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;2掌握应用更新视图数据可以修改基本表数据的方法;3熟练掌握添加、修改、删除记录的存储过程的定义及调用;4掌握通过触发器来实现数据的参照完整性。实验内容要求: 利用员工管理数据库YGGL中 3个表:Employees:员工自然信息表、Departments:部门信息表、Salary:员工薪水情况表。(1) 利用YGGL各表建立视图实现各种连接查询。建立视图view1,查询所有职工的员工编号、姓名、部门名和收入,并按部门名顺序排列。建立视图view2,查询所有职工的员工编号、姓名和平均工资。建立视图view3,查询各部门名和该部门的所有职工平均工资。(2) 编写对YGGL各表进行插入、修改、删除操作的存储过程,然后编写程序,调用这些存储过程。创建一个为Employees表添加员工记录的存储过程addEmployees。创建一个存储过程delEmployees删除Employees表中指定员工编号的记录。(3) 对于YGGL数据库,请用触发器实现两个表间的参照完整性。在表Departments上创建一个触发器Departments _update,当更改部门编号时同步更改Employees表中对应的部门编号。在表Employees上创建一个触发器Employees _delete,当删除员工记录时同步删除salary表中对应的工资收入记录。参考实例步骤: 1.创建视图(1)班级表(U_CLASSES ):ID含义为"班号",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)姓名3CLASS_IDtinyint所在班级编号1. 用企业管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图显示学号、姓名、课程、成绩。 1) 启动企业管理器、注册、连接 2) 展开服务器、数据库、在视图上右击,在快捷菜单中执行"新建视图(V)." 3) 在新视图窗口内的关系图窗格内右击鼠标,弹出的菜单即为视图设计菜单,执行"添加表(B)." 4) 再在添加表对话框中选择U_SCORES表,再单击添加按钮。 5) 依此操作,分别添加U_STUDENTS、U_COURSES表,单击关闭按钮。 6) 再在关系窗格内,拖动U_STUDENTS表的"ID"至U_SCORES的STUDENT_ID,拖动U_COURSES表的"ID"至U_SCORES的COURSE_ID,再分别选中U_STUDENTS表的"ID","NAME"列(列前的复选框),U_COURSES表的"COURSE"列以及U_SCORES表的"SCORE"列,然后单击"!"按钮,显示视图结果。7) 单击保存按钮,将视图保存为V_SCORES,单击确定。 2. 用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下: 1) CREATE VIEW dbo.V_STUDENTSASSELECT dbo.U_STUDENTS.ID,dbo.U_STUDENTS.NAME, dbo.U_CLASSES.CLASS, dbo.U_CLASSES.DEPARTMENTFROM dbo.U_STUDENTS INNER JOINdbo.U_CLASSES ON dbo.U_STUDENTS.CLASS_ID = dbo.U_CLASSES.ID 3. 自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号、课程名、学分。 2创建存储过程在查询分析器编辑窗口输入各存储过程的代码并执行以下程序。(1) 添加职员记录的存储过程EmployeeAdd: USE YGGL GO CREATE PROCEDURE Emplo)reeAdd(employeeid char6),name char(10),birthday datetime,sex bit,address char(20),zip char(6),phonenumber char(12),emailaddress char(20),departmenflD char(3) AS BEGIN INSERT INTO Employees VALUES(employeeid,name,birthday,sex,address,zip,phonenumber,emailaddress,departmentlD) END RETURN GO(2) 修改职员记录的存储过程EmployeeUpdate: USE YGGLGO CREATE PROCEDURE EmployeeUpdate (empid char(6),employeeid char(6),name char(10),birthday datetime, sex bit,address char(20),zip chat(6),phonenumber char(12), emailaddress char(20),departmentlD char(3) AS BEGIN UPDATE Employees SET Employeeid=employeeid, Name=name Birthday=birthday, Sex=sex, Address=address Zip=zip, Phonenumber=-phonenumber, Emailaddree=emailaddress DepartmentD=departmenflD WHERE Employeeid=empid END RETURN GO(3) 删除职员记录的存储过程EmployeeDelete: USE YGGL GO CREATE PROCEDURE EmployeeDelete(employeeid char(6) AS BEGIN DELETE FROM EmployeesWHERE Employeeid=employeeid ENDRETURNG03调用存储过程 USE YGGL EXEC EmployeeAdd,刘朝,1,武汉小洪山5号,”,”,”,3 GO USE YGGL EXEC Employeeupdate,,刘平, ,1,武汉小洪山5号,”,”,”,2 GO USE YGGI, EXEC EmployeeDelete GO 分析一下此段程序执行时可能出现哪几种情况。 【思考与练习】 编写如下T-SQL程序:(1) 自定义1个数据类型,用于描述YGGL数据库中的DepartmentlD字段,然后编写代码重新定义数据库各表。(2) 编写对YGGL各表进行插入、修改、删除操作的存储过程,然后,编写l段程序调用这些存储过程。(3)对于YGGL数据库,表Employees的EmployeelD列与表Salary的EmployeelD列应满足参照完整性规则,请用触发器实现两个表问的参照完整性。 4.创建触发器对于YGGL数据库,表Employees的DepartmentID列与表Departments的DepartmentID列对应满足参照完整性规则,即:(1) 向Employees表添加1条记录时,该记录的DepartmentID值在Departments表中应存在。(2) 修改Departments表DepartmentID 字段值时,该字段在Employees表中的对应值也应修改。(3) 删除Departments表中1条记录时,该记录DepartmentID字段值在Employees表中对应的记录也应删除。对于上述参照完整性规则,在此通过触发器实现。在查询分析器编辑窗口输入各触发器的代码并执行:向Employees表插入或修改1条记录时,通过触发器检查记录的DepartmentID值在Departments表是否存在,若不存在,则取消插入或修改操作。USE YGGLGOCREATE TRIGGER EmployeesIns on dbo.EmployeesFOR INSRET,UPDATEASBEGIN IF(SELECT ins.departmentid from inserted ins)NOT IN (SELECT departmentid FROM departments) ROLLBACK *对当前事务回滚,即恢复到插入前的状态 END 修改Departments表departmentID字段值时,该字段在Employees表中的对应值也进行相应修改。 USE YGGL GO CREATE TRIGGER DepartmentsUpdate on dboDepartments FoR UPDATE AS BEGIN IF(COLUMNS_UPDATED()&01)>0 UPDATE Employees SET DepartmentlD=(SELECT ins.DepartmentlD from INSERTED ins) WHERE DepaxtmentlD=(SELECT DepartmentlD FROM deleted) END GO 删除Departments表中1条记录的同时删除该记录departmentlD字段值在Employees表中对应的记录。 USE YGGL GO CREATE TRIGGER DepartmentsDelete On db.Departments FOR DELETE AS BEGIN DELETE FROM Employees WHERE DepartmentlD=(SELECT DepartmentlD FROM deleted) ENDGO【思考与练习】上述触发器的功能用完整性的方法完成。【思考与练习】 编写如下T-SQL程序:(1) 自定义1个数据类型,用于描述YGGL数据库中的DepartmentlD字段,然后编写代码重新定义数据库各表。(2) 对于YGGL数据库,表Employees的EmployeelD列与表Salary的EmployeelD列应满足参照完整性规则,请用触发器实现两个表间的参照完整性。 实验报告成绩: 指导教师审核(签名): 年 月 日实验报告1. 添加职员记录的存储过程EmployeeAdd: 2. 修改职员记录的存储过程EmployeeUpdate:3. 删除职员记录的存储过程EmployeeDelete4. 调用存储过程5. 向Employees表插入或修改1条记录时,通过触发器检查记录的DepartmentID值在Departments表是否存在,若不存在,则取消插入或修改操作。6.修改Departments表departmentID字段值时,该字段在Employees表中的对应值也进行相应修改。7. 删除Departments表中1条记录的同时删除该记录departmentlD字段值在Employees表中对应的记录专心-专注-专业

    注意事项

    本文(数据库应用实验报告视图存储过程触发器等的建立与维护(共10页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开