视图、触发器、存储、安全等
实验要求
(1) 掌握视图的定义与操作
(2) 掌握对触发器的定义
(3) 掌握对存储过程的定义
(4) 掌握如何对用户进行授权和收回权限
(5) 掌握用户定义完整性的方法
(6) 写出实验报告
实验步骤
(1) 创建表的视图
(2) 利用视图完成表的查询
(3) 删除表的视图
(4) 创建触发器
(5) 创建存储过程
(6) 对用户进行授权和查询
(7) 用户定义完整性
视图
(1) 创建
创建 CS 系的视图 CS_View CS 系的视图 CS_View
遇到问题
’CREATE VIEW’ 必须是查询批次中的第一个语句
批处理必须以 CREATE 语句开始。也就是说一个查询分析器里面只有一个批处理语句才是规范的语法。 CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE SCHEMA、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其他语句组合使用。
所有跟在该批处理后的其他语句将被解释为第一个 CREATE 语句定义的一部分。 之间加GO关键字 分批即可。
也可以重新建立一个查询来写这个批处理语句
go
create view CS_View
as
select *
from Student
where Sdept='CS'
with check option
(2) 查询
在视图 CS_View 上查询 CS 系选修了 1 号课程的学生
go
select cs_view.sno,sname,ssex,sage,cno
from CS_View,sc
where cs_view.sno=sc.sno and cno=1
(3) 创建 IS 系
创建 IS 系成绩大于 80 的学生的视图 IS_View
go
create view IS_View
as
select Student.Sno,Sname,cno,grade
from Student,sc
where Student.sno=sc.Sno and Grade>80
(4) IS_View查询
在视图 IS_View 查询 IS 系成绩大于 80 的学生
select *
from IS_View
where grade>80
(5) 删除
删除视图 IS_View
drop view IS_View
(6) 不同用户操作
利用可视化窗口创建 2 个不同的用户 U1 和 U2,利用系统管理员给 U1 授予 Student 表的
查询和更新的权限,给 U2 对 SC 表授予插入的权限。然后
再进入数据库S_T_的用户处设置权限
对U1用户查看属性
但是登陆时出现问题
进行以下操作,成功登录,将sql 2008中的配置也进行相关更改。解决方案参考来源
用 U1 登录,分别
- 1)查询学生表 的信息;
- 2)把所有学生的年龄增加 1 岁,然后查询;
- 3)删除 IS 系的学生;
- 4)查询 CS 系 的选课信息。
登录后只能查看到student表