数据库第四章 数据库安全性 课后题

本文详细介绍了在SQL中进行权限管理的操作,包括GRANT语句用于赋予用户和角色不同的访问权限,如SELECT、UPDATE、ALTER等,以及REVOKE语句用于撤销权限。同时,展示了如何创建视图并授予对视图的访问权限。内容涵盖用户、角色、权限的授予与撤销,以及视图的使用场景和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

--6.1
GRANT ALL PRIVILEGES
ON TABLE Student,Class
TO U1
WITH GRANT OPTION;
--6.2
GRANT SELECT,UPDATE(Saddress)
ON TABLE Student
TO U2;
--6.3
GRANT SELECT
ON TABLE Class
TO PUB
--6.4
CREATE ROLE R1;

GRANT SELECT,UPDATE
ON TABLE Student
TO R1;
--6.5
GRANT R1
TO U1
WITH ADMIN OPTION --将一个角色授予其他的角色或用户

******************************************************************************************
--7.1
GRANT SELECT
ON Employee,Department
TO 王明;
--7.2
GRANT INSERT,DELETE
ON Employee,Department
TO 李勇;
--7.3
GRANT UPDATE
ON Employee
WHEN Employee.name = user(); 
/*
这里我不是很清楚该怎么写,网上有创建视图的,我参照的这篇文章
https://blog.youkuaiyun.com/qq_42919983/article/details/103266028
里边有说user()可以获取当前用户
我本来想试试用它的语句创建个数据库试试,但是在SQL Server中会报错
就没有试成功
*/
TO PUBLIC
--7.4
GRANT SELECT,UPDATE(Salary)
ON Employee
TO 刘星
--7.5
GRANT ALTER	--修改表的结构
ON Employee,Department
TO 张新;
--7.6
GRANT ALL PRIVILEGES
ON Employee,Department
TO 周平
WITH GRANT OPTION
--7.7
CREATE VIEW SALARY
AS
	SELECT Department.name,MAX(Salary),MIN(Salary),AVG(Salary)
	FROM Employee,Department
	WHERE Employee.Dname = Department.name
	GROUP BY Employee.Dname;

GRANT SELECT
ON SALARY
TO 杨兰
WITH GRANT OPTION;
/*
通过书上的例题以及这道题,我感觉视图其实更像是一个临时表
当我们要从一个表中提取一些数据
可以创建一个视图来收集这些要用的数据
*/
******************************************************************************************
--8.1
REVOKE SELECT 
ON Employee,Department
FROM 王明;
--8.2
REVOKE INSERT,DELETE
ON Employee,Department
FROM 李勇;
--8.3
REVOKE SELECT
ON Employee
WHEN Employee.name = user()
FROM ALL;
--8.4
REVOKE SELECT,UPDATE(工资)
ON Employee
FROM 刘星;
--8.5
REVOKE ALTER
ON Employee,Department
FROM 张新;
--8.6
REVOKE ALL PRIVILEGES 
ON Employee,Department
FROM 周平;
--8.7
REVOKE SELECT 
ON SALARY
FROM 杨兰;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值