sql视图简单介绍

视图

明天就要考试了,来不及深入学习了,简单总结一下视图的基本用法,留到以后在深入学习

视图为虚表,是从一个或几个基本表导出的表,只存放视图的定义,不会出现数据冗余,基表中的数据发生变化,从视图中查询出的数据也随之改变

视图的定义
create view 视图名 列名
as <子查询>
with check option;

子查询中不允许含有order by子句和distinct短语

透过视图进行增删改操作时,不得破坏视图定义中的谓词条件

--建立信息系学习的视图
create view IS_Student
as 
select Sno,Sname,Sage
from student
where Sdept ='IS'
with check option
--建立信息系选修了1号课程的学生的视图
create view IS_S1(Sno,Sname,Grage)
as
select Student.Sno,Sname,Grade
from Student,SC
where Student.Sno=SC.Sno and
	Sdept='IS' and
	SC.Cno='1';

视图的删除
drop view 视图名 cascade;

该语句从数据字典中删除指定的视图定义

由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除

删除基表时,由该基表导出的所有视图定义都必须显式删除

如果cascade选项,则删除该视图时会把由它导出的视图一块删除

视图查询与更新

视图查询方法和更新方法与表查询,表更新基本相同

但具体实现方式不同

视图实现方式有两种

实体化视图

先检查所查询的视图是否存在 ,执行视图定义,将视图临时实体化,生成临时表,查询视图转换为查询临时表,查询完毕删除被实体化的视图

视图消解法

进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义,把视图定义中的子查询与用户的查询结合起来,转换成等价的对基本表的查询,再执行修正后的查询

相当于转化成原来的表查询

PS: 指定WITH CHECK OPTION子句后,DBMS在更新视图时会检查,防止用户通过视图对不属于视图范围内的基本数据进行更新

视图的作用

视图能够简化用户的操作

视图使用户能以多种角度看待同一数据

视图对重构数据库提供了一定程度的逻辑独立性

视图能够对机密数据提供安全保护

图能够简化用户的操作

视图使用户能以多种角度看待同一数据

视图对重构数据库提供了一定程度的逻辑独立性

视图能够对机密数据提供安全保护

适当的利用视图可以更清晰的表达查询

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值