- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库中视图
第9章 视图的使用
重点内容:
视图的定义
创建视图
更新视图
删除视图
视图的应用
;一、视图定义
视图是由基于一个或多个表上的一个查询所定义的虚拟表,它将该查询的具体标准暂时保存起来,也就是说,我们存储一个视图,只需要存储它的定义,而不必像实际的数据表那样需要在数据库中占据着物理空间,但是视图的操作方法是和实际数据表的操作方法一样的。
在ANSI/SQL标准中,视图只是作为一个被查看的虚拟表,而它的建立基础即实际的表则作为基本表。视图可以将数据库中的数据按照用户的要求,以不同的方式呈现给不同的用户。由于视图保存了我们经常使用的查询,这样用户如果需要在视图代表的某个查询的结果中重复使用其中的数据就不用多次输入查询语句了这么复杂了,而且不同的用户看见的数据集的表现形式也不同,相当的自由和灵活。 ;二、视图的优缺点
(1)优点
简化查询:视图可以基于多个不同的表来建立,它将多个表中抽取得数据放在一起,像一个单表一样操作。
简化结构:无论数据在数据表中的物理布局如何,视图都可以使数据按照不同用户的要求任意地将其选择组合为虚表来呈现给用户,满足不同用户的需求,很好地体现了数据库的“个人化”操作。
安全性:通过视图来访问数据库中的数据,可以限制用户对数据库内容的访问范围,让用户只能访问视图的创建者想让他们看到的具体数据。
数据完整性:在用户通过视图访问或者更新数据时,数据库管理系统DBMS的相关部分会自动地检查数据,确保预先设定的完整性约束。
(2)缺点
性能不高:虽然对用户来说,利用视图访问数据的方法和表相同,但是,数据库管理系统DBMS处理用户对视图的查询时,必须要先将其转换为对底层源表的查询。
数据更新受限;三、 创建视图
创建视图使用命令CREATE VIEW。 ;三、创建视图
1、创建列的别名
创建视图时,如果用户没有特别指定视图中的列名,视图列将继承SELECT语句中源表的列名。但是如果视图中的列是通过计算得出的或者有多个列具有相同的名称,就必须要给视图列命名,这个名称也叫源??中的列的别名。指定的列名清单放在CREATE语句的视图名称之后的括号中。;三、创建视图
2、单表视图
如果视图只有一个源表,那么我们就说这个视图是单表视图。单表视图通常在一个包含有很多行或者很多列的表的基础上创建使用,通过单表视图用户可以对它的源表中最常用的数据子集进行查询,而不用去理会那些用不着的数据行和列,使操作对象看起来更加简洁好用。
如果一个表中的数据只有特定的行和列允许用户使用的话,在这个表上建立单表视图也可以保证数据库的安全性。赋予用户对视图的访问权,而不允许他们访问表可以很好地防止用户越权访问。 ;三、创建视图
3、使用连接的视图
视图可以在单表上建立,也可以在多个表的基础上创建。使用在多个表上创建的视图,用户就不必考虑自己使用的数据来自于哪个数据表或者需要在那个表中查找自己需要的数据。需要做的就是,在视图中使用这些数据,就好像它们一直就存储在同一个表上一样。下面我们介绍使用连接的视图。要创建一个使用连接的视图,只需使用多表连接查询来定义。 ;三、创建视图
4、使用连接的视图
用户可以使用包含了子查询的查询语句来定义一个视图。这些子查询的使用方法和它们在常规的SELECT语句中的使用一样,在本书第8章中详细讨论了子查询的使用,读者可以参考。下面我们举几个简单的例子来说明子查询在视图创建中的运用。 ;四、更新视图
视图可更新性的最基本的规则:视图中的每一行数据都必须映射到视图使用的基本表的单独一个记录行上。
下面列出了ANSI标准所不允许进行更新操作的几种常见的会破坏这个基本规则的视图创建和操作方式:
(1)视图的列中没有包括源表中有NOT NULL定义的表列
(2)在定义视图的查询语句SELECT后的选择清单中使用了数学表达式来定义视图列
(3)在定义视图的查询语句SELECT后的选择清单中使用了函数调用或是聚集函数来定义视图列
(4)在视图创建中对GROUP BY和HAVING的使用
(5)在视图创建的选择清单中使用了DISTINCT运算符
(6)在创建视图的查询语句中的任意位置引用了不可更新视图
(7)在创建视图的查询语句中使用了子查询或者大部分类型的连接 ;五、删除视图
删除视图的操作很简单,使用DROP VIEW命令来完成这个操作。;六、视图的应用
1、简化复杂的查询
如果我们在对数据库中的数据进行某种操作时,需要执行一系列的查询语句,会发现这么做是很复杂的,这种情况下,我们可以使用合适的视图来简化查询。
2、从多个
您可能关注的文档
- 如何命制一份优质化学试卷.doc
- 如何审计隐藏未入账收入.doc
- 如何进行有效,销售陈述.doc
- 如何进行有效销售陈述.doc
- 存储过程例子 和 oracle中execute_immediate使用.doc
- 存货审计方法(经典).doc
- 存货管理中十八种作假方式.doc
- 发展经济学 新系统 作业题与答案 2012.8.doc
- 实验1 用迈克尔逊干涉仪测水折射率.doc
- 实验一: Oracle 11g安装和配置与常用工具使用.doc
- 人教版英语5年级下册全册教学课件.pptx
- 部编人教版2年级上册语文全册教学课件含单元及专项复习.pptx
- 人教版8年级上册英语全册教学课件(2021年8月修订).pptx
- 教科版(2017版)6年级上册科学全册课件+课时练.pptx
- 人教版PEP版6年级英语下册全册教学课件(2022年12月修订).pptx
- 部编人教版2年级下册语文全册课件(2021年春修订).pptx
- 人教版数学6年级下册全册教学课件(2023年教材).pptx
- 湘少版5年级下册英语全册教学课件(2021年春修订).pptx
- 人教PEP4年级下册英语全册教学课件 [2}.pptx
- 人教版6年级上册英语全册教学课件.pptx
最近下载
- 科学一年级下册《第一单元 身边的物体》大单元整体教学设计2025.docx
- 第四章-vcenter server介绍.pptx
- 项目一任务一 水果的挑选(教学设计)小学劳动浙教版四年级上册.docx
- 24设计开发输出清单.docx VIP
- 2025年金华职业技术学院单招职业适应性测试题库及完整答案一套.docx VIP
- 2024年湖南省高考数学试卷(含答案详解).docx
- 主题意义探究下的小学英语单元整体教学.pptx
- 2023--2024学年广东省深圳市深圳中学八年级历史上册期中试卷(含解析).pdf VIP
- 2024年高等教育文学类自考-00181广告学(一)历年高频考点试卷专家荟萃含答案.docx
- 《现代社会调查方法》配套教学课件.pptx
文档评论(0)