熊健羲实验四安全管理触发器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验四安全管理、触发器一、实验目的1.掌握安全管理的过程。2.掌握在SQLServer环境中实现安全管理的操作。3.掌握触发器的功能。二、实验内容及步骤1.建立SQLServer认证的登录帐户:u1、u2、u3,并将u1、u2、u3映射为实验一建立的students数据库的用户。2.用u1建立一个新的连接,并在students数据库中执行下述语句,是否能成功?为什么?SELECT*FROM课程不成功,因为u1没有被授予对象‘Course’的查询权限。3.用系统管理员登录建立一个连接,并授予u1具有对课程和选课的查询权限,授予u2具有对课程的insert权限。GrantSelectonCoursetou1GrantSelectonSCtou1GrantInsertonCoursetou24.用u1建立一个新的连接,并在students数据库中执行下述语句,能否成功?为什么?INSERTINTO课程VALUES('C011','数据仓库技术',2,7)不能成功,因为u1没有被授予对Course表的插入权限。再执行下述语句,能否成功?为什么?SELECT*FROM课程能成功,已经授予u1对Course的查询权限。5.在u2建立的连接中,再次执行语句:SELECT*FROM课程这次能否成功?不能成功,因为没有授予u2对Course表的查询权限。但如果让u2执行下列语句:INSERTINTO课程VALUES('C012','软件工程',4,6)能否成功?为什么?能成功,因为u2有被授予对Course表的插入权限。6.用u3建立一个新的连接,并在students数据库中执行如下语句,能否成功?CREATETABLENEW_TABLE(C1intPRIMARYKEY,C2char(4))不能,因为没有授予u3建表权限。7.在系统管理员建立的连接中,授予u3在students数据库中具有建表权限。Grantcreatetabletou3goCreateschemau3authorizationu3goAlteruseru3withdefault_schema=u38.在u3建立的连接中,在students数据库中执行6中的建表语句,这次是否成功?能成功,已经授予了u3建表的权限。9、编写实现如下功能的触发器:(1)限制考试成绩必须在0~100分之间。Createtriggertri_1onSCafterinsert,updateasifexists(select*fromSCwhere成绩notbetween0and100)rollback(2)限制不能将不及格的考试成绩改为及格。Createtriggertri_2OnSCafterupdateasifexists(select*frominsertedjoindeletedoninserted.学号=deleted.学号andinserted.课程号=deleted.课程号whereinserted.成绩=60anddeleted.成绩60)rollback(3)限制不能删除选修课程考试成绩不及格学生的该门课程的选课及考试记录。Createtriggertri_3onSCafterdeleteasifexists(select*fromdeletedwhere成绩60)rollback(4)限制每个学生总的选课门数不能大于等于5门。createtriggertri_4onSCafterinsert,updateasifexists(selectcount(课程号)fromSCgroupby学号havingcount(课程号)5)rollback三、实验一二三四总结通过这几次数据库的上机实验,让我把在课堂上学习到的理论知识能够在实际上机操作上得以消化理解。以前在课堂没有引起注意的问题在实验中得以体现,比如exists子查询的运用没自己动手查询的时候不是很理解,上机操作以后才对其中的原来有了清晰的了解。这几次实验收获很大,对我学习数据库知识很有帮助。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功