第四章 数据库安全性 总结 + 习题

(上次的尾巴)

视图

视图机制通过实现数据对无权存取这些数据用户隐藏,从而实现对数据的保护。

间接的实现支持存取谓词的用户权限定义。

Q1:什么是存取谓词?

课本上有关叙述:例如,在某大学中假定王平老师只能检索计算机系学生的信息,系主任张明具有检索和增删计算机系学生信息的所有权限。这就要求系统能支持“存取谓词”的用户权限定义。在不支持存取谓词的系统中,可以先建立视图,然后再在视图上进一步定义存取权限。

谓词就像LIKE,BETWEEN,IS NULL,EXISTS等等这样的返回值为逻辑值TRUE,FALSE的逻辑表达式。
这里查不到太多资料。自我感觉 存取谓词 就是用来做一部分界定筛选,加一些条件的,通过存取谓词,部分授予权限。
不知道自己的理解是否正确。。

Q2:为什么要用视图间接实现,直接用基本表不可以么?

视图在一定程度上屏蔽掉了一些数据,实现了一定程度的保护,在这个基础上再做授予权限等的操作,相当于进一步加强了安全性。

【例4.14】建立计算机系的学生视图,把对该视图的SELECT权限授予王平,把该视图的所有权限授予张明。

--1.建立视图
CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept = 'CS';

--2.授予权限
GRANT SELECT
ON CS_Student
TO 王平;

GRANT ALL PRIVILEGES
ON CS_Student
TO 张明;

在这里插入图片描述
在这里插入图片描述

审计

审计日志:将用户对数据库的所有操作记录在上面
审计:审计员利用审计日志监控对数据库的操作,找出非法存取数据的人、时间和内容。

AUDIT: 设置审计功能
NOAUDIT:取消审计功能

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

修改结构 —— ALTER
修改数据 —— UPDATE

AUDIT ALTER,UPDATE
ON SC;

这里运行会有错误,看了半天Transact-SQL的官方文件也没搞明白咋修改。

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

NOAUDIT ALTER,UPDATE
ON SC;

【第四章课后题】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【心得体会】这次作业还算容易,但部分题略有难度,在网上搜了搜才得到答案,其中的WHEN USER()=NAME还是不知道是什么意思。这次作业手写,感觉效率还可以,写得比较快。感觉手写很是有用,可以更好的分清标准SQL和T-SQL,也便于更好的记住英语单词叭~。

【第四章小总结】
在这里插入图片描述
大致地总结了一下,总体作业耗时不小,大概3个小时。但梳理了一下,清晰了不少。

发布了15 篇原创文章 · 获赞 17 · 访问量 5081

猜你喜欢

转载自blog.csdn.net/fu_GAGA/article/details/105214694