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;
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 部门工资;
认真完成每次老师布置得课下作业,才能到考试的时候更加得心应手,这次练习,增加了我对授权语句的实际应用能力,对语句掌握得更加完善。