- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
D10Z - 副本
第 章
10 其他数据库对象
前面介绍了 Oracle 数据库中最主要、最基本的数据库对象——表以及依赖于表的对象约束,
除了表和约束外,实际应用中还将应用到 Oracle 数据库中其他的一些对象,如视图、序列、索引
和同义词等。
本章中主要针对上述几个常见的 Oracle 数据库对象进行分别介绍。对于各对象将从基本概念
出发,循序渐进地介绍如何使用 SQL 语句实现对象的创建、修改、删除等基本操作。
10.1 视 图
表在前面的章节中已经介绍,知道表主要是用来存储数据,是用户实现数据查询操作的根本,
但在数据库中,除了可通过表实现数据库查询和维护操作外,还可以通过另一个数据库对象——
视图,实现对数据的查询和维护操作。视图是基于表而存在的,与表存在着密不可分的关系。
10.1.1 视图的概念
视图(View),Oracle 官方的解释是“视图是从一个或多个表中取得的数据的逻辑子集(Logically
represents subsets of data from one or more tables)”。从这个解释来看,视图与表的作用很接近,并
且关系紧密。
对表可以进行查询、添加、修改和删除的操作,而对于视图也可以进行同样的操作。但区别
是,视图中并不存储数据——可理解为视图是一种虚表。那么视图中的数据来源于何处呢?视图
中的数据是来源于一个或多个表,当查询或操作视图中的数据时,实际上操作的是视图所对应的
表中的数据,而对于视图的操作结果最终将反映在视图所对应的表中,因此,视图是一个“逻辑
子集”,视图中的数据是逻辑上的数据,而不是物理上的数据,物理上的数据是存储在表中的。
对视图的操作与表的操作基本相似,但视图操作的是逻辑数据,是虚拟的,而表操作的数据
则是真实存在的数据。假如有如下场景:
公司内编号 50 的部门想增设一个工资管理员,只负责 50 部门的员工的工资信息管理,并且
除了姓名和工资外,该管理员不能查询和操作其他的字段和记录。那么该管理员可以管理的员工
信息有哪些呢?
例 10- 1 查询 50 部门员工的工资。
SELECT last_name, salary FROM employees
WHERE department_id=50
在以后的工作中,该管理员经常要使用该查询来取得数据,或者操作该查询涉及的数据。如
果能把该查询定义为一个数据库对象,以后就不用反复的写类似的 SQL 代码,这是视图的一个典
第 10 章 其他数据库对象 173
型的应用。创建视图的语句如下:
CREATE OR REPLACE VIEW dept50
AS
SELECT last_name, salary FROM employees
WHERE department_id=50
从视图的创建可以看出,视图其实是一个命名的查询。视图创建后,就可以使用 SELECT 语
句来直接查看视图中的数据。
SELECT * FROM dept50
查询执行结果如图 10-1 所示。
文档评论(0)