視圖是基於 SQL 語句的結果集的可視化的表。
視圖包括行和列,就像一個真實的表。視圖中的字段就是來自一個或多個數據庫中的真實的表中的字段。
我們能夠向視圖加入 SQL 函數、WHERE 以及 JOIN 語句,我們也能夠提交數據,就像這些來自於某個單一的表。
凝視:數據庫的設計和結構不會受到視圖中的函數、where 或 join 語句的影響。
也能夠理解為,視圖是從一個或幾個基本表(或視圖)導出的表。它與基本表不同,是一個虛表。數據庫僅僅存放視圖的定義,而不存放視圖相應的數據。這些數據仍存放在原來的基本表中。所以基本表中的數據發生變化,從視圖中查詢出的數據也就隨之改變了。
從這個意義上講。視圖就像一個窗體。透過它能夠看到數據庫中自己感興趣的數據及其變化。
視圖的優點
1、 視圖能簡化用戶操作
視圖機制使用戶能夠將注意力集中在所關心地數據上。
假設這些數據不是直接來自基本表,則能夠通過定義視圖。使數據庫看起來結構簡單、清晰。而且能夠簡化用戶的的數據查詢操作。比如,那些定義了若干張表連接的視圖。就將表與表之間的連接操作對用戶隱藏起來了。
換句話說,用戶所作的僅僅是對一個虛表的簡單查詢。而這個虛表是如何得來的,用戶無需了解。
2、 視圖使用戶能以多種角度看待同一數據
視圖機制能使不同的用戶以不同的方式看待同一數據,當很多不同種類的用戶共享同一個數據庫時。這樣的靈活性是很必要的。
3、 視圖對重構數據庫提供了一定程度的邏輯獨立性
數據的物理獨立性是指用戶的應用程序不依賴於數據庫的物理結構。數據的邏輯獨立性是指當數據庫重構造時,如添加新的關系或對原有的關系添加新的字段,用戶的應用程序不會受影響。層次數據庫和網狀數據庫一般能較好地支持數據的物理獨立性。而對於邏輯獨立性則不能全然的支持。
4、視圖可以對機密數據提供安全保護
有了視圖機制,就能夠在設計數據庫應用系統時,對不同的用戶定義不同的視圖,使機密數據不出如今不應該看到這些數據的用戶視圖上。這樣視圖機制就自己主動提供了對機密數據的安全保護功能。
5、適當的利用視圖能夠更清晰地表達查詢
SQL 創建視圖(CREATE VIEW)
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
SQL 更新視圖
SQL CREATE OR REPLACE VIEW mahc CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
SQL 撤銷視圖
SQL DROP VIEW mahc DROP VIEW view_name
【轉載使用。請注明出處:http://blog.csdn.net/mahoking】