数据库实验-数据控制(安全性和完整性).doc
文本预览下载声明
数据库原理及应用
实验报告
实验四
实验题目: 数据控制(安全性和完整性)
实验类型: 验证_______________________________
实验地点: 软件实验室二
系 班级: 计科系***班_____________________
姓 名: ***______________________
学 号: ***______________________
2013年11月10日
一、实验项目名称:数据控制(安全性和完整性)
二、实验目的和任务:
理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。
三、实验内容:
1. 创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)
2.创建用户sqlaa,它对关系模式职工具有查询和删除权限
3.创建用户sqlbb,它对关系模式职工和部门具有所有的权限(所有权限的表达)
4. 对该用户sqlcc授予查找职工关系模式,更新部门关系模式的权限,同时可以将该权限进行传播,并将权限传播给用户sqlaa
5.创建用户sqldd,它对关系模式职工修改表结构的权限
6. 收回用户sqlcc的相应权限,了解sqlaa的权限情况
7. 创建角色role1,它的权限是对部门关系模式进行查、插、改、删,将用户sqldd 和sqlcc归于角色role1,查看用户的权限
8. 定义部门和职工关系模式的主键,外键,定义职工年龄不超过60岁,部门名称必须取值唯一
以下为选做内容:
1. 定义用户sqlee,具有从每个部门职工中查看最高工资,最低工资和平均工资的权力,但他不能查看每个人的工资
2. 在对关系模式定义外键时,分别设置无行动和级连两种方式,并进行数据插入
四、实验步骤及截图:
1、打开SQL Server 2005,建立连接。
2、创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)
(1)创建职工关系模式:
(2)创建部门关系模式:
3、创建用户sqlaa,它对关系模式职工具有查询和删除权限
(1)创建登录名为work的用户:打开安全性,右击登录名,然后新建一个登录名,点击确定。
(2)再创建一个用户名sqlaa:点击数据库下面的安全性,右击新建一个用户,登录名选择work,然后确定。
(3)对sqlaa用户赋予对关系模式职工具有查询和删除权限:点击新建查询,输入以下代码,执行。
4、创建用户sqlbb,它对关系模式职工和部门具有所有的权限(所有权限的表达)
先创建一个名为denglu的登录名,然后再创建一个sqlbb的用户,接下来再对用户赋予对关系模式职工和部门所有的权限。
5、对该用户sqlcc授予查找职工关系模式,更新部门关系模式的权限,同时可以将该权限进行传播,并将权限传播给用户sqlaa
6、创建用户sqldd,它对关系模式职工修改表结构的权限
7、收回用户sqlcc的相应权限,了解sqlaa的权限情况
在用户sqlcc处右击鼠标,依次点击“属性”—“安全对象”-“有效权限”,显示出用户sqlcc的相应权限均消失,如下图所示:
要了解sqlaa的权限情况,在用户sqlaa处右击鼠标,依次点击“属性”—“安全对象”-“有效权限”,显示用户sqlaa对staff和department的权限未变,如下图所示:
8、 创建角色role1,它的权限是对部门关系模式进行查、插、改、删,将用户sqldd 和sqlcc归于角色role1,查看用户的权限
给role1赋予权限查、插、改、删,代码如下:
在角色role1处右击鼠标,依次点击“属性”—“安全对象”,显示角色role1的权限。
将用户sqldd 和sqlcc归于角色role1,在role1处右击鼠标,选择“属性”,在“此角色的成员”框下方点击“添加”?“浏览”,找到sqlcc和sqldd,点击确定,如下图所示:
9、 定义部门和职工关系模式的主键,外键,定义职工年龄不超过60岁,部门名称必须取值唯一
(1
显示全部