`

数据库原理—— 视图

阅读更多

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


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


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

 

 

分享到:
评论

相关推荐

    数据库原理及应用A实验报告(实验四——数据库恢复与安全性)

    熟悉视图机制在自主存取控制上的应用 二、实验环境 Windows10 Oracle database 12.1.0.2.0 PL/SQL Developer 12 三、实验步骤、出现的问题及解决方案 1、逻辑备份 (1)导出自己用户中的“预约”表

    数据库原理实验(共6个)

    一共有6个实验 里面代码报告齐全! 实验一 认识数据库管理系统(DBMS) 实验二 SQL语言——数据定义操作 实验三 SQL语言——数据查询操作 ...实验五 SQL语言——数据视图操作 实验六 通过ODBC方式访问数据库

    数据库课程设计——图书管理系统.doc

    数据库系统原理课程设计 课题名称:图书信息管理系统 姓 名: 班 级: 学 号: 指导老师: 2014年 01月 02日 目录 1.绪论 3 1。1 背景介绍 3 1.2 开发背景的选用及介绍 3 2.需求分析 4 2.1 系统分析 4 2。2 系统目标...

    exam-ol:数据库原理课程设计

    数据库原理课程设计——在线考试系统 目录结构 common 存放公用的工具函数 sql 服务器运行依赖数据库的建表语句、触发器和存储过程,以及少量测试数据 models 数据库相关,存放SQLAlchemy的Model views 后端相关,...

    数据库原理概论理论知识点总结.pdf

    数据库原理概论理论知识点总结 数据库概论 ⼀.绪论 1.1 数据库系统概述 数据是描述事物的符号记录,是数据库中存储的基本对象。 数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分割...

    数据库实验3报告(数据完整性与安全性控制).docx

    NPU_CS学院,数据库实验3,难度一般

    SQL 宝典 [美]Alex Kriegel, Boris M.Trukhnov【著】

    接着深入探讨数据库对象——表、视图、索引和序列等;然后说明数据处理和事物控制(包括插入、删除和更新记录等),以及数据检索和传送(涉及 SELECT语言和SQL函数等);最后介绍数据库安全和数据库访问等其他内容。...

    SQL 宝典 国外经典 中文版

    接着深入探讨数据库对象——表、视图、索引和序列等;然后说明数据处理和事物控制(包括插入、删除和更新记录等),以及数据检索和传送(涉及SELECT语言和SQL函数等);最后介绍数据库安全和数据库访问等其他内容。...

    数据库课程设计设计指导书-最新.pdf

    《数据库原理及应用》课程设计指导书 2008 级计算机科学与技术专业 第 1 页 共 20 页 计算机科学与技术专业 数据库原理及应用 课 程 设 计 教学实验指导书 《数据库原理及应用》课程设计指导书 2008 级计算机科学与...

    图书管理系统-数据库实训报告.doc

    实习任务书 校内实习地点: 校外实习单位: 实习岗位: 实习时间:2010年12月20日——2011年1月7日共3周 校内实习导师:刘永真 实习内容: 选择对应的系统,按数据库原理进行数据库设计,利用软件工程与应用课程设计...

    SpringMVC——执行原理及简单配置实现.docx

    当发起请求时被前置的控制器拦截到请求, 根据请求参数生成代理请求, 找到对应的实际控制器, ...控制器使用模型与视图渲染视图结果, 将结果返回给中心控制器,再将结果返回给请求者。

    数据库课程设计--书店管理系统.doc

    《数据库原理及应用》 课程设计报告 设计题目:书店管理系统数据库设计 目 录 1数据库需求分析……………………………………………………………………… 2 1.1调查对象基本情况说明…………………………………………...

    数据库资料

    SQL编程,实现功能强大的查询掌握创建索引、视图,快速访问数据库 掌握创建存储过程,实现复杂的业务规则理解触发器的原理,实现高级的约束目标了解设计数据库的步骤掌握如何绘制数据库的E-R图理解数据库的规范化-...

    阿里巴巴大数据之路——数据技术篇.pdf

    数据计算层:以MaxComputer为代表的离线数据存储和计算平台 数据服务层:以RDS为代表的数据库服务(接⼝或者视图形式的数据服务) 数据应⽤层:包含流量分析平台等数据应⽤⼯具 ⼆、数据采集(离线数据同步) ⼆、...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    7.1 Oracle备份和恢复基本原理 7.1.1 从何处着手 7.1.2 备份的体系结构 7.1.3 Oracle二进制文件 7.1.4 参数文件 7.1.5 控制文件 7.1.6 重做日志 7.1.7 撤消段 7.1.8 检查点 7.1.9 归档日志 7.1.10 数据文件、表空间...

    数据库课程设计-学生成绩管理系统.doc

    绩 " " "教师签名 " " " " " 1、目的 通过本次实训,运用数据库原理及应用课程的基本知识构建一个可用的数据库,通 过实现,加强对数据库的认识与理解。 1.掌握在分析用户需求的基础上,使用SQL Server 2005设计...

    数据库课程设计--工资管理系统.doc

    五、详细设计 (1) 数据库的E-R图及合并部分视图生成E-R 图 员工信息E-R图: 员工工资信息E-R图: 管理员用户E-R图: (2) 数据库结构设计 根据上面概念结构设计阶段得到的E- R图,下一步应该将它转化为关系模型...

    visual c++ 6.0技术内幕第5版

    本书是微软出版社授权的中文版系列书之一。...全书由Windows、Visual C++和应用程序框架基本原理,MFC库视图类,文档视图体系结构,COM、Automation和OLE,数据库管理,Internet编程等六部分共 38章构成。

    精通QTP——自动化测试技术领航

    1.4.1 QTP的两种视图及思维转换 70 1.4.2 总结 74 1.5 QTP精华—对象库(上)之基础攻略篇 75 1.5.1 引言 76 1.5.2 对象库的出现改写了软件测试历史 76 1.5.3 一个简单的实例介绍对象库原理、机制及操作流程 ...

Global site tag (gtag.js) - Google Analytics