使用订单数据库完成下面的实验内容:
(1) 分别创建登录账号user01、user02,其密码皆为p888888,并设置为订单数据库OrderDB的用户。
a) 以sa的身份登录到master 数据库中
b) 给出命令:
sp_addlogin user01,p888888
sp_addlogin user02,p888888
use OrderDB
sp_adduser user01,user01
sp_adduser user02,user02
(2) 创建登录账号login03,并加入到OrderDB数据库中,其用户名为user03。
a) 以sa的身份登录到master 数据库中
b) 给出命令:
sp_addlogin login03,p888888
use OrderDB
sp_adduser login03,user03
(3) 将员工表的所有权限授予全部用户。
以sa的身份登录
use OrderDB
grant select,delete,update,insert on Employee
to user01,user02,user03
(4) 授予user03用户对Product表的查询权限,对Employee表的编号、名称的查询和更新权限。
以sa的身份登录
use OrderDB
grant select on Product to user03
grant select,update on Employee(employeeNo,employeeName) to user03
(5) 创建角色r3、r4,将订单明细表所有列的SELECT权限、PRICE列的UPDATE权限授予r3。
以sa的身份登录
use OrderDB
sp_addrole r3
sp_addrole r4
grant select on OrderDetail to r3
grant update on OrderDetail(price) to r3
(6) 收回全部用户对员工表的所有权限。
以sa的身份登录
use OrderDB
revoke select,delete,update,insert on Employee
from user01,user02,user03
(7) 将user01、user02两个用户赋予r3角色。
以sa的身份登录
use OrderDB
sp_addrolemember r3,user01
sp_addrolemember r3,user02
(8) 收回user02对订单明细表所有列的SELECT权限。
以sa的身份登录
use OrderDB
revoke select on OrderDetail from user02
(9) 在当前数据库中删除角色r4。
以sa的身份登录
use OrderDB
sp_droprole r4
(10) 授予user01建表和建视图的权限,user01用户分别建立一张表和一个视图(表和视图自定),然后将该表和视图的查询权限授予user02和user03。
以sa的身份登录
use OrderDB
grant create table,create view to user01
以user01的身份登录
a) use OrderDB
b) CREATE TABLE EmployeeUser01 (
employeeNo char(8) not null, /*员工编号Eyyyynnn*/
empPassword varchar(10) not null, /*登陆密码*/
empName varchar(20) not null, /*员工姓名*/
sex char(1) not null
check(sex='男' or sex='女') , /*员工性别*/
departmentNo char(3) not null, /*所属部门nnn*/
postNo char(3) not null, /*所属岗位nnn*/
birthday datetime, /*出生日期*/
salary numeric(8,2), /*薪水*/
address varchar(40), /*员工住址*/
telephone varchar(15), /*员工电话*/
email varchar(20), /*员工邮箱*/
constraint EmployeeUser01PK primary key (employeeNo)
)
c) create view ViewUser01 as
select employeeNo,empName,birthday,telephone
from EmployeeUser01
where departmentNo like '1%'
d) grant select on EmployeeUser01 to user02,user03
grant select on ViewUser01 to user02,user03