四、 创建视图
1.学生信息视图
create view \.Stuinfo(学号,姓名,性别,班级,年级,出生年份,联系地址,联系电话,父母电话) as
select *
from \.Student
2.学生分数信息视图
create view \.Mark(学号,课程,分数) as
select StuNum,Course,Result from \.Result
28
3.教工信息查询视图
create view \.Teainfo(工号,姓名,性别,出生年份,职称,联系电话,工资) as
select *
from \.Teacher
4.必修课表
create view \.Bixiu(班级,年级,课程,考查类型) as
select Grade,Class,Course,ExamStyle from \.Course
29
五、 用户授权
(一).SQL
实现方式
1.用户jg(教工)对两个表有SELECT 权力。 GRANT SELECT ON Student,Course TO st
2.用户jadmin(教务管理员)对两个表有INSERT 和DELETE 权力。 GRANT INSERT,DELETE ON
Class,Course,Major,Result,Student,Teacher TO jadmin
3.每个学生只对自己的记录有SELECT 权力。 GRANT SELECT ON st
WHEN USER()=\.UserTable.UserStyle TO ALL;
4.用户cadmin(财务管理员)对教工信息表有SELECT 权力,对工资字段具有更新权力。 GRANT SELECT,UPDATE(Wage) ON Teacher TO cadmin
5.用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
GRANT ALL PRIVILIGES ON 职工,部门 TO 周平
WITH GRANT OPTION;
6.用户jg(教工)具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。 CREATE VIEW avgwage AS
SELECT MAX(wage),MIN(wage),AVG(wage) FROM Teacher TO jg;
30
(二).可视界面实现方式
1.为jadmin(教务管理员)授予对班级表的的增、删、改、查操作权限
31
2.为jg(教工用户)授予对成绩表的查询权限和对分数列的修改
32