权限控制:学生管理系统练习

进入正题:

1、创建登录名user1,在数据库studentdb中为登录名创建用户user1,并给用户user1授予查询student_info表的权限和更新student_info表姓名列的权限。

2、将查询grade表的权限授予给所有的用户。

3、创建登录名user2,在数据库studentdb中为登录名创建用户user2,给用户user2授予创建数据表的权限,并使得user2具备传递该权限的能力。

4、创建角色role1,将查询和更新curriculum表的权限授予给角色role1。

5、将用户user1和user2加入到角色role1中。

6、收回所有用户对grade表的查询权限。

7、收回user2创建表的权限,并级联的收回该用户传递给其他用户创建表的权限。

8、在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。

(1)分别为三个登录名在“studentdb”数据库映射三个数据库用户,数据库用户名为Tom,Mary,John。

(2)授予用户John创建表和视图的权限。

(3)完成以下授权:

a.把对表student_info的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。

b.用户Mary对student_info,curriculum,grade三个表有SELECT和INSERT权限。

c.用户Tom对curriculum表有DELETE权限,对学分属性具有UPDATE权限。

d.把对用户Tom授予的所有权限收回。

(4)在studentdb数据库中创建角色STUDBA,将查询和更新grade表的权限授予角色STUDBA。

sql语句:
1.
grant select,update(姓名) on student_info to user1

2.
grant select on grade to public

3.
grant create table to user2 with grant option

4.
grant select,update on curriculum to role1

5.
sp_addrolemember role1,user1
sp_addrolemember role1,user2

6.
revoke select on grade to public

7.
revoke create table from user2 cascade

8.
create login a with password = '123'
create login b with password = '123'
create login c with password = '123'

(1)
create user Tom from login a
create user Mary from login b
create user John from login c

(2)
grant create table,create view to John

(3)
grant  insert  on tudent_info  to om  with grant option
grant select,insert on student_info to Mary
grant select,insert on curriculum to Mary
grant select,insert on grade to Mary


grant delete on curriculum to Tom
grant update(score) on curriculum to Tom

revoke insert on student_info from Tom cascade
revoke delete on curriculum from Tom
revoke update(score) on curriculum from Tom


(4)
create role STUDBA grant select,update on grade to STUDBA

你可能感兴趣的:(SQL)