数据库中视图的作用

一开始总觉得视图听起来名字高大上,像我这种屌丝一看就头疼,然后现在用了一些视图,感觉也不过如此吧!一般项目而言,会有各种各样的表,但有时候你需要的一些数据不只在一张上面,这时候你就会很蛋疼,当你接触视图后,你会明白原来还能这样干,视图就是将你需要的几张表中的数据整合到一张表上面,然后你就可以干自己想干的事情了!其实感觉就像是你把自己即将会写的一段SQL语句整合成一个个小小的模块,然后这样你自己看着舒服,别人看着也舒服,还能在不懂的人面前装装B,感觉高大上!下面给个小例子!

视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。
对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,
多表视图一般用于查询,不会改变基本表的数据。

  1. --创建视图--  
  2. create or replace view v_student as select * from student;  
  3. --从视图中检索数据--  
  4. select * from v_student;  
  5. --删除视图--  
  6. drop view v_student;  
--创建视图--
create or replace view v_student as select * from student;
--从视图中检索数据--
select * from v_student;
--删除视图--
drop view v_student;

作用:

①简化了操作,把经常使用的数据定义为视图。

  我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view就可以啦,这样很方便。

②安全性,用户只能查询和修改能看到的数据。

  因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图可以随意的更改和删除,可以保证数据的安全性。 

③逻辑上的独立性,屏蔽了真实表的结构带来的影响。

  视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

缺点:
①性能差
  数据库必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,数据库也要把它变成一个复杂的结合体,需要花费一定的时间。
②修改限制
  当用户试图修改视图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的视图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。

在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。

视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。

具有普通表的结构,但是不实现数据存储。

对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,

   多表视图一般用于查询,不会改变基本表的数据。

  1. --创建视图--  
  2. create or replace view v_student as select * from student;  
  3. --从视图中检索数据--  
  4. select * from v_student;  
  5. --删除视图--  
  6. drop view v_student;  
--创建视图--
create or replace view v_student as select * from student;
--从视图中检索数据--
select * from v_student;
--删除视图--
drop view v_student;

作用:

①简化了操作,把经常使用的数据定义为视图。

②安全性,用户只能查询和修改能看到的数据。

③逻辑上的独立性,屏蔽了真实表的结构带来的影响。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值