特性
* 簡單性。看到的就是需要的。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以後的操作每次指定全部的條件。
* 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。資料庫中的其它數據則既看不見也取不到。資料庫授權命令可以使每個用戶對資料庫的檢索限制到特定的資料庫對象上,但不能授權到資料庫特定行和特定的列上。通過視圖,用戶可以被限制在數據的不同子集上:
使用許可權可被限制在基表的行的子集上。
使用許可權可被限制在基表的列的子集上。
使用許可權可被限制在基表的行和列的子集上。
使用許可權可被限制在多個基表的連線所限定的行上。
使用許可權可被限制在基表中的數據的統計匯總上。
使用許可權可被限制在另一視圖的一個子集上,或是一些視圖和基表合併後的子集上。
視圖的安全性可以防止未授權用戶查看特定的行或列,使用戶只能看到表中特定行的方法如下:
1 在表中增加一個標誌用戶名的列;
2 建立視圖,使用戶只能看到標有自己用戶名的行;
3 把視圖授權給其他用戶。
* 邏輯數據獨立性。視圖可幫助用戶禁止真實表結構變化帶來的影響。
視圖可以使應用程式和資料庫表在一定程度上獨立。如果沒有視圖,套用一定是建立在表上的。有了視圖之後,程式可以建立在視圖之上,從而程式與資料庫表被視圖分割開來。視圖可以在以下幾個方面使程式與數據獨立:
1 如果套用建立在資料庫表上,當資料庫表發生變化時,可以在表上建立視圖,通過視圖禁止表的變化,從而應用程式可以不動。
2 如果套用建立在資料庫表上,當套用發生變化時,可以在表上建立視圖,通過視圖禁止套用的變化,從而使資料庫表不動。
3 如果套用建立在視圖上,當資料庫表發生變化時,可以在表上修改視圖,通過視圖禁止表的變化,從而應用程式可以不動。
4 如果套用建立在視圖上,當套用發生變化時,可以在表上修改視圖,通過視圖禁止套用的變化,從而資料庫可以不動。
功能
安全:有的數據是需要保密的,如果直接把表給出來進行操作會造成泄密,那么可以通過創建視圖把相應視圖的許可權給出來即可保證數據的安全。
高效:複雜的連線查詢,每次執行時效率比較低,可以考慮新建視圖,每次從視圖中獲取,將會提高效率。
定製數據:將常用的欄位放置在視圖中。