視圖是從一個或多個表或視圖中匯出的表,其結構和資料是建立在對錶的查詢基礎上的。和表一樣,視圖也是包括幾個被定義的資料列和多個資料行,但就本質而言這些資料列和資料行來源於其所引用的表。所以視圖不是真實存在的基礎資料表而是一張虛表,視圖所對應的資料並不實際地以視圖結構儲存在資料庫中,而是儲存在視圖所引用的表中。
視圖一經定義便儲存在資料庫中,與其相對應的資料並沒有像表那樣又在資料庫中再儲存一份,通過視圖看到的資料只是存放在基本表中的資料。對視圖的操作與對錶的操作一樣,可以對其進行查詢、修改(有一定的限制)、刪除。
當對通過視圖看到的資料進行修改時,相應的基本表的資料也要發生變化,同時,若基本表的資料發生變化,則這種變化也可以自動地反映到視圖中。
視圖有很多優點,主要表現在:
•視點集中
•簡化操作
•定製資料
•合并分割資料
•安全性
13.9.1 視點集中
視圖集中即是使使用者只關心它感興趣的某些特定資料和他們所負責的特定任務。這樣通過只允許使用者看到視圖中所定義的資料而不是視圖參考資料表中的資料而提高了資料的安全性。
13.9.2 簡化操作
視圖大大簡化了使用者對資料的操作。因為在定義視圖時,若視圖本身就是一個複雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些複雜的查詢語句,只要一條簡單的查詢檢視語句即可。可見視圖向使用者隱藏了表與表之間的複雜的串連操作。
13.9.3 定製資料
視圖能夠實現讓不同的使用者以不同的方式看到不同或相同的資料集。因此,當有許多不同水平的使用者共用同一資料庫時,這顯得極為重要。
13.9.4 合并分割資料
在有些情況下,由於表中資料量太大,故在表的設計時常將表進行水平分割或垂直分割,但表的結構的變化卻對應用程式產生不良的影響。如果使用視圖就可以重新保持原有的結構關係,從而使外模式保持不變,原有的應用程式仍可以通過視圖來重載資料。
13.9.5 安全性
視圖可以作為一種安全機制。通過視圖使用者只能查看和修改他們所能看到的資料。其它資料庫或表既不可見也不可以訪問。如果某一使用者想要訪問視圖的結果集,必須授予其存取權限。視圖所參考資料表的存取權限與視圖許可權的設定互不影響。
查看全套"MS SQL入門基礎教程"