华南理工大学 计算机学院 数据库 实验二 报告.docVIP

华南理工大学 计算机学院 数据库 实验二 报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华南理工大学 《数据库》课程实验报告 实验题目: 实验二:数据库的安全和完整性约束 姓名: 学号: 班级: 17计科一班 组别: 无 合作者: 无 指导教师: 董守玲 实验概述 【实验目的及要求】 实验目的: 通过创建视图、触发器,设计安全机制等方式掌握数据库的安全和完整性的设计。 实验要求: 1. 采用实验一的建库脚本和数据插入脚本创建Student数据库,并完成以下操作: 1)新增表Credits(SNO,SumCredit,NoPass),表示每学生已通过选修课程的合计学分数,以及不及格的课程数。 2)创建视图Student_Grade(Sname,Cname,Grade),表示学生选修课程及成绩的详细信息。 2. 在数据库中创建以下触发器: 1) Upd_Credit 要求:当在SC表中插入一条选课成绩,自动触发Upd_Credit,完成在Credits表中修改该学生的合计学分数和不及格的课程数。 2) Upd_StuView (Instead of触发器) 要求:当对视图Student_Grade作插入数据项操作时,自动触发Upd_StuView,完成对SC表的插入操作。 如:当执行Insert into Student_Grade values(‘王刚’,’数据库’,54) 则触发器完成另一插入操作:Insert into SC values(‘980201’,’CS-110’,54) 另外,需要检查当前插入的学生和课程是否已在Students,和Courses表中存在,如不存在,不执行任何操作,并提示用户错误信息。 3) PK_SC,FK_SC_SNO,FK_SC_CNO)  (选做) 要求:首先删除SC中所有主键和外键定义,用触发器实现表SC上的主键(SNO,CNO)和外键SNO,CNO的约束定义。 3.为Student数据库设计安全机制。 要求:在该数据库系统中,有三类用户: 1) 学生,权限包括:查询所有的课程信息,根据学号和课程号来查询成绩。但不允许修改任何数据。(必做) 只能查询自己的成绩,不能查询别人的成绩。(选做) 2)老师:权限包括:查询有关学生及成绩的所有信息,有关课程的所有信息,但不允许修改任何数据。 3)教务员:权限包括:查询和修改任何有关学生和课程的信息,但不允许查询和修改数据库中其它任何表,视图等数据库对象。 要求:安全控制必须仅由数据库一端来实现,不考虑由应用程序来控制。 为此,需要创建三个用户,登录时密码验证;分别授予各类权限,并测试权限的控制是否有效。 【实验环境】 PC机,WINDOWS操作系统,Oracle 或Microsoft SQL Server 数据库 实验内容 【实验过程】 实验步骤: 1.登录数据库,使用实验相关数据库 2.完成触发器部分: (1)新增数据库并计算插入相关数据(需要辅助表) (2)创建视图 (3)在表的插入过程中建立触发器 (4)在视图的插入过程中创建触发器 完成安全性部分: (1)完成三个用户的创建,并测试初始权限 (2)授予学生权限,学生重新登录,测试相关权限有无 (3)授予老师权限,老师重新登录,测试相关权限有无 (4)教务员学生权限,教务员重新登录,测试相关权限有无 实验数据: 实验一使用的数据库。 三、实验主要过程: 1. 采用实验一的建库脚本和数据插入脚本创建Student数据库,并完成以下操作: 1)新增表Credits(SNO,SumCredit,NoPass),表示每学生已通过选修课程的合计学分数,以及不及格的课程数。 Step1创建表新增表Credits(SNO,SumCredit,NoPass) 代码: create table Credits( SNO varchar(15), SumCredit decimal(5,1), NoPass smallint); Step2 创建辅助表tmpSumCredit( SNO varchar(15), SumCredit decimal(5,1)) 两个 代码: create table tmpSumCredit( SNO varchar(15), SumCredit decimal(5,1)); create table tmpNoPass( SNO varchar(15), NoPass smallint); Step3 向辅助表插入数据

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档