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

视图原理(转)

 
阅读更多
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
  对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。
  视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
  视图:查看图形或文档的方式。
  视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言这些数据列和数据行来源于其所引用的表。
  所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
  视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
  当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。



  视图有很多优点,主要表现在:


    视点集中
  视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。
  简化操作
  视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。
  定制数据
  视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
  合并分割数据
  在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。
  安全性
  视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
  从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于试图,例如查询,插入,修改,删除操作等。


分享到:
评论

相关推荐

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

    Oracle数据库中的物化视图(Materialized View,简称MV)是一种强大的优化工具,它通过预先计算并存储查询结果,提供了一种快速访问复杂查询数据的方式。这种技术在数据仓库环境中尤其有用,因为数据仓库通常涉及...

    Spring MVC--5.视图和视图解析器

    接下来,我们将深入探讨Spring MVC中的视图和视图解析器的工作原理及常见用法。 首先,我们来看视图。在Spring MVC中,视图通常是一个JSP、FreeMarker或Thymeleaf等模板引擎页面。这些模板引擎允许开发者将业务逻辑...

    ios-视图弹出、平移、旋转、翻转、剪切等变换效果.zip

    在iOS开发中,视图动画是提升用户体验的重要手段之一,它可以为用户界面带来生动...通过学习和实践`transformViewDemo`项目,开发者不仅可以掌握基本的视图变换技术,还能进一步理解Core Animation框架的深层工作原理。

    PostgreSQL物化视图的刷新机制.pptx

    物化视图可以分为四种类型:快照物化视图、积极物化视图、消极物化视图和非常消极物化视图。 为什么使用物化视图?在执行某些查询时,效率较低,传统方法(例如,索引或查询优化)无法显著提高效率。这时使用的方法...

    月视图和周视图切换控件

    #### 实现原理 1. **控件初始化**:首先创建一个名为 `ctlMakePlan` 的自定义控件,继承自 `UserControl` 类。该控件包含了用于显示日期的 `dataGridView1`、一个用于选择视图模式的 `comboBox1` 以及用于显示当前...

    查询与视图.

    通过这样的实验,学生不仅能够熟悉VFP的查询和视图功能,还能增强对数据库原理的理解,为将来设计数据库应用系统打下坚实的基础。实验环境通常是在Windows XP操作系统上运行Visual FoxPro 6.0,这是早期常用的数据库...

    USB转TTL串口CH340设计带自上电的STC单片机烧录器 PDF原理图+AD版PCB图+3D视图封装库文件.zip

    该压缩包包含的是一个USB转TTL串口的设计方案,主要使用了CH340芯片,专门用于STC单片机的烧录。这个设计具备自上电功能,方便用户在没有外部电源的情况下进行单片机的编程。下面将详细阐述这个设计中的关键知识点。...

    详细分析mysql视图的原理及使用方法

    1. 视图原理: 视图是根据SQL SELECT语句的结果集创建的,它并不实际存储数据,而是存储查询逻辑。当查询视图时,数据库会根据视图的定义执行相应的SELECT语句,然后返回结果。由于视图的数据依赖于基础表,因此...

    视图转换动画

    总结起来,实现视图转换动画,需要掌握UIScrollView、UIPageControl的使用,理解Core Animation的工作原理,以及如何通过代码响应用户交互来驱动动画。通过这些技术,开发者可以创建出动态、引人入胜的用户界面,...

    数据库原理与应用之视图和触发器

    数据库原理与应用是IT领域中的核心课程之一,其中视图和触发器是两个重要的概念,它们在数据库管理和数据处理中发挥着关键作用。 视图,简单来说,是数据库中的虚拟表,它并不实际存储数据,而是基于一个或多个表的...

    oracle实现带参数视图

    #### 带参数视图的实现原理 实现带参数视图的基本思路是利用 PL/SQL 包(Package)来封装相关的逻辑处理。具体而言,我们可以在包内定义存储过程和函数,通过这些存储过程或函数来接收外部传入的参数,并基于这些...

    制图基础第2章投影的基本原理及三视图3.ppt

    制图基础第2章投影的基本原理及三视图3.ppt

    数据库原理实验3-数据更新及视图(实验报告含总结体会)

    实验报告“数据库原理实验3-数据更新及视图”涵盖了数据库操作的核心方面,特别是SQL语言在数据管理和视图创建中的应用。以下是对实验内容的详细解释: 1. **数据更新语句**: - **UPDATE**:用于修改现有数据表中...

    数据库原理实践报告视图、索引的建立和维护;

    数据库原理实践报告主要涵盖了数据库的设计、操作以及SQL语言的应用,旨在深化学生对数据库系统原理的理解。以下是关于数据库、视图、索引等实践内容的详细说明: 1. **数据库和数据表的创建**: 创建数据库是构建...

    数据库原理视图的创建与使用实验报告.doc

    数据库原理视图的创建与使用实验报告 数据库原理实验报告的主要目的是让学生理解视图的概念、掌握创建视图的方法、掌握更改视图的方法、掌握用视图管理数据的方法。本实验报告将介绍如何使用 SQL Server 2000 创建...

    制图基础第2章投影的基本原理及三视图5.ppt

    《制图基础:投影的基本原理及三视图》 在工程制图中,理解投影的基本原理和三视图是至关重要的。本章主要探讨的是立体表面的截交线和相贯线,这两种概念在绘制复杂几何体的投影时起到关键作用。 首先,相贯线是指...

    GPS天空视图

    《GPS天空视图:利用MATLAB构建导航系统可视化工具》 GPS(全球定位系统)是现代生活中不可或缺的导航技术,其工作原理基于卫星信号的接收和处理。在研究和教学过程中,理解GPS信号的传播环境以及卫星在天空中的...

    模型视图矩阵的例子

    模型视图矩阵是计算机图形学中的一个重要...通过理解模型视图矩阵的构成和变换原理,开发者能够有效地控制3D场景的呈现,创建出丰富多彩的视觉效果。这个测试例子提供了一个实践平台,有助于深入学习和掌握这些概念。

    mysql视图原理与用法实例详解

    本文实例讲述了mysql视图原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是视图 创建视图 查看视图 视图的修改 视图的删除 视图的数据操作 首发日期:2018-04-13 什么是视图: 视图是一种...

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

    Oracle数据库中的物化视图(Materialized View, MV)是一种数据对象,它预先计算并存储了一个查询的结果,以便后续查询可以更快地...理解物化视图的工作原理以及如何有效地管理和维护它们对于优化数据库性能至关重要。

Global site tag (gtag.js) - Google Analytics