数据库作业12:第四章:数据库安全性 习题

数据库作业12:第四章:数据库安全性 习题_第1张图片6.先创立两个关系模式。

CREATE TABLE 学生
(学号 int,
姓名 char(10),
年龄 int,
性别 int,
家庭住址 char(50),
班级号 int
)
CREATE TABLE 班级
(班级号 int,
班级名 char(10),
班主任 char(10),
班长 char(10)
)

在这里插入图片描述

GRANT ALL PRIVILEGES 
ON Student,Class   
TO U1 
WITH GRANT OPTION ; 

在这里插入图片描述

GRANT SELECT,UPDATE(家庭住址),DELETE
ON Student 
TO U2;

在这里插入图片描述

GRANT SELECT 
ON Class 
TO PUBLIC;

(4)

GRANT SELECT,UPDATE 
ON Student 
TO R1;

在这里插入图片描述

GRANT R1 
TO U1 
WITH ADMIN OPTION ;

7.建立如题关系模式

CREATE TABLE Staff
(职工号 int,
姓名 char(10),
年龄 int,
职务 char(10),
工资 int,
部门号 int
)
CREATE TABLE Depart
(
部门号 int,
名称 char(10),
经理名 char (10),
地址 int,
电话 int
)

(1)用户王明对两个表有SELECT 权力。

GRANT
SELECT ON 职工,部门
TO 王明

(2)用户李勇对两个表有INSERT 和DELETE
权力。

GRANT
INSERT,DELETE 
ON 职工,部门
TO 李勇

(3)每个职工只对自己的记录有SELECT 权力。

GRANT SELECT
ON 职工
WHEN USER()=NAME
TO ALL;

(4)用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。

GRANT SELECT,UPDATE(工资) 
ON 职工
TO 刘星

(5)用户张新具有修改这两个表的结构的权力。

GRANT  ALTER TABLE 
ON 职工,部门  
TO 张新;

(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

GRANT  ALL PRIVILIGES 
ON 职工,部门
TO 周平
WITH GRANT OPTION;

(7)用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

CREATE VIEW 部门工资
AS 
      SELECT 部门.名称,最高工资,最低工资,平均工资
      FROM 职工,部门
      WHERE  职工.部门号=部门.部门号
      GROUP BY 职工.部门号
GRANT SELECT 
ON 部门工资
TO 杨兰;

(1)

REVOKE SELECT 
ON 职工,部门 
FROM 王明;

(2)

REVOKE INSERT , DELETE 
ON 职工,部门 
FROM 李勇;

(3)

REOVKE SELECT ON 职工
WHEN USER ( ) =NAME
FROM ALI ;

(4)

REVOKE SELECT , UPDATE 
ON 职工
FROM 刘星;

(5)

REVOKE ALTER TABLE 
ON 职工,部门
FROM 张新;

(6)

REVOKE ALL PRIVILIGES ON 职工,部门
FROM 周平;

(7)

REVOKE SELECT 
ON 部门工资
FROM 杨兰;
DROP VIEW 部门工资;

认真完成每次老师布置得课下作业,才能到考试的时候更加得心应手,这次练习,增加了我对授权语句的实际应用能力,对语句掌握得更加完善。

你可能感兴趣的:(数据库作业12:第四章:数据库安全性 习题)