1. 為什么使用視圖
1) 提高數據的安全型,不同權限的用戶可以查看數據的不同。
2) 符合用戶日常業務邏輯
2. 什么是視圖
視圖是一種查看數據庫中一個或多個表中的數據的方法。
視圖是一種虛擬表。 通常是作為來自一個或多個表中的行或列的子集創建的,當然他也可以包含全部的行和列。
視圖並不是數據庫中存儲的數據值的集合,它的行和列來自查詢中引用的表。在執行時,他直接顯示來自表中的數據。
3. 視圖的作用
篩選表中的行
防止未經許可的用戶訪問敏感數據
將多個物理數據表抽象為一個邏輯數據表
4. 如何創建視圖
方法一: 使用SSMS,選中數據庫, 選擇“視圖”選項並右擊,在彈出的快捷菜單中選擇“新建視圖項”, 添加葯學查詢的表, 選擇希望查看到的列,保存視圖。
方法二: 使用語句創建,語法:
create view view_name
as
<select 語句>
5. 視圖語法整理:
1) 創建視圖
create view view_name
as
<select 語句>
2) 修改視圖
alter view view_name
as
<select 語句>
3)刪除視圖
drop view view_name
4)修改視圖名稱
exec sp_rename view_oldname view_newname
5) 查看視圖
select 列名 from view_name
6. 注意事項
每個視圖中可以使用多個表
與查詢相似,一個視圖可以嵌套另一個視圖,但最好不要超過3層。
視圖定義中 select 語句不能包括一下內容
order by 字句,除非在select 語句的選擇列中也有一個top字句
into 關鍵字
引用臨時表或表變量
7. 視圖的優缺點
優點: 簡單、 安全、邏輯數據獨立
缺點: 性能,修改限制
如果視圖中存在函數或涉及復雜的多表查詢,那么用戶在查詢視圖的過程中會花費一定的時間。
對於簡單的視圖可以使用update 語句更新,如果對於復雜的視圖可能就不能使用了。刪除亦是如此。所以對於視圖的用法最好只停留到查詢上面。