




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第6章視圖及其應用,2020/6/16,2/29,假若你作為學生管理信息系統(tǒng)的程序開發(fā)員,需要采取什么方法,來從一個或多個相關聯(lián)數(shù)據(jù)表中抽取數(shù)據(jù),定制所需要的數(shù)據(jù)信息?本章教與學的建議:教師使用2課時邊講解邊演示,學生在教師的指導下使用2課時在課內(nèi)練習和討論。本章目標是通過學習,能夠運用視圖來檢索數(shù)據(jù)表中感興趣的部分或全部數(shù)據(jù)。,第6章視圖及其應用,2020/6/16,3/29,本章學習任務視圖的概述視圖的概念、使用視圖的優(yōu)點和缺點視圖的創(chuàng)建使用對象資源管理器或Transact-SQL創(chuàng)建視圖視圖的管理維護查看和修改視圖定義、視圖的更名與刪除通過視圖查詢與更新數(shù)據(jù)通過視圖查詢數(shù)據(jù)、通過視圖修改
2、數(shù)據(jù),第6章視圖及其應用,2020/6/16,4/29,視圖的概述,視圖的概念視圖是基于某個查詢結(jié)果的一個虛擬表,只是用來查看數(shù)據(jù)的窗口而已。視圖與真正的表很類似,也是由一組命名的列和數(shù)據(jù)行所組成,其內(nèi)容由查詢所定義。但是視圖并不是以一組數(shù)據(jù)的形式存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基表中。當基表中的數(shù)據(jù)發(fā)生變化時,從視圖中查詢出來的數(shù)據(jù)也隨之改變。,2020/6/16,5/29,視圖的概述,視圖的概念除非是索引視圖,否則視圖的數(shù)據(jù)不會作為非重復對象存儲在數(shù)據(jù)庫中。數(shù)據(jù)庫中只存儲視圖的定義,即視圖是從某個或某些基本表(或視圖)導出的,視圖不
3、生成所選數(shù)據(jù)表行和列的永久拷貝。,2020/6/16,6/29,視圖的概述,使用視圖的優(yōu)點和缺點優(yōu)點:數(shù)據(jù)保密、簡化數(shù)據(jù)查詢操作、保證數(shù)據(jù)的邏輯獨立性、著重于特定數(shù)據(jù)、自定義數(shù)據(jù)、導出和導入數(shù)據(jù)、跨服務器組合分區(qū)數(shù)據(jù)。缺點:當更新視圖中的數(shù)據(jù)時,實際上是對基表的數(shù)據(jù)進行更新。當從視圖中插入或者刪除時,情況也是這樣。然而,某些視圖是不能更新數(shù)據(jù)的。,2020/6/16,7/29,視圖的創(chuàng)建,創(chuàng)建視圖前應考慮如下準則:只能在當前數(shù)據(jù)庫中創(chuàng)建視圖;視圖名稱必須遵循標識符的規(guī)則;可以在其他視圖的基礎上創(chuàng)建視圖;不能將規(guī)則或DEFAULT定義與視圖相關聯(lián);不能將AFTER觸發(fā)器與視圖相關聯(lián),只有INST
4、EADOF觸發(fā)器可以與之相關聯(lián)。,2020/6/16,8/29,視圖的創(chuàng)建,創(chuàng)建視圖前應考慮如下準則:定義視圖的查詢不能包含COMPUTE子句、COMPUTEBY子句或INTO關鍵字。定義視圖的查詢不能包含ORDERBY子句,除非在SELECT語句的選擇列表中還有一個TOP子句。不能為視圖定義全文索引。不能創(chuàng)建臨時視圖,也不能對臨時表創(chuàng)建視圖。,2020/6/16,9/29,使用Transact-SQL創(chuàng)建視圖,CREATEVIEWview_name(column_name,.n)WITHENCRYPTIONASSELECT_statementWITHCHECKOPTION其中組成視圖的列名(
5、column_name)要么全部省略要么全部指定,沒有第三種選擇。如果省略了視圖的列名,則隱含該視圖由SELECT_statement中結(jié)果集的列名組成。WITHENCRYPTION表示加密選項;AS之后的SELECT語句表示視圖的內(nèi)容就是SELECT語句指定的內(nèi)容;WITHCHECKOPTION選項強制所有通過視圖修改的數(shù)據(jù)滿足代碼中的SELECT語句中指定的選擇條件。,2020/6/16,10/29,使用Transact-SQL創(chuàng)建視圖,2020/6/16,11/29,使用Transact-SQL創(chuàng)建視圖,2020/6/16,12/29,使用Transact-SQL創(chuàng)建視圖,2020/6/
6、16,13/29,使用Transact-SQL創(chuàng)建視圖,2020/6/16,14/29,視圖的管理維護,查看和修改視圖定義使用對象資源管理器查看與修改視圖定義進入對象資源管理器展開“服務器”單擊加號(+)展開“數(shù)據(jù)庫”展開用戶數(shù)據(jù)庫(student)展示“視圖”右擊欲修改定義的視圖名在出現(xiàn)的快捷菜單中選擇“修改”就可以在“視圖設計器”中按照創(chuàng)建視圖的方法對原有的視圖進行各種修改,例如在表區(qū)重新選擇或取消數(shù)據(jù)表框中相應的列,在列區(qū)重新選擇或取消“輸出”列,在SQLScript區(qū)對視圖定義的SQL語句進行修改,,2020/6/16,15/29,視圖的管理維護,查看和修改視圖定義使用Transact
7、-SQL語句修改視圖定義ALTERVIEWview_name(column_name,.n)WITHENCRYPTIONASSELECT_statementWITHCHECKOPTION,2020/6/16,16/29,視圖的管理維護,2020/6/16,17/29,視圖的管理維護,查看和修改視圖定義通過系統(tǒng)存儲過程查看視圖的定義信息sp_dependsobjname=objectobjname=object為被檢查的數(shù)據(jù)庫對象。sp_helpobjname=nameobjname=name是sysobjects中的任意對象的名稱,或者是在systypes表中任何用戶定義數(shù)據(jù)類型的名稱。sp_
8、helptextobjname=nameobjname=name為對象的名稱,將顯示對象(視圖或觸發(fā)器或存儲過程)的定義信息。,2020/6/16,18/29,視圖的管理維護,視圖的更名與刪除使用sp_rename對視圖進行重命名sp_renameobjname=object_name,newname=new_name,objtype=object_typeobjname=object_name,表示現(xiàn)有用戶對象或數(shù)據(jù)類型的名稱;newname=new_name,表示對指定對象進行重命名的新名稱;objtype=object_type,表示將要被重命名的對象的類型,默認類型為NULL。,202
9、0/6/16,19/29,視圖的管理維護,視圖的更名與刪除通過對象資源管理器刪除視圖使用Transact-SQL語句刪除視圖DROPVIEWview_name,2020/6/16,20/29,通過視圖查詢與更新數(shù)據(jù),通過視圖查詢數(shù)據(jù)進入對象資源管理器展開“服務器”單擊加號(+)展開“數(shù)據(jù)庫”展開用戶數(shù)據(jù)庫(student)展示“視圖”右擊欲查詢數(shù)據(jù)的視圖名在出現(xiàn)的快捷菜單中選擇“打開視圖”就可以在“查詢設計器”中瀏覽到從數(shù)據(jù)表中所抽取的視圖數(shù)據(jù)。視圖定義后,對視圖的查詢操作如同對基本表的查詢操作一樣。,2020/6/16,21/29,通過視圖查詢與更新數(shù)據(jù),2020/6/16,22/29,通過
10、視圖查詢與更新數(shù)據(jù),2020/6/16,23/29,通過視圖查詢與更新數(shù)據(jù),通過視圖修改數(shù)據(jù)更新視圖是指通過視圖插入(INSERT)、刪除(DELETE)和修改(UPDATE)數(shù)據(jù)。像查詢視圖那樣,對視圖的更新操作也是通過視圖轉(zhuǎn)換為對表的更新操作。如果要防止用戶通過視圖對數(shù)據(jù)庫進行增刪改,有意無意地對不屬于視圖范圍內(nèi)的基本表數(shù)據(jù)進行操作,則在視圖定義時加上WITHCHECKOPTION子句。這樣,對視圖增刪改時,系統(tǒng)會檢查視圖定義中子查詢的WHERE子句中的條件,若操作的記錄不滿足條件,則拒絕執(zhí)行相應操作。,2020/6/16,24/29,通過視圖查詢與更新數(shù)據(jù),通過視圖修改數(shù)據(jù)可以通過視圖修
11、改基表的數(shù)據(jù),修改方式與通過UPDATE、INSERT和DELETE語句修改基表中數(shù)據(jù)的方式一樣。但是,對視圖進行UPDATE、INSERT和DELETE操作時,會有以下一些限制。任何修改(包括UPDATE、INSERT和DELETE語句)都只能引用一個基表的列。視圖中被修改的列必須直接引用表列中的基礎數(shù)據(jù)。正在修改的列不受GROUPBY、HAVING或DISTINCT子句的影響。,2020/6/16,25/29,通過視圖查詢與更新數(shù)據(jù),2020/6/16,26/29,通過視圖查詢與更新數(shù)據(jù),2020/6/16,27/29,通過視圖查詢與更新數(shù)據(jù),2020/6/16,28/29,實驗目的理解視圖的概念。學會利用對象資源管理器和SQL編輯器創(chuàng)建視圖的方法。學會查詢、更新、刪除視圖的方法。實驗準備在服務器上創(chuàng)建用戶數(shù)據(jù)庫student;在數(shù)據(jù)庫student中創(chuàng)建所需要的數(shù)據(jù)表;通過對象資源管理器或SQL編輯器向各個數(shù)據(jù)表輸入實驗數(shù)據(jù)。實驗內(nèi)容和步驟具體實驗內(nèi)容和步驟參見教材的介紹。,本章實驗,2020/6/16,29/29,本章所討論的視圖基本概念、類型和特點,是學習視圖技術的基礎;本章所實踐的視圖創(chuàng)建、修改和刪除操作,是學習視圖技術的目標;本章所介紹的加密、綁定、強制檢查數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軍品訂購項目管理辦法
- 北京車位產(chǎn)權(quán)管理辦法
- 資本驅(qū)動下人工智能產(chǎn)業(yè)化的倫理挑戰(zhàn)與應對策略
- 睡眠剝奪對小鼠色氨酸代謝及行為影響機制研究
- 體檢機構(gòu)備案管理辦法
- 佛山酒店宿舍管理辦法
- 西部地區(qū)經(jīng)濟韌性對經(jīng)濟高質(zhì)量發(fā)展的影響研究
- 基于機器視覺的鋼板表面缺陷自動檢測系統(tǒng)設計與實現(xiàn)
- 未發(fā)生較大及以上生產(chǎn)安全事故
- 智慧醫(yī)院建設管理辦法
- 井蓋巡查管理制度
- GB/T 33490-2025展覽展示工程服務基本要求
- 2024年國能榆林化工有限公司招聘真題
- 消防總隊面試題目及答案
- 《低鈉血癥中國專家共識(2023年版)》解讀課件
- 公司法期末考試卷及答案
- GB/T 45604-2025船舶與海洋技術大抓力平衡錨
- 國家中小學智慧教育平臺與人工智能融合應用指南(試行)
- 混凝土攪拌站企業(yè)管理規(guī)范與要求
- 物業(yè)公司接管寫字樓項目工作時間倒推計劃表(T日為入駐日)
- 重點人口管理工作規(guī)定
評論
0/150
提交評論