數據庫優化之建立視圖

     視圖是保存在數據庫中的SELECT查詢,可在視圖上執行SELECT語句的大多數命令。建立視圖的緣由有兩個:一是出於安全考慮,用戶沒必要看到整個數據庫結構,而隱藏部分數據;二是符合用戶平常業務邏輯,使其對數據更容易理解數據庫


什麼是視圖?
安全

    視圖是另外一種查看數據庫中一個或多個表中數據的方法。視圖是一個虛擬表,一般由一個或多個表的行和列的子集建立的,它並非數據庫存儲的數據值的集合,它的行和列都來自查詢引用的表。在執行時,視圖直接顯示錶中的數據。網絡

    定義視圖的查詢可基於一個或多個表,也可基於其餘視圖、當前數據庫和其餘數據庫ide

楊書凡31.png

視圖的做用spa

* 篩選表中的行
ci

* 防止未經許可的用戶訪問敏感數據開發

* 將多個物理數據表抽象爲一個邏輯數據表it


使用視圖的好處class

1. 對於最終用戶變量

* 結果更容易理解,可將列名改成有意義的名稱

* 得到數據更容易,無需掌握多表查詢的T-SQL語句,經過視圖便可查看    

2. 對於開發人員

* 限制檢索更容易,建立視圖時,將對用戶保密的列排查在外

* 維護應用程序更方便


建立視圖

    在SQL Server中,建立視圖有兩種方法:使用SSMS和使用T-SQL語句

1. 使用SSMS建立視圖

(1)展開數據庫,右擊視圖,選擇新建視圖

楊書凡33.png 


(2)選擇須要的表,並選擇但願查看的列,填寫別名,還能夠修改下面的T-SQL語句,執行

楊書凡34.png


(3)最後選擇保存,能夠像打開普通表同樣使用它


2. 使用T-SQL語句建立視圖

建立視圖的語法以下:

create  view  視圖名  as  T-SQL語句


例如:爲網絡班的學生建立視圖,只顯示姓名、性別、班級

楊書凡37.png


使用視圖的注意事項

  1. 每一個視圖中可使用多個表

  2. 與查詢類似,一個視圖能夠嵌套另外一個視圖,但最好不要超過三層

  3. 視圖定義中的SELECT語句不能包括下列內容

* ORDER BY語句,除非在SELECT語句的選擇列表也有一個TOP子句

* INTO關鍵字

* 引用臨時表或表變量

相關文章
相關標籤/搜索