新聞中心
Oracle數(shù)據庫中,我們常用到視圖來建表,省時方便快捷。下面我們就來簡單介紹視圖的基本概念及Oracle視圖的創(chuàng)建。

視圖的概念
視圖是基于一張表或多張表或另外一個視圖的邏輯表。視圖不同于表,視圖本身不包含任何數(shù)據。表是實際獨立存在的實體,是用于存儲數(shù)據的基本結構。而視圖只是一種定義,對應一個查詢語句。視圖的數(shù)據都來自于某些表,這些表被稱為基表。通過視圖來查看表,就像是從不同的角度來觀察一個(或多個)表。
視圖有如下一些優(yōu)點:
* 可以提高數(shù)據訪問的安全性,通過視圖往往只可以訪問數(shù)據庫中表的特定部分,限制了用戶訪問表的全部行和列。
* 簡化了對數(shù)據的查詢,隱藏了查詢的復雜性。視圖的數(shù)據來自一個復雜的查詢,用戶對視圖的檢索卻很簡單。
* 一個視圖可以檢索多張表的數(shù)據,因此用戶通過訪問一個視圖,可完成對多個表的訪問。
* 視圖是相同數(shù)據的不同表示,通過為不同的用戶創(chuàng)建同一個表的不同視圖,使用戶可分別訪問同一個表的不同部分。
視圖可以在表能夠使用的任何地方使用,但在對視圖的操作上同表相比有些限制,特別是插入和修改操作。對視圖的操作將傳遞到基表,所以在表上定義的約束條件和觸發(fā)器在視圖上將同樣起作用。
Oracle視圖的創(chuàng)建
創(chuàng)建Oracle視圖需要CREAE VIEW系統(tǒng)權限,視圖的創(chuàng)建語法如下:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 視圖名[(別名1[,別名2...])]
AS 子查詢
[WITH CHECK OPTION [CONSTRAINT 約束名]]
[WITH READ ONLY]
其中:
OR REPLACE 表示替代已經存在的視圖。
FORCE表示不管基表是否存在,創(chuàng)建視圖。
NOFORCE表示只有基表存在時,才創(chuàng)建視圖,是默認值。
別名是為子查詢中選中的列新定義的名字,替代查詢表中原有的列名。
子查詢是一個用于定義視圖的SELECT查詢語句,可以包含連接、分組及子查詢。
WITH CHECK OPTION表示進行視圖插入或修改時必須滿足子查詢的約束條件。后面的約束名是該約束條件的名字。
WITH READ ONLY 表示視圖是只讀的。
刪除視圖的語法如下:
DROP VIEW 視圖名;
刪除視圖者需要是視圖的建立者或者擁有DROP ANY VIEW權限。視圖的刪除不影響基表,不會丟失數(shù)據。
新聞名稱:有關Oracle視圖的基本概念和創(chuàng)建
網頁路徑:http://m.fisionsoft.com.cn/article/djsjcss.html


咨詢
建站咨詢
