視圖是保存在數據庫中的SELECT查詢,可在視圖上執行SELECT語句的大多數命令。建立視圖的緣由有兩個:一是出於安全考慮,用戶沒必要看到整個數據庫結構,而隱藏部分數據;二是符合用戶平常業務邏輯,使其對數據更容易理解數據庫
什麼是視圖?
安全
視圖是另外一種查看數據庫中一個或多個表中數據的方法。視圖是一個虛擬表,一般由一個或多個表的行和列的子集建立的,它並非數據庫存儲的數據值的集合,它的行和列都來自查詢引用的表。在執行時,視圖直接顯示錶中的數據。網絡
定義視圖的查詢可基於一個或多個表,也可基於其餘視圖、當前數據庫和其餘數據庫ide
視圖的做用spa
* 篩選表中的行
ci
* 防止未經許可的用戶訪問敏感數據開發
* 將多個物理數據表抽象爲一個邏輯數據表it
使用視圖的好處class
1. 對於最終用戶變量
* 結果更容易理解,可將列名改成有意義的名稱
* 得到數據更容易,無需掌握多表查詢的T-SQL語句,經過視圖便可查看
2. 對於開發人員
* 限制檢索更容易,建立視圖時,將對用戶保密的列排查在外
* 維護應用程序更方便
建立視圖
在SQL Server中,建立視圖有兩種方法:使用SSMS和使用T-SQL語句
1. 使用SSMS建立視圖
(1)展開數據庫,右擊視圖,選擇新建視圖
(2)選擇須要的表,並選擇但願查看的列,填寫別名,還能夠修改下面的T-SQL語句,執行
(3)最後選擇保存,能夠像打開普通表同樣使用它
2. 使用T-SQL語句建立視圖
建立視圖的語法以下:
create view 視圖名 as T-SQL語句
例如:爲網絡班的學生建立視圖,只顯示姓名、性別、班級
使用視圖的注意事項
每一個視圖中可使用多個表
與查詢類似,一個視圖能夠嵌套另外一個視圖,但最好不要超過三層
視圖定義中的SELECT語句不能包括下列內容
* ORDER BY語句,除非在SELECT語句的選擇列表也有一個TOP子句
* INTO關鍵字
* 引用臨時表或表變量