




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章視圖的創(chuàng)建與使用第6章視圖的創(chuàng)建與使用6.1視圖簡(jiǎn)介6.1.1視圖的概念視圖是一種數(shù)據(jù)庫(kù)對(duì)象,它為用戶(hù)提供了一種對(duì)源數(shù)據(jù)可定制查詢(xún)、且可修改的工具
通常視圖又稱(chēng)虛擬表(VirtualTable),能象表一樣操作,即可對(duì)視圖進(jìn)行查詢(xún)、插入、更新與刪除
注意:視圖、表、查詢(xún)的相同與不同6.1視圖簡(jiǎn)介6.1.1視圖的概念注意:視圖、表、查外研版四年級(jí)英語(yǔ)Module10Unit1We-have-a-big-family-dinner外研版四年級(jí)英語(yǔ)Module10Unit1We-have-a-big-family-dinner6.2創(chuàng)建視圖創(chuàng)建視圖的常用工具使用企業(yè)管理器創(chuàng)建使用Transact-SQL語(yǔ)句創(chuàng)建6.2創(chuàng)建視圖創(chuàng)建視圖的常用工具6.2.1使用企業(yè)管理器創(chuàng)建(1)進(jìn)入新建視圖對(duì)話(huà)框
右擊創(chuàng)建視圖的數(shù)據(jù)庫(kù)6.2.1使用企業(yè)管理器創(chuàng)建右擊創(chuàng)建視圖的數(shù)據(jù)庫(kù)(2)為視圖選擇數(shù)據(jù)源
選擇表,并添加到右擊鼠標(biāo)數(shù)據(jù)源可以是表、其他視圖或函數(shù)(2)為視圖選擇數(shù)據(jù)源選擇表,并添加到右擊鼠標(biāo)數(shù)據(jù)源可以是此處選擇三個(gè)表作為數(shù)據(jù)源此處選擇三個(gè)(3)選擇視圖的輸出字段(表達(dá)式)
通過(guò)單擊字段左邊復(fù)選框選擇字段
所選字段視圖的查詢(xún)語(yǔ)句(3)選擇視圖的輸出字段(表達(dá)式)通過(guò)單擊字段左邊所選視圖在該圖中的其他復(fù)選框的含義如下:“輸出”復(fù)選框表示在輸出結(jié)果中是否顯示該字段內(nèi)容;“準(zhǔn)則”復(fù)選框中可以輸入該字段的限制條件,用來(lái)限制記錄的輸出“排序類(lèi)型”復(fù)選框表示新建視圖的運(yùn)行結(jié)果按照該字段的升序或降序排列?!盎颉睆?fù)選框表示可以為該字段輸入多個(gè)邏輯關(guān)系為“或”的限制條件若為該字段輸入邏輯關(guān)系為“與”的限制條件可在下邊的Transact-SQL語(yǔ)句中用“AND”輸入。注:由以上復(fù)選框的設(shè)置可自動(dòng)生成視圖的查詢(xún)語(yǔ)句也可在上圖中由用戶(hù)修改或重新輸入在該圖中的其他復(fù)選框的含義如下:注:由以上復(fù)選框的設(shè)置可自動(dòng)視圖屬性對(duì)話(huà)框中的有關(guān)選項(xiàng)的含義如下:“DISTINCT值”表示在視圖的運(yùn)行結(jié)果中是否顯示重復(fù)記錄?!凹用転g覽”實(shí)現(xiàn)對(duì)視圖定義加密,一旦對(duì)視圖進(jìn)行加密以后將不能對(duì)視圖的定義進(jìn)行查看或修改。“頂端”復(fù)選框可以限制視圖的最多輸出記錄條數(shù)。視圖屬性對(duì)話(huà)框中的有關(guān)選項(xiàng)的含義如下:(4)在視圖設(shè)計(jì)窗口中單擊工具欄中的按鈕運(yùn)行視圖(5)點(diǎn)擊“保存”按扭保存完成視圖的創(chuàng)建(4)在視圖設(shè)計(jì)窗口中單擊工具欄中的按鈕運(yùn)行視圖定制視圖屬性視圖屬性對(duì)話(huà)框定制視圖屬性視圖屬性對(duì)話(huà)框6.2.2使用Transact-SQL語(yǔ)句創(chuàng)建其語(yǔ)法格式如下:CREATEVIEW[<database_name>.][<owner>.]view_name[(column[,...n])]
[WITH<view_attribute>[,...n]]
AS
select_statement
[WITHCHECKOPTION]<view_attribute>::={ENCRYPTION|SCHEMABINDING|VIEW_METADATA}6.2.2使用Transact-SQL語(yǔ)句創(chuàng)建database_name:指定了被創(chuàng)建的視圖對(duì)象所在數(shù)據(jù)庫(kù)名稱(chēng)
Owner:用于指定視圖的所有者的名稱(chēng)
view_name:用于指定新建視圖的名稱(chēng)
Column:用于指定視圖中的字段的名稱(chēng)
ENCRYPTION:表示將新建的視圖加密SCHEMABINDING:表示在select_statement語(yǔ)句中如果包含表、視圖或者引用戶(hù)自定義函數(shù),則表名、視圖名或者函數(shù)名前必須包含所有者前綴
VIEW_METADATA:表示如果某一查詢(xún)中引用該視圖且要求返回瀏覽模式的元數(shù)據(jù)時(shí),那么SQLServer將向DBLIB和OLEDBAPLS返回視圖的元數(shù)據(jù)信息
select_statement:用于創(chuàng)建視圖的SELECT語(yǔ)句
WITHCHECKOPTION:用于強(qiáng)制視圖上執(zhí)行的所有數(shù)據(jù)修改語(yǔ)句都必須符合由select_statement設(shè)置的準(zhǔn)則
必須是數(shù)據(jù)庫(kù)中現(xiàn)有用戶(hù)名
database_name:指定了被創(chuàng)建的視圖對(duì)象所在數(shù)據(jù)庫(kù)例6_1:利用Salers表查詢(xún)銷(xiāo)售員的編號(hào)、姓名、性別、地址。UsesalesGOCREATEVIEWdbo.V_Salers(編號(hào),姓名,性別,地址)ASSELECTSaleID,Salename,Sex,AddressFROMSalers例6_1:利用Salers表查詢(xún)銷(xiāo)售員的編號(hào)、姓名、性別、地例6-2:在sales數(shù)據(jù)庫(kù)中創(chuàng)建如下視圖:利用Custmoers、Orders、OrderDetails三個(gè)表來(lái)查詢(xún)定單數(shù)量在50和100之間的客戶(hù)編號(hào)、公司名稱(chēng)、產(chǎn)品編號(hào)、定單編號(hào)。UsesalesGOCREATEVIEWdbo.V_customersASSELECTdbo.Customers.CustomerID,dbo.Customers.CompanyName,dbo.OrderDetails.ProductID,dbo.Orders.OrderIDASExpr1,dbo.Orders.OrderDate,dbo.OrderDetails.QuantityFROMdbo.CustomersINNERJOINdbo.OrdersONdbo.Customers.CustomerID=dbo.Orders.CustomerID
INNERJOINdbo.OrderDetailsONdbo.Orders.OrderID=dbo.OrderDetails.OrderIDWHERE(dbo.OrderDetails.Quantity>50)AND(dbo.OrderDetails.Quantity<100)例6-2:在sales數(shù)據(jù)庫(kù)中創(chuàng)建如下視圖:利用Custmo
例6_3:在sales數(shù)據(jù)庫(kù)中創(chuàng)建如下視圖:利用OrderDetails表和Products表查詢(xún)每種產(chǎn)品銷(xiāo)售的總價(jià)值。USESALESGOCREATEVIEWdbo.V_Sale_Total
(定單編號(hào),產(chǎn)品名稱(chēng),銷(xiāo)售總價(jià)值)WITHENCRYPTIONAS SELECTdbo.OrderDetails.OrderID,dbo.Products.ProductName,dbo.Products.Price,dbo.OrderDetails.QuantityFROMdbo.OrderDetailsINNERJOINdbo.ProductsONdbo.OrderDetails.ProductID=dbo.Products.ProductID例6_3:在sales數(shù)據(jù)庫(kù)中創(chuàng)建如下視圖:利用Order在查詢(xún)分析器中輸入以下SQL語(yǔ)句會(huì)執(zhí)行視圖:SELECT*FROMV_Sale_Total會(huì)生成如下的查詢(xún)結(jié)果:在查詢(xún)分析器中輸入以下SQL語(yǔ)句會(huì)執(zhí)行視圖:6.3管理視圖查看視圖信息
修改視圖
重命名視圖
刪除視圖
注:視圖的管理工具是企業(yè)管理器和命令語(yǔ)句6.3管理視圖查看視圖信息注:視圖6.3.1查看視圖信息
利用企業(yè)管理器查看視圖信息
右擊視圖展開(kāi)數(shù)據(jù)庫(kù)點(diǎn)擊屬性視圖的查詢(xún)語(yǔ)句視圖的權(quán)限6.3.1查看視圖信息利用企業(yè)管理器查看視圖信息右展利用系統(tǒng)存儲(chǔ)過(guò)程查看視圖信息sp_help顯示數(shù)據(jù)庫(kù)對(duì)象的特征sp_helptext查看數(shù)據(jù)庫(kù)對(duì)象在系統(tǒng)表中的定義sp_depends顯示有關(guān)數(shù)據(jù)庫(kù)對(duì)象相關(guān)性的信息
利用系統(tǒng)存儲(chǔ)過(guò)程查看視圖信息USEsalesGOsp_helpV_Quantity使用sp_help顯示視圖的特征語(yǔ)法如下:sp_help[[@objname=]name]被顯示對(duì)象名稱(chēng)例6-4:使用該存儲(chǔ)過(guò)程顯示視圖V_Quantity的特征信息。使用sp_help顯示視圖的特征語(yǔ)法如下:被顯示對(duì)象例6_5:使用該存儲(chǔ)過(guò)程顯示視圖V_Quantity的在系統(tǒng)表中的定義,則在查詢(xún)分析器中輸入如下命令行。UsesalesGosp_helptextV_Quantity使用sp_helptext顯示視圖在系統(tǒng)表中的定義語(yǔ)法如下:sp_helptext[@objname=]'name'
視圖的定義視圖加密后不能顯示視圖的定義使用sp_helptext顯示視圖在系統(tǒng)表中的定義語(yǔ)法如例6_6:使用該存儲(chǔ)過(guò)程顯示視圖V_Quantity的表依賴(lài)關(guān)系和引用的字段情況,則在查詢(xún)分析器中輸入如下命令行。sp_depends顯示視圖對(duì)表的依賴(lài)關(guān)系和引用的字段語(yǔ)法如下:sp_depends[@objname=]'object'UsesalesGoSp_dependsV_Quantitysp_depends顯示視圖對(duì)表的依賴(lài)關(guān)系和引用的字段語(yǔ)6.3.2修改視圖
利用企業(yè)管理器對(duì)視圖進(jìn)行修改
展開(kāi)數(shù)據(jù)庫(kù)右擊視圖選擇設(shè)計(jì)視圖6.3.2修改視圖利用企業(yè)管理器對(duì)視圖進(jìn)行修改展開(kāi)
利用ALTER命令對(duì)視圖進(jìn)行修改
其語(yǔ)法形式如下:ALTERVIEWview_name[(column[,…n])][wirhencryption]ASselect_statement[withcheckoption]其中:參數(shù)的含義與創(chuàng)建視圖CREATEVIEW命令中的參數(shù)含義相同
利用ALTER命令對(duì)視圖進(jìn)行修改其中:參數(shù)的含義與創(chuàng)建視通常利用該命令取消視圖的加密屬性UsesalesGOAlterviewV_Sale_Total(定單編號(hào),產(chǎn)品名稱(chēng),銷(xiāo)售總價(jià)值)ASSELECTOrderID,ProductName,Price*QuantityFROMdbo.OrderDetailsINNERJOINdbo.ProductsONdbo.OrderDetails.ProductID=dbo.Products.ProductID
例6_7:利用ALTER命令去除視圖V_Sale_Total的加密屬性。注:去掉加密屬性后才可以查看視圖的信息通常利用該命令取消視圖的加密屬性Usesales例6_76.3.3重命名視圖
利用企業(yè)管理器對(duì)圖對(duì)象重命名
在企業(yè)管理器中雙擊該視圖名利用存儲(chǔ)過(guò)程sp_rename對(duì)視圖重命名
語(yǔ)法形式:sp_renameold_name,new_name
例6_8:使用存儲(chǔ)過(guò)程為視圖V_customers重命名為V_customers1
sp_renameV_customers,V_customers1
6.3.3重命名視圖6.3.4刪除視圖
利用企業(yè)管理器刪除視圖
右擊視圖刪除注意:若有其他數(shù)據(jù)庫(kù)對(duì)象依賴(lài)于將要?jiǎng)h除的視圖,則應(yīng)考慮是否還要繼續(xù)刪除此視圖
6.3.4刪除視圖右擊視圖刪除注意:若有其他數(shù)據(jù)庫(kù)對(duì)象依利用DROPVIEW命令刪除視圖
語(yǔ)法形式如下:DROPVIEW{view}[,...n]例6-9:刪除視圖V_Customers。在查詢(xún)分析器中輸入以下命令:DropviewV_Customers可以同時(shí)刪除多個(gè)視圖利用DROPVIEW命令刪除視圖語(yǔ)法形式如下:DROP6.4通過(guò)視圖修改數(shù)據(jù)使用視圖修改數(shù)據(jù)源時(shí)需要注意以下幾點(diǎn)
對(duì)視圖中的數(shù)據(jù)進(jìn)行修改時(shí),不能同時(shí)修改兩個(gè)或多個(gè)基表中的數(shù)據(jù)。
在利用視圖修改數(shù)據(jù)時(shí)不能修改那些通過(guò)表達(dá)式計(jì)算得到的字段值
若用戶(hù)在創(chuàng)建視圖時(shí),指定了WITHCHECKOPTION選項(xiàng),那么所有對(duì)視圖數(shù)據(jù)的,必須保證修改后的新數(shù)據(jù)滿(mǎn)足視圖定義的范圍,否則在視圖中不可見(jiàn)。
用戶(hù)如果想通過(guò)視圖執(zhí)行更新和刪除命令時(shí),則要操作的數(shù)據(jù)必須包含在視圖的結(jié)果集中,否則不能完成該操作。用DELETE命令只能刪除基于單個(gè)數(shù)據(jù)源創(chuàng)建的視圖中的數(shù)據(jù),同樣利用UPDATE與INSERT命令也將會(huì)受到該限制。6.4通過(guò)視圖修改數(shù)據(jù)使用視圖修改數(shù)據(jù)源時(shí)需要注意以下幾6.4.1利用視圖插入記錄
利用企業(yè)管理器插入新記錄
“選中視圖-------右擊--------打開(kāi)視圖--------返回所有行”
在視圖的運(yùn)行結(jié)果中直接填加新記錄6.4.1利用視圖插入記錄在視圖的運(yùn)行結(jié)果中直接填加新利用INSERT…INTO命令插入新記錄例6-10:首先創(chuàng)建一個(gè)新視圖文件V_stocks,基于表Products,要求包含庫(kù)存stocks值在300以上的記錄,在插入新記錄。UsesalesGoCreateviewV_stocksAsSelectProductID,ProductName,CategoryID,Price,stocksFromproductsWherestocks>300InsertintoV_stocksValues(‘P03007’,‘冰糖’,3,6.0000,200)Select*fromV_stocks例6-10利用INSERT…INTO命令插入新記錄例6-10:首先創(chuàng)建在插入新記錄時(shí)須注意以下內(nèi)容:若在視圖的定義中為視圖限制了查詢(xún)條件或者基表的列允許空值或有默認(rèn)值時(shí),而新加入的記錄又不符合該限制,此時(shí),仍然可以向基表中插入記錄,但再次運(yùn)行視圖時(shí),將不能顯示新插入的記錄。若在視圖的定義中使用了WITHCHECKOPTION選項(xiàng),則當(dāng)向視圖中插入不符和視圖查詢(xún)限制的記錄時(shí),系統(tǒng)將不能將該記錄插入到視圖和基表中。若當(dāng)基表對(duì)記錄進(jìn)行了某些限制,如,在基表中進(jìn)行主鍵限制或觸發(fā)器限制,如果新插入的記錄不符和該限制時(shí),系統(tǒng)也不能將該記錄插入到視圖和基表中。在插入新記錄時(shí)須注意以下內(nèi)容:6.4.2利用視圖更新記錄用企業(yè)管理器更新記錄
要更新的記錄必須符合視圖的查詢(xún)要求才能完成修改操作,否則在視圖的運(yùn)行對(duì)話(huà)框中不顯示該記錄,也就無(wú)法完成該操作。
具體步驟同插入記錄
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)宏觀經(jīng)濟(jì)學(xué)應(yīng)用問(wèn)題訓(xùn)練
- 法律事務(wù)民商事法律制度試題及答案
- 移動(dòng)支付平臺(tái)與銀行合作方案預(yù)案
- 市場(chǎng)營(yíng)銷(xiāo)戰(zhàn)略合作協(xié)議計(jì)劃書(shū)
- 物流公司冷鏈物流運(yùn)輸與溫控管理解決方案
- 鋼梁植入施工方案
- 酒店食品安全自查
- 媽媽?zhuān)ń虒W(xué)設(shè)計(jì))-2024-2025學(xué)年人音版(2012)音樂(lè)三年級(jí)上冊(cè)
- 2025年游泳教練資格認(rèn)證考試知識(shí)應(yīng)用測(cè)試試卷
- 2025年ACCA國(guó)際注冊(cè)會(huì)計(jì)師考試真題卷:審計(jì)實(shí)務(wù)與準(zhǔn)則歷年真題解析與實(shí)戰(zhàn)技巧匯編
- 第9課《木蘭詩(shī)》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 中央2025年中國(guó)日?qǐng)?bào)社及所屬事業(yè)單位招聘5人筆試歷年參考題庫(kù)附帶答案詳解
- 中小學(xué)國(guó)家教育智慧平臺(tái)
- 2024年成都市新都區(qū)教育局所屬事業(yè)單位招聘中小學(xué)教師筆試真題
- 2025-2030中國(guó)露酒行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 生產(chǎn)車(chē)間5S管理制度
- 2025交管12123學(xué)法減分考試題庫(kù)和答案
- T-JDFA 02-2024 江蘇省轉(zhuǎn)型融資主體認(rèn)定評(píng)價(jià)標(biāo)準(zhǔn)
- 2025年吉林鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)一套
- 2025年開(kāi)封大學(xué)單招職業(yè)傾向性測(cè)試題庫(kù)匯編
- 2023學(xué)年杭州市余杭區(qū)七年級(jí)語(yǔ)文下學(xué)期期中考試卷附答案解析
評(píng)論
0/150
提交評(píng)論