熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫-視圖的概念

2013-11-13 15:32:05  來源: Oracle 

  一 視圖概念

  視圖是原始數據庫數據的一種變換是查看表中數據的另外一種方式可以將視圖看成是一個移動的窗口通過它可以看到感興趣的數據

  視圖是從一個或多個實際表中獲得的這些表的數據存放在數據庫中那些用於產生視圖的表叫做該視圖的基表一個視圖也可以從另一個視圖中產生

  視圖的定義存在數據庫中與此定義相關的數據並沒有再存一份於數據庫中通過視圖看到的數據存放在基表中

  視圖看上去非常象數據庫的物理表對它的操作同任何其它的表一樣當通過視圖修改數據時實際上是在改變基表中的數據相反地基表數據的改變也會自動反映在由基表產生的視圖中由於邏輯上的原因有些視圖可以修改對應的基表有些則不能(僅僅能查詢)

  二 視圖的作用

  * 簡單性看到的就是需要的視圖不僅可以簡化用戶對數據的理解也可以簡化他們的操作那些被經常使用的查詢可以被定義為視圖從而使得用戶不必為以後的操作每次指定全部的條件

  * 安全性通過視圖用戶只能查詢和修改他們所能見到的數據數據庫中的其它數據則既看不見也取不到數據庫授權命令可以使每個用戶對數據庫的檢索限制到特定的數據庫對象上但不能授權到數據庫特定行和特定的列上通過視圖用戶可以被限制在數據的不同子集上

  使用權限可被限制在基表的行的子集上

  使用權限可被限制在基表的列的子集上 

  使用權限可被限制在基表的行和列的子集上 

  使用權限可被限制在多個基表的連接所限定的行上 

  使用權限可被限制在基表中的數據的統計匯總上

  使用權限可被限制在另一視圖的一個子集上或是一些視圖和基表合並後的子集上

  * 邏輯數據獨立性視圖可幫助用戶屏蔽真實表結構變化帶來的影響

  三 視圖的安全性

  視圖的安全性可以防止未授權用戶查看特定的行或列是用戶只能看到表中特定行的方法如下

   在表中增加一個標志用戶名的列

   建立視圖是用戶只能看到標有自己用戶名的行

   把視圖授權給其他用戶

  四 邏輯數據獨立性

  視圖可以使應用程序和數據庫表在一定程度上獨立如果沒有視圖應用一定是建立在表上的有了視圖之後程序可以建立在視圖之上從而程序與數據庫表被視圖分割開來視圖可以在以下幾個方面使程序與數據獨立

   如果應用建立在數據庫表上當數據庫表發生變化時可以在表上建立視圖通過視圖屏蔽表的變化從而應用程序可以不動

   如果應用建立在數據庫表上當應用發生變化時可以在表上建立視圖通過視圖屏蔽應用的變化從而使數據庫表不動

   如果應用建立在視圖上當數據庫表發生變化時可以在表上修改視圖通過視圖屏蔽表的變化從而應用程序可以不動

   如果應用建立在視圖上當應用發生變化時可以在表上修改視圖通過視圖屏蔽應用的變化從而數據庫可以不動


From:http://tw.wingwit.com/Article/program/Oracle/201311/16872.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.