視圖是指計算機數(shù)據(jù)庫中的視圖,是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫中以存儲的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來自由定義視圖的查詢所引用的表,并且在引用視圖時動態(tài)生成。
一、 視圖的用處
1、視圖能簡化用戶操作。視圖機制使用戶可以將注意力集中在所關心的數(shù)據(jù)上。如果這些數(shù)據(jù)不是直接來自基本表,則可以通過定義視圖,使數(shù)據(jù)庫看起來結構簡單、清晰,并且可以簡化用戶的數(shù)據(jù)查詢操作。例如,那些定義了若干張表連接的視圖,就將表與表之間的連接操作對用戶隱藏起來了。換句話說,用戶所做的只是對一個虛擬表的簡單查詢,而這個虛擬是怎樣得來的,用戶無需了解。
2、視圖使用戶能以多種角度看待同一數(shù)據(jù)。視圖機制能使不同的用戶以不同的方式看待同一數(shù)據(jù),當許多不同種類的用戶共享同一個數(shù)據(jù)庫時,這種靈活性是非常必要的。
3、視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性。數(shù)據(jù)的物理獨立性是指用戶的應用程序不依賴于數(shù)據(jù)庫的物理結構。數(shù)據(jù)的邏輯獨立性是指當數(shù)據(jù)庫重構造時,如增加新的關系或對原有的關系增加新的字段,用戶的應用程序不會受影響。層次數(shù)據(jù)庫和網狀數(shù)據(jù)庫一般能較好地支持數(shù)據(jù)的物理獨立性,而對于邏輯獨立性則不能完全的支持。在關系數(shù)據(jù)庫中,數(shù)據(jù)庫的重構造往往是不可避免的。重構數(shù)據(jù)庫最常見的是將一個基本表“垂直”地分成多個基本表。
4、視圖能夠對機密數(shù)據(jù)提供安全保護。有了視圖機制,就可以在設計數(shù)據(jù)庫應用系統(tǒng)時,對不同的用戶定義不同的視圖,使機密數(shù)據(jù)不出現(xiàn)在不應該看到這些數(shù)據(jù)的用戶視圖上。這樣視圖機制就自動提供了對機密數(shù)據(jù)的安全保護功能。
5、適當?shù)睦靡晥D可以更清晰地表達查詢。
二、創(chuàng)建視圖
在創(chuàng)建視圖前應先看看是否有權限:
SELECT SELECT_priv,create_view_priv from mysql.user WHERE user='root';

創(chuàng)建視圖語法:
CREATE VIEW 視圖名 AS SELECT [...] FROM [...];








暫無數(shù)據(jù)