数据库原理实验9

数据库安全性
数据库安全性这一章主要包括如下几部分:数据库安全性控制,制图机制,审计,数据加密

数据库安全性控制:
例4.1 把查询Student表的权限授权给用户U1

GRANT SELECT
ON  Student
to U1;

在这里插入图片描述

一开始按书上的代码来,一直告诉我‘,'附近有语法错误,后来把TABLE删掉就好了。

例4.2 把对Student表和Course表的全部权限授予用户U2,U3

GRANT ALL PRIVILEGES
ON  Student,Course
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 INSERT
ON SC
TO U5
WITH GRANT OPTION;/*权限传递*/

例4.6 U5将上述权限授予U6

GRANT INSERT
ON SC
TO U6
WITH GRANT OPTION;

例4.7 U6将上述权限授予U7

GRANT INSERT
ON SC
TO U7;

因为U6没有把权限传递给U7,所以U7不能再向其他用户传递该权限。

例4.8 把U4修改学生学号的权限收回

REVOKE UPDATE(Sno)
ON Student
FROM U4;

revoke就是取消,废除的意思。

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

REVOKE SELECT
ON SC
FROM PUBLIC;

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

REVOKE INSERT
ON SC
FROM U5 CASCADE;

使用级联(CASCADE)命令可以成功收回权限,否则不行,因为刚刚U5把权限授予了U6,U7)。

例4.11通过角色来实现将一组权限授予一个用户

CREATE ROLE R1;/*创建新用户R1*/
GRANT SELECT,UPDATE,INSERT
ON Student
TO R1;/*授予R1权限*/
GRANT R1
TO 王平,张明,赵玲;/*将R1的权限授予此三人*/
REVOKE R1
FROM 王平;/*收回王平的权限*/

例4.12 角色的权限修改(增加R1对Student的DELETE权限)

GRANT DELETE 
ON Student
TO R1;

例4.13 角色的权限修改(减去R1对Student的SELECT权限)

REVOKE SELECT
ON Student
FROM R1;

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

CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept='CS';
/*新建视图*/
GRANT SELECT
ON CS_Student
TO 王平;
/*王平老师只能够检索计算机科学系学生的成绩*/
GRANT ALL PRIVILEGES
ON CS_Student
TO 张明;/*系主任张明可以检索和增删改计算机系学生信息的所有权限*/

在这里插入图片描述

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

AUDIT ALTER,UPDATE
ON SC;

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

NOAUDIT ALTER,UPDATE
ON SC;

总结,出现了非常多的语法错误,而且我目前有很多都不知道怎么解决,以至于不好截图,等我明白了会慢慢补上(TSQL的语法和课本上的标准SQL差好多。。。)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值