数据库实验【9】 | 数据库安全性

[例4.1] 把查询Student表权限授给用户U1

grant select 
on Student
to U1;

在这里插入图片描述

[例4.2] 把对Student表和Course表的全部权限授予用户U2和U3grant

grant all privileges
on Course,Student
to U2 , U3;

在这里插入图片描述

[例4.3] 把对表SC的查询权限授予所有用户

grant select 
on SC
to public;

在这里插入图片描述

[例4.4] 把查询Student表和修改学生学号的权限授给用户U4

--对属性列进行授权须指出相应属性列名:
grant update(Sno),select 
on Student 
to U4;

在这里插入图片描述

[例4.5] 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户

--grant option : 授权或者收回给其他用户你给予的权限
grant insert 
on SC 
to U5
with grant option;

在这里插入图片描述

[例4.6] U5将权限赋予U6:

grant insert 
on SC 
to U6
with grant option;

同样,U6还可以将此权限授予U7:
[例4.7]

grant insert 
on SC 
to U7;

但U7不能再传播此权限

[例4.8] 把用户U4修改学生学号的权限收回

revoke update(Sno)
on Student 
from U4; 

在这里插入图片描述

[例4.9] 收回所有用户对表SC的查询权限

revoke select
on SC
from public;

[例4.10] 把用户U5对SC表的INSERT权限收回

revoke insert
on SC
from U5 cascade;

在这里插入图片描述

例4.11通过角色来实现将一组权限授予一个用户。
步骤如下:
(1)首先创建一个角色 R1

create role R1;

(2)然后使用GRANT语句,使角色R1拥有Student表的 SELECT、UPDATE、INSERT权限

grant select, update, insert 
on Student 
to R1;

在这里插入图片描述

(3)将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限

exec sp_addrolemember 'R1','王平'
exec sp_addrolemember 'R1','张明'
exec sp_addrolemember 'R1','赵玲'

在这里插入图片描述

[例4.12] 角色的权限修改(使角色R1在原来的基础上增加Student表的delete权限)

grant delete 
on Student
to R1;

[例4.13] 删除R1,select权限

revoke select
on Student
from R1;

[例4.14] 建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明

--建立计算机系学生的视图CS_Student
create view CS_Student
as 
select  *
from  Student
where Sdept='CS';

--在视图上进一步定义存取权限
grant select
on CS_Student  
to U5;

grant all 
on CS_Student  
to U6; 

[例4.15] 对修改SC表结构或修改SC表数据的操作进行审计

audit alter,update  
on SC;

[例4.16] 取消对SC表的一切审计

noaudit alter,update 
on SC;
一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值