`
azrael6619
  • 浏览: 574636 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

视图的好处

阅读更多

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

 

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

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


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

分享到:
评论

相关推荐

    Oracle数据库中物化视图的原理剖析

    物化视图 (MV)在一个段中存储查询结果,并且能够在提交查询时将结果返回给用户,从而不再需要重新执行查询 — 在查询要执行几次时,这是一个很大的好处。物化视图可以利用一个快速刷新机制从基础表中全部或增量刷新...

    视图禁用与启用

    约束禁用 –如果有大批量数据导入时,我们可以采用禁用约束的方法... 主要的好处,首先效率高,另外有主外键约束的表之间导 入时,不用考虑导入的先后顺序。 –禁用约束语法: ALTER TABLE table DISABLE CON

    连接其他oracle数据库信息创建本地视图

    通过oracle数据库连接其他oracle数据库信息,并通过连接信息创建本地视图,好处在于能及时的获取到对方数据库的最新信息,同时不占用本地数据库资源

    ORACLE 动态性能视图详解

    最完整的oracle动态性能视图详解,供DBA对数据库进行优化或者排错等很有好处,是oracle的老师给的哦~

    android 简单的手势切换视图示例.doc

     这样做的好处是用户体验比较好,比向下滚屏或者使用tab切换视图。 在自己的代码中要用到这个动作效果。这里需要用到: android.widget.ViewFlipper ViewFlipper是一种Layout,可以在xml中声明。我的例子只做到...

    关于设计模式MVC(Model View Controller)模型-视图-控制器

    MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。...模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 。。。。。。。。。。。。。。。。。。。。。

    MySQL之视图

    视图的好处 • 重用sql语句 • 简化复杂的sql操作,不必知道它的查询细节 • 保护数据,提高安全性 创建视图 语法 create view 视图名 as 查询语句; 修改视图 方式一: create or replace view 视

    十一、MySQL视图学习笔记(详解)

    视图的好处: 1、sql语句提高重用性,效率高 2、和表实现了分离,提高了安全性 视图的创建 语法: CREATE VIEW 视图名 AS 查询语句; 视图的增删改查 1、查看视图的数据 ★ SELECT * FROM my_v4;

    通过MVC模式将Web视图和逻辑代码分离

    这样做的好处可以使客户端开发人员和服务端开发人员的工作尽量分开,以使他们之间的干扰降到最低。虽然象Struts这样的框架可以很好地Model和View分离。但是对于客户端的代码,仍然存在着一定的视图和逻辑混合的现象...

    char_view:C++ 的文字和字符缓冲区只读视图类

    介绍这是 char_view 的自述文件 - 具有编译时处理的不可变字符串视图类,支持 C++ 字符串文字、std::strings 和 char 缓冲区。 库目前作为仅标头解决方案实施。执照软件是在 BSD 许可下发布的,详细信息请参见 ...

    具有高度可定制菜单的分页视图控制器controller-Swift开发

    入门指南 ...使用羊皮纸有一些好处:高度可定制菜单项是使用UICollectionView构建的,这意味着您可以显示几乎任何内容。 您甚至可以将布局子类化,以创建完全自定义的行为。 内存效率高:羊皮纸仅分配视图c

    AdaptableBottomNavigation:在Android上实现底部导航视图的更简单方法

    但是,当从设计支持库中实现BottomNavigationView时,我们并没有得到同样的好处。 这需要托管BottomNavigationView的活动(或片段)来容纳用于处理此类事件的逻辑。 我们不能将ViewPager用于底部导航,因为视图的...

    simpleLiveView:在“简单视图”中运行时,为Cardano节点创建“实时视图”

    Crypto2099简单实时取景创建此简单脚本的目的是为cardano-node LiveView模式提供大多数“好处”,而不会带来操作开销和安全风险。 使用此相对简单的脚本,您可以在“ SimpleView”中作为服务运行时获取有关cardano-...

    json-view:Jackson 的程序化 JSON 视图

    虽然声明式风格确实有很多好处(编译时检查、易于重构等),但无法以编程方式简单地控制包含/排除是一个主要缺点。 受启发,该库提供了一种简单的方法来即时更改序列化输出。包含配置用法返回值从源头构建 视图这个...

    android移动无线点餐客户端源码+JAVAWEB源码+毕业设计

    MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型表示...

    DataBinding玩转MVVM开发实战

    使用它我们可以轻松实现MVVM(模型-视图-视图模型)模式,来实现应用之间数据与视图的分离、视图与业务逻辑的分离、数据与业务逻辑的分离,从而达到低耦合、可重用性、易测试性等好处。而使用DataBinding不仅减少了...

    讲解vue-router之命名路由和命名视图

    前言:前面我们把动态路由、嵌套路由等讲完了,说道完命名路由和命名视图,vue-router的基本使用方法就算是完篇了,还想仔细探究的同学可以去官网翻阅,加深理解。 1.首先来说说什么是命名路由? ① 官方文档的解释...

    UICalendar:MonoTouch UICallendar 控件 包含日、月、周视图

    UICalendar 控件 UICalendar 控件的设计是因为 Apple 的 SDK 中没有包含 Calendar 控件。 月和日视图以原生 iOS 日历为模型。 周视图是在 iOS 包含周视图之前编写的... 它有一些额外的好处,比如捏缩放。 本周观看视频

    ProcessPageViewStat:记录CMS ProcessWire的页面视图

    ProcessPageViewStat记录CMS ProcessWire的页面视图。用于ProcessWire的PageViewStatistic是一个模块,用于记录CMS的页面访问。记录包括一些基本信息,例如IP地址,浏览器,操作系统,请求的页面和原始页面。请注意...

Global site tag (gtag.js) - Google Analytics