SQL Server建立視圖

來源:互聯網
上載者:User
 

什麼是視圖

     大家都知道,我們國家現在“神七”上天了。從美國的月球登月開始,人類上天不再是神話。聽說,在美國,你只要出幾十萬美元,您就可以上一次月球進行太空旅行,所以,我們相信:在不久的將來,上天旅行將走進我們百姓的生活,那是一件多麼新鮮神奇的事情啊。好多美國人上天后,他們用望遠鏡觀看我們的地球,結果看到的地球形狀各不相同。有的說象綠色的橘子,有的說象白色的大鴨梨,有的說象藍色的大西瓜。這是為什麼呢?你肯定會說:那是因為從不同的角度(視角),看到的不同形狀而已。那麼,從不同的視角,將看到不同的“圖形”,這就是我們馬上講到的視圖。我們的學員資訊也是如此:對於學員的資訊和成績,老師比較關心學員成績以及是否參加考試,包括姓名、學號、筆試、機試、是否通過等。班主任則比較關心學生檔案,包括姓名、學號、性別和年齡。

其實,視圖就是一張虛擬表,它表示一張表的部分資料或多張表的綜合資料,其結構和資料是建立在對錶的查詢基礎上

•          視圖中並不存放資料,而是存放在視圖所引用的原始表(基表)中

•          同一張原始表,根據不同使用者的不同需求,可以建立不同的視圖

 

視圖的用途

–         篩選表中的行

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

–         降低資料庫的複雜程度

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

 

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

1.對終端使用者的好處

(1)結果更容易理解

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

(2)獲得資料更容易

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

 

2.對開發人員的好處

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

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

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

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

 

如何建立視圖

•          使用T-SQL語句建立視圖的文法

CREATE VIEW view_name 

   AS

    <select語句>

IF EXISTS (SELECT * FROM sysobjects WHERE /*檢測是否存在*/

                         name = 'view_stuInfo_stuMarks')

     DROP VIEW view_stuInfo_stuMarks /*刪除視圖*/

GO

CREATE VIEW view_stuInfo_stuMarks /*建立視圖*/

  AS

    SELECT 姓名=stuName,學號=stuInfo.stuNo,

      筆試成績 =writtenExam,  機試成績=labExam,

            平均分=(writtenExam+labExam)/2

               FROM stuInfo LEFT JOIN stuMarks

                     ON stuInfo.stuNo=stuMarks.stuNo

GO

SELECT * FROM view_stuInfo_stuMarks /*使用視圖*/

 

從一個或者多個表或視圖中匯出的虛擬表,其結構和資料是建立在對錶的查詢基礎上的。

理論上它可以像普通的物理表一樣使用,例如增、刪、改、查等,修改視圖中的資料實際上是修改

未經處理資料表。因為修改視圖有許多限制,所以在實際開發中一般視圖僅做查詢使用。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.