天学通Oracle第二版]第7章视

天学通Oracle第二版]第7章视

ID:39326510

大小:264.81 KB

页数:26页

时间:2019-06-30

天学通Oracle第二版]第7章视_第1页
天学通Oracle第二版]第7章视_第2页
天学通Oracle第二版]第7章视_第3页
天学通Oracle第二版]第7章视_第4页
天学通Oracle第二版]第7章视_第5页
资源描述:

《天学通Oracle第二版]第7章视》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章视图视图是数据库中特有的对象。视图用于存储查询,但不会存储数据(物化视图除外)。这是视图和数据表的重要区别。可以利用视图进行查询、插入、更新和删除数据。Oracle中有4种视图:关系视图;内嵌视图;对象视图;物化视图。7.1关系视图关系视图是四种视图中最简单,同时也是最常用的视图。读者可以将关系视图看作对简单或复杂查询的定义。它的输出可以看作一个虚拟的表,该表的数据是由其他基础数据表提供的。由于关系视图并不存储真正的数据,因此占用数据库资源也较少。7.1.1建立关系视图1.创建关系视图createviewvw_employeesasselectemploye

2、e_id,last_name

3、

4、first_nameasemployee_name,province

5、

6、'-'

7、

8、cityaslocationfromemployees2.查看视图定义selecttextfromuser_viewswhereview_name='VW_EMPLOYEES'3.查看视图内容select*fromvw_employees7.1.2修改/删除视图1.修改视图(为视图添加新列SALARY)createorreplaceviewvw_employeesasselectemployee_id,last_name

9、

10、first_nameasem

11、ployee_name,province

12、

13、'-'

14、

15、cityaslocation,salaryfromemployees2.删除视图dropviewvw_employees7.1.3联接视图在范例7-1中所创建的视图是基于单个基础表的。而在实际应用中,大多数的视图是较为复杂的查询。这也是视图的一大优势,封装复杂查询。createorreplaceviewvw_employee_salaryasselecte.employee_id,e.last_name

16、

17、e.first_nameemployee_name,e.salary+s.total_price*0.1s

18、alaryfromemployeese,employee_salesswheree.employee_id=s.sale_byands.sale_month='3月'7.1.4编译视图视图依赖于基础表的存在而存在,当基础表进行了结构上的调整,有可能会对视图产生影响。如欲再次使用该视图,必须对视图进行重新编译。alterviewvw_employee_salarycompile7.1.5使用force选项强制创建视图有时,视图的基础表还没有创建,但是仍然希望能够创建基于不存在的数据表的视图。这是因为,数据表的预期创建者和视图的创建者并非同一用户。视图创建者不希望等待

19、基础表创建者的工作完成之后才进行自己的工作。假设,此时视图创建者已经对基础表的结构有了清晰的概念,例如books将被创建,以存储图书信息。createorreplaceforceviewvw_booksasselectbook_name,authorfrombooks7.1.6利用视图更新数据表通过视图,不但可以对基础表中的数据进行查询,而且可以对数据表中的数据进行更新。更新的方式非常简单——直接更新视图中的数据即可将对基础表进行相应的更新。当然,并非视图中的所有列都能够进行更新,并反映到基础表中。只有那些直接由基础表获得的列可以进行更新操作,如范例7-5中的列

20、book_name和列author;而由基础表中的数据经过运算获得,仅凭视图中的数据无法判断基础表中的数据情况的列,不能进行更新,vw_employees中的name列。selecttable_name,column_name,updatable,insertable,deletablefromuser_updatable_columnswheretable_name='VW_BOOKS‘insertintovw_booksvalues('千年一叹','余秋雨')7.1.7withcheckoption选项创建视图时,withcheckoption是常用的选项之一

21、。一旦使用了该选项,那么Oracle将保证视图在数据更新之后与更新之前的结果集相同。createorreplaceviewvw_booksasselect*frombookswherebook_id=5updatevw_bookssetbook_id=6createorreplaceviewvw_booksasselect*frombookswherebook_id=5withcheckoption7.1.8关系视图小结1.保障数据安全性2.数据整合3.数据透明性7.2内嵌视图关系视图作为查询定义,一旦创建,即可存在于数据库中,并可被多次使用。但有时,需要某个视图

22、作为过渡结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。