資源描述:
《IT SQL 語法大全--sql_15視圖》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、數(shù)據(jù)庫程序設(shè)計——SQLServer2000數(shù)據(jù)庫程序設(shè)計第1章SQLServer概述第2章創(chuàng)建和管理數(shù)據(jù)庫第3章創(chuàng)建數(shù)據(jù)類型和表第4章實現(xiàn)數(shù)據(jù)完整性第5章Transact-SQL介紹第6章使用Transact-SQL查詢工具第7章檢索數(shù)據(jù)第8章數(shù)據(jù)分組與匯總第9章多表聯(lián)接第10章子查詢第11章修改數(shù)據(jù)第12章全文索引查詢第13章規(guī)劃索引第14章創(chuàng)建和維護索引第15章實現(xiàn)視圖第16章實現(xiàn)存儲過程第17章實現(xiàn)用戶定義函數(shù)第18章實現(xiàn)觸發(fā)器第19章多服務(wù)器編程第20章優(yōu)化查詢性能第21章分析查詢第22章管理事務(wù)和鎖第15章實現(xiàn)視圖視圖介紹視圖的優(yōu)點定
2、義視圖通過視圖修改數(shù)據(jù)使用視圖優(yōu)化性能推薦操作視圖虛表,只有結(jié)構(gòu)沒有數(shù)據(jù),源自一個或多個基本表,集中用戶感興趣的數(shù)據(jù),提高數(shù)據(jù)的安全性……基表1基表N視圖視圖介紹15.1視圖介紹視圖提供了將預(yù)定義的查詢存儲成數(shù)據(jù)庫中的對象以備將來使用的能力在視圖中被查詢的表稱為基表可以將任何SELECT語句命名和存儲為視圖,除了一些例外視圖的常見實例一個基表的行或列的子集兩個或多個表的合并兩個或多個表的聯(lián)接一個基表的統(tǒng)計摘要另一個視圖或視圖和基表組合的子集第15章實現(xiàn)視圖視圖介紹視圖的優(yōu)點定義視圖通過視圖修改數(shù)據(jù)使用視圖優(yōu)化性能推薦操作視圖的優(yōu)點對用戶只顯示特定
3、數(shù)據(jù):不需要的、敏感的或不合適的數(shù)據(jù)不引入視圖內(nèi)只關(guān)注于重要的或適當(dāng)?shù)臄?shù)據(jù)限制對敏感數(shù)據(jù)的訪問屏蔽數(shù)據(jù)庫復(fù)雜性隱藏復(fù)雜的數(shù)據(jù)庫設(shè)計。開發(fā)者可修改設(shè)計而不影響用戶與數(shù)據(jù)庫的交互。同時,提供給用戶更友好的界面簡化復(fù)雜的查詢,包括對異構(gòu)數(shù)據(jù)的分布式查詢。用戶直接查詢視圖,而不需要寫查詢語句或執(zhí)行腳本15.2視圖的優(yōu)點視圖的優(yōu)點(續(xù))簡化用戶權(quán)限管理不必對用戶賦予查詢基表中特定列的權(quán)限,而只需要賦予用戶查詢視圖的權(quán)限即可改進性能視圖允許存儲復(fù)雜查詢的結(jié)果,讓其他查詢直接使用。視圖亦允許分區(qū)數(shù)據(jù),可將單獨的分區(qū)放置于分散的計算機內(nèi)組織數(shù)據(jù)以便導(dǎo)出到其他應(yīng)用
4、程序可基于聯(lián)接兩個或多個表的復(fù)雜查詢創(chuàng)建視圖,并將數(shù)據(jù)導(dǎo)出到其他應(yīng)用程序以進行更深入的分析15.2視圖的優(yōu)點第15章實現(xiàn)視圖視圖介紹視圖的優(yōu)點定義視圖通過視圖修改數(shù)據(jù)使用視圖優(yōu)化性能推薦操作定義視圖創(chuàng)建視圖示例聯(lián)接表的視圖更改和刪除視圖避免破壞所有權(quán)鏈查找視圖定義信息隱藏視圖定義15.3定義視圖創(chuàng)建視圖創(chuàng)建視圖可通過使用創(chuàng)建視圖向?qū)?、企業(yè)管理器或Transact-SQL語句創(chuàng)建視圖創(chuàng)建視圖時,SQLServer2000將檢查視圖定義語句中所有引用的數(shù)據(jù)庫對象是否都存在視圖的命名必須遵守標(biāo)識符的命名規(guī)則,擁有者是可選的。建議使用一個一致的命名約定來
5、區(qū)別表和視圖執(zhí)行CREATEVIEW語句的用戶必須是sysadmin、db_owner或db_ddladmin角色的成員,或具有CREATEVIEW權(quán)限。在視圖中引用的所有表和視圖上,也要擁有SELECT權(quán)限15.3.1創(chuàng)建視圖CREATEVIEWdbo.OrderSubtotalsView(OrderID,Subtotal)ASSELECTOD.OrderID,SUM(CONVERT(money,(OD.UnitPrice*Quantity*(1-Discount)/100))*100)FROM[OrderDetails]ODGROUPBYOD
6、.OrderIDGO創(chuàng)建視圖(續(xù))使用SELECT語句指定視圖的內(nèi)容必須在語句中指定列名的情況得自于算術(shù)表達式、內(nèi)建函數(shù)或常量的視圖列在聯(lián)接中使用相同名字的基表列指定列名的方法在SELECT語句中使用列別名在CREATEVIEW語句中指定15.3.1創(chuàng)建視圖創(chuàng)建視圖(續(xù))視圖定義的限制CREATEVIEW語句不能包括COMPUTE或COMPUTEBY子句,也不能包括INTO關(guān)鍵字僅當(dāng)使用TOP關(guān)鍵字的時候,CREATEVIEW語句才能包括ORDERBY子句視圖不能引用臨時表或變量視圖不能引用超過1024列在單一批處理中,CREATEVIEW語句不
7、能和其他Transact-SQL語句組合使用15.3.1創(chuàng)建視圖2.使用企業(yè)管理器創(chuàng)建視圖1)在企業(yè)管理器,打開“視圖設(shè)計器”2)單擊工具欄上的“添加表”按鈕,將表添加到視圖設(shè)計器中3)根據(jù)新建視圖的需要,從表中選擇視圖引用的列4)在網(wǎng)格窗格中的“準則”欄中設(shè)置過濾記錄的條件5)設(shè)置視圖的其他屬性6)在視圖設(shè)計器窗口中,檢查SQL語法7)最后,單擊“保存”按鈕,為視圖指定名稱步驟:2.使用企業(yè)管理器創(chuàng)建視圖創(chuàng)建過程中的圖解:2.使用企業(yè)管理器創(chuàng)建視圖創(chuàng)建過程中的圖解:“添加表”按鈕關(guān)系圖窗格網(wǎng)格窗格SQL窗格結(jié)果窗格屬性視圖設(shè)計器圖“添加表”對話
8、框圖選擇表列圖“屬性”對話框圖選擇工具菜單中的向?qū)?.使用向?qū)?chuàng)建視圖圖“選擇向?qū)А睂υ捒驁D歡迎使用創(chuàng)建視圖向?qū)υ捒驁D選擇數(shù)據(jù)庫圖