SQL —— 視圖


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 語句更新,如果對於復雜的視圖可能就不能使用了。刪除亦是如此。所以對於視圖的用法最好只停留到查詢上面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM