视图机制

关系可以有三种类型:

  1. 基本表,实际存储数据的逻辑表示
  2. 查询表,查询结果对应的表
  3. 视图表,是虚表,由基本表和其他视图应表导出,不对应实际的存储结构,数据库中只存放关于视图的定义,视图就像是一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。

视图的作用:

  1. 简化用户操作
  2. 使用户从多种角度看待同一数据
  3. 对数据重构提供了一定的逻辑独立性
  4. 对机密数据提供安全保护
  5. 清晰的表达查询

创建视图:

create view view_name (colunm_name1,column_name2,...)

as 

select colunm_name1...

from table_name

where 条件

//组成视图的属性列名或全部定义或全部省略,但当处于一下三种情况时要全部定义:

//1,某个目标列不是单纯的列表属性名,而是聚集函数或是列表达式

//2,多表连接时,选出多个同名的列作为视图的列属性

//3,需要在视图中为某个列用更合适的新名字

删除视图:

drop view view_name  cascade;//联级删除视图

 查询视图:

方法与查询基本表类似

具体内部过程为,先看视图是否存在,如果存在,则从数据字典中取出视图的定义,把定义中的子查询与用户的查询结合起来,换成等价的对基本表的查询,在修正执行查询基本表。

更新视图: 

相当于更新了基本表。delete,insert,update

并不是所有的视图都可以更新,有下列情况的不能更新:

1,由两个以上基本表导出

2,视图字段来自字段表达式或常数,不能执行update和insert,但可以执行delete

3,视图字段来自聚集函数

4,视图定义中含有group by 或 distinct或嵌套查询,并且内层查询的from字句中涉及的表也是导出该视图的基本表

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值