数据库保护.docx
- 文档编号:14224366
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:16
- 大小:613.28KB
数据库保护.docx
《数据库保护.docx》由会员分享,可在线阅读,更多相关《数据库保护.docx(16页珍藏版)》请在冰点文库上搜索。
数据库保护
淮海工学院计算机工程学院
实验报告书
课程名:
《数据库基础与应用》
题目:
综合实验一:
数据库保护
班级:
G计算机111
学号:
姓名:
一.实验目的与要求
1.掌握SQLServer中有关用户、角色及操作权限的管理方法。
2.掌握SQLServer三大完整性约束的概念与实施办法。
3.理解触发器的工作流程,能编写简单的触发器。
二.实验内容
1.检查服务器的属性配置,将认证方式修改为“SQLServer和Windows身份验证模式”。
使用“SQLServerConfigurationManager”将网络配置中的所有协议均启用。
2.利用SSMS创建两个登录用户,设置均使用默认。
(例如用户名分别为user1、user2)
3.查看已经创建的两个用户的属性:
默认数据库、数据库角色、用户映射、状态等
4.将创建的两个用户均添加到S_T和SPJ数据库用户,其他取默认值。
5.断开服务器连接,使用已创建的用户登录,观察能针对哪些数据库操作?
6.两个同学一组,互相登录对方的服务器。
观察可以进行什么操作?
7.使用T-SQL命令完成以下权限管理:
(1)将Student表的查询权授予user1,观察授权效果。
(2)将SC表所有权限授予user1,并使其具有转授功能,观察授权效果。
(3)以user1的身份将表SC的查询、更新及插入权转授给user2,观察授权效果。
(4)将针对Course表的查询权和对Cname列的修改权授予user2.
(5)回收user1对SC表的删除权
(6)回收user1的更新权,观察效果。
user2用户还有该权限吗?
如何实现级联回收?
(7)查询指定用户所具有的权限:
execsp_helprotect@username='User_name'
(8)针对SPJ数据库创建一个数据库角色spjrole,其他取默认值。
(9)将查询、修改、删除与插入权限授予spjrole,并将user1用户添加到该角色中(提示:
使用存储过程sp_addrolemember),观察效果。
8.针对S_T数据库设置以下的完整性规则:
(1)为Student表中的Ssex设置为‘男’或‘女’,默认值为‘男’
(2)为teacher表的ENO设置范围为‘0001’-‘1111’
(3)检查SC表中的外键情况,如果没有请添加外键约束,修改选级联,删除选拒绝。
并观察约束效果。
(1)(4)为SC表的grade设置成绩范围为0-100
(2)(5)为SC表编写一个插入触发器,要求每个学生选课的门数不超过4门。
(3)(6)创建一个学生成绩变动记录表grade_log,通过update触发器自动将学生成绩的变动情况记录记录到grade_log表中。
三、实验步骤
<1>链接以前建好的S-T数据库;
<2>点击新建查询;
<3>根据题目要求输入SQL语言完成完成各项操作;
<4>最后执行程序并且截图。
四、测试数据与实验结果
1、
(1)
图1
2
图2
图3
图4
5,
图5
图6
图7
图8
图9
图10
6
图11
7
图12
(2)
图13
(3)
图14
(4)
图15
(5)
图16
当user1的更新权被收回后,user2也没有此权限了,因为2是从1授予的,只要是从1得到此权限的用户都会被收回。
级联:
将用户user1的更新权收回时必须级联(cascade)收回,不然系统将拒绝,有的缺少值为cascade,会自动执行级联操作而不必明显的写出。
图17
(7)
图18
(8)
图19
(9)、
图20
图21
图22
8
图23
图24
图25
(3)
图26
图27
图28
(4)、
图29
(5)、
图30
图31
(6)、
图32
、
图33
图34
图35
五.结果分析与实验体会
这次的实验明显难度加大了,有些不太明白的题到网上看了一下,但是还是有很多的问题。
越是深的学习就越能感到自己懂的真是非常少,所以在以后的实验和学习中一定要更加的努力才行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 保护