Catalog
数据库实验五
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
--1.创建一windows用户(名字自定),用sql语句建立windows验证模式的登录名。默认数据库为student
--2.用sql语句和系统存储过程建立登录名sqluser,密码为1234
--sql
create login sqluser with password='1234',default_database=student
--存储过程
exec sp_addlogin 'sqluser','1234'

--3.为student数据库新建用户u1,其登录名为sqluser。
create user u1 from login sqluser

--4.新建登录usersf,并将其加入到sysadmin固定服务器角色中。
exec sp_addsrvrolemember 'usersf','sysadmin'

--5.将student用户usersf(登录名为usersf)加入到db_owner角色中,使其全权负责该数据库,并验证其权限。
exec sp_addsrvrolemember 'db_owner','usersf'

--6.为SPJ数据库新建用户u2,u3,其登录名分别为u2,u3。
create login u2 with password='',default_database=SPJ
create user u2 for login u2
create login u3 with password='',default_database=SPJ
create user u3 for login u3

--(1)授予用户u2对S表有SELECT 权,对P表颜色(COLOR)具有更新权限;
grant select
on S
to u2
grant update(color)
on P
to u2

--(2)u2将其拥有的权限授予u3;
grant u2
to u3

--(3)用sql语句逐一验证u2、u3所获得的权限。
select *
from S

update P
set color='红'

--(4)撤销用户u3所获得的权限,并验证。
revoke select
on table S
from u3
revoke update(color)
on table P
from u3

--7.在student数据库中建立角色operate,该角色具有对student和course表的查询权限;具有对表sc的插入和修改权限。
create role operate
grant select
on student
to operate
grant select
on course
to operate
grant update,insert
on sc
to operate

--8.拒绝用户u1对sc表的修改权限。
deny update
on sc
to u1
cascade

--9.使用存储过程将角色operate赋给用户u1,并用sql语句验证其权限。(特别验证u1对sc表的修改权限)
exec sp_addrolemember 'operate','u1'

select *
from student

select *
from course

update sc
set grade = 100
where sno = '200515001' and cno = '1'
Author: Christopher Shen
Link: https://www.pasxsenger.com/2019/10/30/数据库实验五/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付寶