在SQL中,視圖是外模式一級數據結構的基本單位。它是從一個或幾個基本表中導出的表,是從現有基本表中抽取若干子集組成用戶的"專用表"。這種構造方式必須使用 SQL中的SELECT語句來實現。在定義一個視圖時,只是把其定義存放在系統的數據中, 而并不直接存儲視圖對應的數據,直到用戶使用視圖時才去求得對應的數據。
1、視圖的定義
在SQL中,定義視圖可以使用CREATE VIEW語句實現,其語句格式為:
CREATE VIEW 視圖名 ASSELECT語句
(1)單源表視圖
即視圖是從一個基本表中導出的:
例1:從基本表student中導出只包括女學生情況的視圖
CREATE VIEW WOMANVIEWAS --創建一個視圖WOMANVIEW
SELECT st_class,st_no,st_name,st_age --選擇列
FROM student --從基本表student引入
WHERE st_sex='女'--引入條件為性別為"女",注意字符變量都使用單引號引用
(2)多源表視圖
即視圖是從多個基本表中導出的:
例如:從基本表student和score中導出只包括女學生且分數在60分以上的視圖
CREATE VIEWWOMAN_SCOREAS --定義視圖WOMANSCORE
SELECT student.st_class,student.st_no,student.st_name,student.st_age,score.sc_score
--有選擇性顯示相關列
FROM student,score --從基本表student和score中引入
WHERE student.st_sex = '女' AND score.sc_score >= 60 AND
student.st_no = score.st_no --選擇條件:性別為"女" 且分數在60分以上,
--并使用st_no將兩表聯系起來。
以后如果進行這一視圖的應用,則只需使用語句
SELECT * FROM WOMAN_SCORE --其中"*"為通配符,代表所有列
2、視圖的刪除
用于刪除已不再使用的視圖,其語句格式如下:
DROP VIEW 視圖名
例:將上面建立的WOMAN_SCORE視圖刪除
DROP VIEW WOMAN_SCORE
對于修改視圖,很多DBMS并不予以支持,如果想了解的話,只能參考具體的數據庫管理系統的相關文檔。
新聞熱點
疑難解答