数据库作业

创建新用户:

CREATE USER u1 IDENTIFIED BY 'Csq200215';

CREATE USER u2 IDENTIFIED BY 'Csq200215';

。。。

 

CREATE USER u7 IDENTIFIED BY 'Csq200215';

创建了7个普通用户

 1.在public模式下:

2.在cindy模式下:

1. 在public模式下:

 

4.1把查询Student表权限授给用户U1
首先自己创建了U1用户
CREATE USER u1 IDENTIFIED BY 'user@123';
GRANT SELECT ON TABLE Student TO U1;
自己运行效果:
用户U1只能在public模式下查询student表数据,(别的操作都不可以)对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。


4.2把对Student表和Course表 的全部权限授予用户U2和U3
首先自己创建了U2 U3用户
GRANT ALL PRIVILEGES ON TABLE Student, Course TO U2, U3;
自己运行效果:
用户U2和U3能在public模式下对student和course表进行任何操作(增删查改),但对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

 

 

 

 

 

 

4.3把对表SC的查询权限授予所有用户
GRANT SELECT ON TABLE SC TO PUBLIC;
自己运行效果:
用户U1、U2和U3(全部用户)能在public模式下对sc表进行查询操作(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

 

 

 

 

4.4把查询Student表和修改学生学号的权限授给用户U4
GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;
自己运行效果:
用户U4能在public模式下对student表进行查询操作和修改学生学号(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

 

 

 

 

4.5把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
自己运行效果:
用户U5能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U5具备传播权限。

 

 

 

 

4.6用户U5登陆情况下 U5传播INSERT权限给U6,U6也具备传播权限


GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
自己运行效果:
用户U6能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U6具备传播权限

4.7用户U6登陆情况下 U7具备INSERT权限,但不具备传播权限

自己运行效果:

 

 


用户U7能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U7不具备传播权限

 

4.8把用户U4修改学生学号的权限收回
REVOKE UPDATE(Sno) ON TABLE Student FROM U4;
自己运行效果:

 

 


在对应数据库work4中,用户U4无法修改学生学号

4.9收回所有用户对表SC的查询权限
REVOKE SELECT ON TABLE SC FROM PUBLIC;
自己运行效果:

 

 


全部用户无法查询SC表

4.10把用户U5对SC表的INSERT权限 收回
REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;
自己运行效果:

 

 


在对应数据库work4中,用户U5、U6、U7不能在public模式下对sc表进行插入操作。

 

 

 

2.在cindy模式下:

4.1 把查询activity的表的权限赋值给u1:

GRANT SELECT ON TABLE activity TO u1;

grant usage on schema cindy to u1;(这个是把cindy模式赋值给u1)

 

 

进入u1查看:select * from cindy.activity;

 

 

4.2  把查询activity表和baoxiao表的权限赋值给u2和u3

GRANT SELECT ON TABLE activity,baoxiao TO u2,u3;

 

 

将cindy的模式赋值一下:

 

 

测试一下u2:

 

 

4.3 把查询sa表的权限赋值给public(所有成员);

 GRANT SELECT ON TABLE sa TO public;

 

 

4.4 把查询baoxiao表和修改报销最大金额的权限授权给用户U4;

GRANT UPDATE(bmax),SELECT ON TABLE baoxiao TO u4;

 

 

4.5 把对表student INSERT的权限赋值给u5

GRANT INSERT ON TABLE student TO u5 WITH GRANT OPTION;

 

 

插入一条数据:

INSERT  INTO  cindy.student  VALUES ('20181320','人','4',3,'13566666666','0004');

到cindy下看看:

 

 

4.6 u5把插入student表的权限赋值给u6

grant insert on table cindy.student to u6 with grant option;

 

 

INSERT  INTO  cindy.student  VALUES ('20181102','哈哈','4',3,'13588111666','0004');

查看一下:

 

 

4.7.u6把插入student表的权限赋值给u7

grant insert on table cindy.student to u7;

 

 

INSERT  INTO  cindy.student  VALUES ('20181002','ok','4',3,'1355555555','0004');

 

 

 

 

测试一下是否可以更新成功~。

 

 

可知更新失败。

4.9.收回所有用户对表sa的查询权限。

 

 

执行成功之后我们发现在每个u1到u7,teach数据库下的cindy模式下的普通表均少了一张sa表。

4.10 把用户u5对SC表的INSRET权限收回。

 

 

我们可以发现:此时在u5中执行插入语句失败,说明我们的操作是成功的。

 

posted @ 2021-05-04 21:46  20181217Cindy  阅读(593)  评论(0编辑  收藏  举报