`

视图的优点与缺点

阅读更多
一:视图的简介

   视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 
  
   对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。

    在mssql,oracle里,视图是不支持输入参数的,因此有些人宁愿用存储过程,也不用视图,而且存储过程和视图,在效率上,基本上没什么区别。

   虽然视图不支持输入参数,但在一些数据量不多,但查询比较复杂的操作情况,利用视图来进行开发,是比较方便的。

二:视图的优点:
  
  第一点: 
  使用视图,可以定制用户数据,聚焦特定的数据。 
  
  解释: 
  在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话, 
  采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没 
  有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视 
  图,以后他在查询数据时,只需select  *  from  view_caigou   就可以啦。 
  
  第二点:使用视图,可以简化数据操作。 
  
  解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 
  显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能 
  会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我 
  们只需要select  *  from  view1就可以啦,这样很方便。 
  
  第三点:使用视图,基表中的数据就有了一定的安全性 
  
  因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以 
  将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集 
  合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改 
  和删除,可以保证数据的安全性。 
  
  第四点:可以合并分离的数据,创建分区视图 
  
  随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很 
  多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务 
  情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些 
  数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字, 
  将各分公司的数据合并为一个视图。

三:视图的缺点:

   1)性能差  
     sql server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。

  2)修改限制  
     当用户试图修改试图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。
分享到:
评论

相关推荐

    示波器各种视图模式的优缺点

    这里以ZDS3000/4000 Plus系列示波器为例,带您详细深入探讨,各个模式显示的方式,优点与缺点,帮您快速准确地找到合适的模式来观察信号。  一、YT模式  YT模式是示波器中常见的,其坐标系Y轴为通道输入信号,...

    sql总结.doc

    有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。 缺点:1.如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,也要花费一定的时间。 2.修改限制:当用户试图...

    在ASP.NET MVC4/5的MVC视图多模型

    当我还是一个初学者的ASP.NET MVC中,我遇到了一个问题:有多少种方法你知道通过多个模型视图中的?...所有的技术都有自己的优点和缺点。 理解文章好,请下载附件中的代码,有代码的概述,然后按照本文中给出的步骤。

    ios-头部视图和分页控制器之间的联动.zip

    优点:极其简单操作流畅,主视图用tableView搭建,只需要继承MainTouchTableTableView即可实现,pageViewController您可随意替换 缺点:加在pageViewcontoller上的tablview/collectionView会跟随主视图一起滑动,...

    学习视图

    优点: 1. 简单化,数据所见即所得 2. 安全,用户有且只能修改操作当前可见数据 3. 逻辑独立性,这里使用使用的一张虚拟表,所有操作并不会对数据库真实表结构导致影响。 缺点: 1. 性能较差,不管是SQL操作还是...

    示波器的各种视图模式是什么意思?

    示波器可通过各种各样的视图模式来观察波形,有YT、XY两大类别,YT模式又可以进一步细分为普通、大时基、滚动等...本文带您详细深入探讨,各个模式显示的方式,优点与缺点,帮您快速准确地找到合适的模式来观察信号。

    示波器的各种视图模式是什么意思?

    本文带您详细深入探讨,各个模式显示的方式,优点与缺点,帮您快速准确地找到合适的模式来观察信号。

    vue面试题汇总(1.vue优点2.vue响应式原理3.单向数据流和双向数据流)

    1.vue优点 操作虚拟dom,节省页面性能。 数据视图相分离。视图可以独立于数据变化和修改,当数据变化的时候视图也可以不变。 便于维护。 2.vue响应式原理 vue的响应式 3.单向数据流和双向数据流 单向数据流:数据流动...

    MVC设计思想及优缺点

    MVC思想 Model(模型)、View(视图)和Controller(控制器) MVC的优点 MVC的缺点

    vue面试题汇总(含详细介绍)

    1.vue优点 操作虚拟dom,节省页面性能。 数据视图相分离。视图可以独立于数据变化和修改,当数据变化的时候视图也可以不变。 便于维护。 2.vue响应式原理 vue的响应式 3.单向数据流和双向数据流 单向数据流:数据流动...

    精通SQL 结构化查询语言详解

    4.3.2 视图的优缺点  4.4 视图的创建与销毁  4.4.1 基本创建语法  4.4.2 创建简单的视图  4.4.3 利用视图简化表的复杂连接  4.4.4 利用视图简化复杂查询 4.4.5 视图的销毁  4.4.6 使用视图的几点原则...

    java web 开发详解

     优点: 对覆盖绑定(overriding binding)、验证(validation)等提供生命周期管理 与许多表示层技术/框架无缝集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF 等 便于测试——归功于IoC 缺点: ...

    元器件应用中的示波器的各种视图模式是什么意思?

    本文带您详细深入探讨,各个模式显示的方式,优点与缺点,帮您快速准确地找到合适的模式来观察信号。  YT模式  YT模式是示波器中最常见的,其坐标系Y轴为通道输入信号,上正下负,参考地为零点,X轴为时间,左负...

    前端vue入门及框架搭建

    Vue 是一个Javascript 框架,兼具angular.js和react.js的优点,并剔除了它们的缺点。 简化 Dom 操作 对浏览器提供的修改 Dom 结构API进行封装,只需要对数据对象进行操作,由 Vue 负责调用底层浏览器 API。 响应式...

    SpringMVC常见知识点.md

    - Spring MVC的优缺点? - 什么是DispatcherServlet? - Spring MVC有哪些组件?(见:DispatcherServlet源码) - 简述SpringMVC原理/执行流程 - Spring MVC 拦截器是什么 / 有什么作用 / 与 Filter有什么区别? - @...

    react-ssr:将SSR作为视图模板引擎

    优点 因为它只是一个视图模板引擎,所以: 它不需要任何API,我们要做的就是将服务器数据传递给客户端 它支持多个引擎,如.hbs , .ejs和React .(ts|js)x 我们可以使用认证 缺点 它不是那么有效,因为它会在每个...

    精通sql结构化查询语句

    5.2.5 创建复合索引 5.3 删除索引 5.3.1 删除索引的语句结构 5.3.2 使用SQL语句删除索引 5.4 视图的基础知识 5.4.1 视图概述 5.4.2 视图的优点与缺点 5.5 视图的基本操作 5.5.1 创建视图的基本语句结构 5.5.2 使用...

    数据库系统与原理(目录).doc

    层次数据模型的优缺点优点: 8. 关系数据库的优缺点 9. 数据库管理系统 10. DBMS的功能 11. DBMS的组成:数据定义语言及其翻译处理程序 12. 实体 模式 候选码 函数依赖 13. 数据库系统的特点 14. 查询优化的一般...

    mvpdemo.zip

    优点:最大的优点剥离了视图层和业务逻辑层,让各个类的分工更为明确,逻辑更为清晰,代码扩展性更高,后期代码迭代更新更加容易,同时也方便了单元测试的编写,以前将视图与业务混合在一起的时候,要写单元测试很多...

    mysql面试题,面试会问到的基础问题

    和它的优点缺点是什么? 4. 主键和索引的区别? 5. 维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 6. 什么是事务? 7. 什么叫视图? 8. 视图创建和使用语法? 9. 游标是什么? 10. 你能...

Global site tag (gtag.js) - Google Analytics