/* 学生表Student
班级表Class
(1)授予用户U1对两个表的所有权限,并可给其他用户授权。
(2)将对学生表的查询、更新权限授予角色R1。
(3)将角色R1授予用户U1,并且U1可继续授权给其他角色。
*/
grant all privileges on Student,Class to U1 with grant option;
grant select ,update on Student to R1;
grant R1 to U1 with admin option;
/*今有一下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
使用GRANT和REVOKE语句完成以下授权定义或存取控制功能:
1.用户李勇对两个表有insert和delete权限
2.用户刘星对职工表有select权限,对工资字段有更新权限
3.用户周平具有对两个表的所有权限,并具有给其他用户授权的权限
4.用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权限,他不能查看每个人的工资*/
GRANT INSERT,DELETE
ON Employee
TO LIYONG;
GRANT INSERT,DELETE
ON Department
TO LIYONG;
GRANT SELECT
ON Employee
TO LIUXING;
GRANT UPDATE
ON Department.Salary
TO LIUXING;
GRANT ALL
ON Employee
to ZHOUPING
WITH GRANT OPTION;
CREATE VIEW SL(DS_name,maxs,mins,avgs)
AS
SELECT Department.Name,max(Salary),min(Salary),avg(Salary)
FROM Employee,Department
WHERE Employee.Stnum=Department.PhoneNumber
GROUP BY Employee.Salary,Department.Name;
GRANT SELECT
ON SL
TO YANGLAN;
/*
假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码。
用SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
(1) 定义每个模式的主码; (2) 定义参照完整性; (3) 定义职工年龄不得超过60 岁。*/
CREATE TABLE EMPLOYEE
(
EMPLOYEE_ID CHAR(5) PRIMARY KEY,
E_NAME CHAR(8) NOT NULL,
AGE SMALLINT,
DUTY CHAR(10),
SALARY DECIMAL(7,2),
DEPARTMENT_ID CHAR(5)
);
CREATE TABLE DEPARTMENT
(
DEPARTMENT_ID CHAR(5)PRIMARY KEY,
D_NAME CHAR(20),
MANAGER CHAR(8)NOT NULL,
TELEPHONE CHAR(8)
);
ALTER TABLE EMPLOYEE ADD CONSTRAINT C1 CHECK(AGE<60);
ALTER TABLE EMPLOYEE ADD CONSTRAINT C2 FOREIGN KEY (DEPARTMENT_ID) REFERENCES DEPARTMENT(DEPARTMENT_ID);
数据库授权与约束定义sql语句
最新推荐文章于 2024-07-12 18:48:20 发布