T-SQL查詢—–視圖的強大用處

來源:互聯網
上載者:User
文章目錄
  • 參考文章:http://www.cnblogs.com/CareySon/archive/2011/12/07/2279522.html
視圖概述

       使用視圖是由於自己在做儲值記錄、退卡記錄時等查詢需要顯示的資訊在多個表中(為了滿足資料庫範式),但是需要把多個表中的資料拼接起來同時顯示資料,這個時候就考慮到用視圖了,視圖就是一張虛擬表(原來資料的映射),它表示一張表的部分資料或多張表的綜合資料,其結構和資料是建立在對錶的查詢基礎上。

視圖的用途

–         篩選表中的行

–         防止未經許可的使用者訪問敏感性資料

–         降低資料庫的複雜程度

–         將多個物理資料庫抽象為一個邏輯資料庫

–         提高很大程度上的查詢速度

 

為什麼要使用視圖(View)

   從而我們不難發現,使用視圖將會得到如下好處:

 

  •    視圖隱藏了底層的表結構,簡化了資料訪問操作
  •    因為隱藏了底層的表結構,所以大大加強了安全性,使用者只能看到視圖提供的資料
  •    使用視圖,方便了許可權管理,讓使用者對視圖有許可權而不是對底層表有許可權進一步加強了安全性
  •    視圖提供了一個使用者訪問的介面,當底層表改變後,改變視圖的語句來進行適應,使已經建立在這個視圖上用戶端程式不受影響 


 如何建立視圖

視圖的建立有兩種方法:

1:Sql內建的在Management studio中,自己比較喜歡這種方法,簡單、方便、安全。




2:添加所顯示的資訊關聯的表



3選擇需要自己需要的顯示的資訊欄位值



這樣最簡單的視圖就建立好了,下面來結合代碼如何調用

 ''' <summary>    ''' 查詢學生餘額及學生的相關資訊    ''' </summary>    ''' <param name="enStudent"></param>    ''' <returns></returns>    ''' <remarks></remarks>    Public Function SelectStudent(enStudent As StudentEntity, enCard As CardEntity) As DataTable Implements IStudent.SelectStudent        '調用視圖來查詢資料        Dim sql As String = "select * from V_QueryStudent where cardId='" & Trim(enCard.card_cardId) & "'"        '調用一個不帶參數的查詢過程        Return SqlHelper.DBHelper.GetDataTable(sql, CommandType.Text)    End Function


    通過DataGridView控制項的綁定輕鬆地查出所需要的資料。



2:就是通過代碼實現,詳情點下面連結拓展學習


使用視圖可以給使用者和開發人員帶來很多好處。具體為:

1.對終端使用者的好處

(1)結果更容易理解

建立視圖時,可以將列名改為有意義的名稱,使使用者更容易理解列所代表的內容。在視圖中修改列名不會影響基表的列名。

(2)獲得資料更容易

很多人對SQL不太瞭解,因此對他們來說建立對多個表的複雜查詢很困難。可以通過建立視圖來方便使用者訪問多個表中的資料。

 

2.對開發人員的好處

(1)限制資料檢索更容易

開發人員有時需要隱藏某些行或列中的資訊。通過使用視圖,使用者可以靈活地訪問他們需要的資料,同時保證同一個表或其他表中的其他資料的安全性。要實現這一目標,可以在建立視圖時將要對使用者保密的列排除在外。

(2)維護應用程式更方便

     調試視圖比調試查詢更容易。跟蹤視圖中過程的各個步驟中的錯誤更為容易,這是因為所有的步驟都是視圖的組成部分。

參考文章:http://www.cnblogs.com/CareySon/archive/2011/12/07/2279522.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.