- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章
视图
回顾
什么是同义词
序列的作用及伪列的使用
表分区的类型
表分区的维护
本章目标
理解视图的概念
掌握视图的创建
理解键保留表对于视图的意义
掌握物化视图的创建与维护
视图
视图以经过定制的方式显示来自一个或多个表的数据
视图可以视为“虚拟表”或“存储的查询”
创建视图所依据的表称为“基表”
视图的优点有:
提供了另外一种级别的表安全性
隐藏的数据的复杂性
简化的用户的SQL命令
隔离基表结构的改变
通过重命名列,从另一个角度提供数据
视图的类型
Oracle中有四种类型的视图:
关系视图:关系视图(relational view)基本上就是经过存储的查询,可以将它的输出看作是一个表。它就是基于关系数据的存储对象。
内嵌视图:又称为嵌套查询,是嵌入到父查询中的查询,能够在任何可以使用表名称的地方使用。
对象视图:为了迎合数据库中对象类型而将关系表投射到特定数据类型的虚拟对象表中,视图的每行都是带有属性、方法和唯一标识(OID)的对象实例。
物化视图:就是在数据库中查询结果存储在视图中,并支持查询重写、刷新、提交等特性的视图
关系视图
真正的“存储的查询”或“虚拟表”
关系视图我们经常简称为视图
具有与表相同的最大许可列数量的限制(1000)
可以跟表一样进行INSERT、UPDATE、DELETE、SELECT的操作,但主要用于查询。
创建关系视图语法
创建关系视图的语法:
CREATE [OR REPLACE] [FORCE] VIEW
view_name [(alias[, alias]...)]
AS select_statement
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY];
FORCE无论基表是否存在都将强制创建视图
OR REPLACE如果视图已经存在,则将重新创建并替换该视图
WITH CHECK OPTION用于指定只能插入或更新视图的条件受限内的行
WITH READ ONLY用于确保不能在此视图上执行任何修改操作
创建关系视图示例
studno
studname
studmarks
subno
studcaste
1
Rob
45
2
Open
2
James
33
4
SC
3
Jesica
40
5
Open
Stud_details
Stud_view
studno
studname
subno
1
Rob
2
2
James
4
3
Jesica
5
创建视图
CREATE VIEW stud_view
AS SELECT studno, studname, subno
FROM Stud_details;
带有参数的视图
使用 WITH CHECK OPTION 选项创建视图
CREATE OR REPLACE VIEW pause_view AS
SELECT * FROM order_master WHERE ostatus = p
WITH CHECK OPTION CONSTRAINT chk_pv;
使用 ORDER BY 子句创建视图
CREATE OR REPLACE VIEW ord_ven AS
SELECT * FROM vendor_master ORDER BY venname;
创建带有错误的视图
CREATE FORCE VIEW ven AS
SELECT * FROM venmaster;
带等联接的视图
Studno
Studname
Submrks
Subno
1
Rob
45
2
2
James
33
4
3
Jesica
40
4
Subno
Subname
2
English
4
Maths
5
Science
Stud_details
Sub_details
Studno
Studname
Submrks
Subname
1
Rob
45
English
2
James
33
Maths
3
Jesica
40
Maths
CREATE VIEW Stud_sub_view AS
SELECT Studno, Studname, Submrks, Subname
FROM Stud_details, Sub_Details
WHERE Stud_details.Subno=Sub_details.Subno;
Stud_sub_view
联接视图
带外联接的视图
创建外联接视图
CREATE VIEW ven_ord_outj_view AS
SELECT vm.vencode, venname, orderno, odate, ostatus
FROM vendor_master vm, order_master om
WH
您可能关注的文档
最近下载
- DL_T 267-2023 油浸式全密封卷铁心配电变压器使用技术条件.pdf VIP
- 一种新型的化纤打包机.pdf VIP
- 山东黄金集团招聘考试题库.pdf
- 贵州省黔西南州2024-2025学年七年级下学期期末语文试题(含答案).pdf VIP
- 环形混凝土电杆标准.pdf VIP
- 专项施工方案.docx VIP
- NB∕T 47018.4-2022 承压设备用焊接材料订货技术条件 第4部分:埋弧焊钢焊丝和焊剂.pdf
- 山西博大集团寿阳京鲁煤业有限责任公司兼并重组整合矿井地质报告.doc
- 贵州省黔西南州2024-2025学年七年级下学期期末考试语文试题(含答案).docx VIP
- 烟气脱硫废水处理系统培训课件.pptx VIP
文档评论(0)