




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 在對數(shù)據庫的管理操作中,能夠最大程度的減少在對數(shù)據庫的管理操作中,能夠最大程度的減少客戶端的操作是數(shù)據庫管理員應該追求的。例如在面客戶端的操作是數(shù)據庫管理員應該追求的。例如在面對對“學生管理數(shù)據庫學生管理數(shù)據庫”時,對于班級的輔導員老師來時,對于班級的輔導員老師來說,他們只需知道自己所負責的班級學生的成績情況說,他們只需知道自己所負責的班級學生的成績情況即可,而無需知道整個數(shù)據庫中的學生成績。數(shù)據庫即可,而無需知道整個數(shù)據庫中的學生成績。數(shù)據庫管理者可以根據不同用戶的需要,從管理者可以根據不同用戶的需要,從“學生管理數(shù)據學生管理數(shù)據庫庫”中抽象出滿足不同需要的數(shù)據投影,供輔導員查中抽象出滿足
2、不同需要的數(shù)據投影,供輔導員查詢。這種從原始數(shù)據庫中抽象出滿足條件的數(shù)據而生詢。這種從原始數(shù)據庫中抽象出滿足條件的數(shù)據而生成的虛擬表模型可以稱之為視圖。成的虛擬表模型可以稱之為視圖。SQL Server實用案例教程實用案例教程(2008版版)7.3 視圖概述 視圖是基于數(shù)據庫中原始數(shù)據表(基本表)而生視圖是基于數(shù)據庫中原始數(shù)據表(基本表)而生成的虛擬表。其內容由查詢定義,同真實的表一樣,成的虛擬表。其內容由查詢定義,同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據。視圖中的數(shù)視圖包含一系列帶有名稱的列和行數(shù)據。視圖中的數(shù)據可以來源于一張或者多張基本表,也可以來源于基據可以來源于一張或者多張基
3、本表,也可以來源于基本表和視圖的查詢組合。由于視圖中的數(shù)據不是真實本表和視圖的查詢組合。由于視圖中的數(shù)據不是真實存在而是源自基本表,因此基本表中的數(shù)據發(fā)生變化存在而是源自基本表,因此基本表中的數(shù)據發(fā)生變化后,查看視圖時視圖中的查詢結果也會隨之發(fā)生變化。后,查看視圖時視圖中的查詢結果也會隨之發(fā)生變化。一般情況下不能通過視圖修改表中數(shù)據信息,而要通一般情況下不能通過視圖修改表中數(shù)據信息,而要通過修改基本表實現(xiàn)。簡單的說,視圖即是把過修改基本表實現(xiàn)。簡單的說,視圖即是把select語語句的查詢結果保存起來,以便日后方便使用。句的查詢結果保存起來,以便日后方便使用。SQL Server實用案例教程實用
4、案例教程(2008版版)7.3 視圖概述7.3.1 視圖的概念視圖的概念 1. 簡化操作簡化操作 視圖的使用大大簡化了客戶端的操作。若客戶的視圖的使用大大簡化了客戶端的操作。若客戶的查詢涉及到復雜的查詢語句,可以把復雜的查詢操查詢涉及到復雜的查詢語句,可以把復雜的查詢操作創(chuàng)建到視圖中,對于用戶在查詢時只需要執(zhí)行一作創(chuàng)建到視圖中,對于用戶在查詢時只需要執(zhí)行一條簡單的查詢視圖語句,而不必會寫或者重復編寫條簡單的查詢視圖語句,而不必會寫或者重復編寫復雜查詢語句。復雜查詢語句。2. 結果直觀結果直觀 所見即所得。視圖提供給用戶的即是用戶想要的所見即所得。視圖提供給用戶的即是用戶想要的查詢結果。用戶不需
5、要知道數(shù)據庫具體有多復雜,查詢結果。用戶不需要知道數(shù)據庫具體有多復雜,以及查詢操作是如何完成的。以及查詢操作是如何完成的。SQL Server實用案例教程實用案例教程(2008版版)7.3 視圖概述7.3.2 視圖的作用視圖的作用 3. 提升安全提升安全 由于用戶只能透過視圖查看到想要的結果,而不由于用戶只能透過視圖查看到想要的結果,而不需要也不能看到數(shù)據庫中的基本表,從而在一定程需要也不能看到數(shù)據庫中的基本表,從而在一定程度上提升了數(shù)據的安全性。度上提升了數(shù)據的安全性。4. 導出保存導出保存 視圖可以跟基本表一樣,通過視圖可以跟基本表一樣,通過“導出數(shù)據導出數(shù)據”操作操作將其導出成方便用戶訪
6、問的數(shù)據表形式。方便了用將其導出成方便用戶訪問的數(shù)據表形式。方便了用戶對查詢結果的操作和控制。戶對查詢結果的操作和控制。SQL Server實用案例教程實用案例教程(2008版版)7.3 視圖概述7.3.2 視圖的作用視圖的作用 合理創(chuàng)建和管理視圖才能真正滿足用戶的查詢合理創(chuàng)建和管理視圖才能真正滿足用戶的查詢需求,從而簡化用戶端的操作。本節(jié)講解視圖的創(chuàng)需求,從而簡化用戶端的操作。本節(jié)講解視圖的創(chuàng)建、查詢、修改和刪除操作。建、查詢、修改和刪除操作。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理 創(chuàng)建視圖可以使用創(chuàng)建視圖可以使用“管理器管理器”和和T-SQL語言兩語言
7、兩種方法。擁有創(chuàng)建視圖和使用視圖所涉及的表或視種方法。擁有創(chuàng)建視圖和使用視圖所涉及的表或視圖權限的用戶可以創(chuàng)建視圖。圖權限的用戶可以創(chuàng)建視圖。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 1. 使用使用“管理器管理器”創(chuàng)建視圖創(chuàng)建視圖案例案例 【例【例7.7】從】從“商品管理數(shù)據庫商品管理數(shù)據庫”中查詢出商品中查詢出商品編號為編號為“11110001”或或“33330005”,產地為,產地為“遼寧沈陽遼寧沈陽”的商品的商品編號、商品名稱、商品的商品的商品編號、商品名稱、商品類型名稱和產地信息,并按商品編號降序排序。要類型名稱和產地信息
8、,并按商品編號降序排序。要求將查詢結果創(chuàng)建到名為求將查詢結果創(chuàng)建到名為“v_商品類型表商品類型表_商品信商品信息表息表”的視圖文件中。的視圖文件中。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 解題解題u 在在“對象資源管理器對象資源管理器”中依次展開中依次展開“服務器服務器”、“數(shù)據庫數(shù)據庫”、“商品管理數(shù)據庫商品管理數(shù)據庫”節(jié)點,右鍵單擊節(jié)點,右鍵單擊“視圖視圖”節(jié)點,在彈出的菜單中選擇節(jié)點,在彈出的菜單中選擇“新建視圖新建視圖”命令,如圖命令,如圖7-13所示,彈出所示,彈出“添加表添加表”窗口,如圖窗口,如圖7-14所示。所示
9、。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-13 “新建視圖”命令圖7-14 “添加表”窗口 u 在在“添加表添加表”窗口中選擇本次視圖所涉及到的基本表。多窗口中選擇本次視圖所涉及到的基本表。多選可使用選可使用shift或或ctrl鍵配合。選擇完畢后點擊鍵配合。選擇完畢后點擊“添加添加”按鈕,按鈕,然后點擊然后點擊“關閉關閉”按鈕。按鈕。u 關閉關閉“添加表添加表”窗口后,進入窗口后,進入“視圖設計器視圖設計器”。如圖。如圖
10、7-15所示(已設計)。所示(已設計)。u “視圖設計器視圖設計器”右側窗格中從上到下第一部分顯示出在圖右側窗格中從上到下第一部分顯示出在圖7-14“添加表添加表”窗口中選擇的數(shù)據表、表中所有字段以及表窗口中選擇的數(shù)據表、表中所有字段以及表之間的關系??梢酝ㄟ^點擊工具欄上的之間的關系。可以通過點擊工具欄上的“添加表添加表 ”按鈕為視按鈕為視圖添加基本表,也可以在已添加的基本表上右鍵單擊選擇圖添加基本表,也可以在已添加的基本表上右鍵單擊選擇“刪除刪除”命令,刪除已添加的基本表。命令,刪除已添加的基本表。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視
11、圖創(chuàng)建視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-15 “視圖設計器”窗口 u “視圖設計器視圖設計器”右側窗格中從上到下第二部分用來設置篩右側窗格中從上到下第二部分用來設置篩選字段和篩選條件以及重命名字段名和排序等操作??梢酝ㄟx字段和篩選條件以及重命名字段名和排序等操作??梢酝ㄟ^點擊過點擊“列列”屬性下的單元格中的下拉箭頭選擇被顯示或用屬性下的單元格中的下拉箭頭選擇被顯示或用作篩選條件的字段名;在作篩選條件的字段名;在“排序類型排序類型”屬性中選擇按某字段屬性中選擇按某字段的排序方式;在的排序方式;在“篩選器篩選器”屬性中
12、輸入篩選條件。其中同一屬性中輸入篩選條件。其中同一字段的多個篩選條件是字段的多個篩選條件是“或或”運算邏輯,不同字段的篩選條運算邏輯,不同字段的篩選條件是件是“與與”運算邏輯。如圖運算邏輯。如圖7-15中,中,“商品編號商品編號”字段存在字段存在“或或”運算邏輯,運算邏輯,“商品編號商品編號”字段與字段與“產地產地”字段是字段是“與與”運算邏輯。同時,為運算邏輯。同時,為“商品編號商品編號”字段選擇了字段選擇了“排序類型排序類型”為降序。為降序。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 u “視圖設計器視圖設計器”右側窗格中從上到
13、下第三部分是系統(tǒng)根據右側窗格中從上到下第三部分是系統(tǒng)根據前兩部分的選擇自動生成的程序代碼。前兩部分的選擇自動生成的程序代碼。u 以上設置完畢后,點擊工具欄上的以上設置完畢后,點擊工具欄上的“執(zhí)行執(zhí)行 ”按鈕,視圖的按鈕,視圖的查詢結果顯示在查詢結果顯示在“視圖設計器視圖設計器”右側窗格的最后一部分中。右側窗格的最后一部分中。u 完整的設計和執(zhí)行結果如圖完整的設計和執(zhí)行結果如圖7-15所示。所示。u 點擊工具欄上的點擊工具欄上的“保存保存”按鈕,彈出按鈕,彈出“選擇名稱選擇名稱”窗口,窗口,輸入視圖名輸入視圖名“v_商品類型表商品類型表_商品信息表商品信息表”后點擊確定,完成后點擊確定,完成視圖
14、創(chuàng)建,關閉視圖創(chuàng)建,關閉“視圖設計器視圖設計器”。u 在在“對象資源管理器對象資源管理器”中刷新中刷新“商品管理數(shù)據庫商品管理數(shù)據庫”節(jié)點下節(jié)點下的的“視圖節(jié)點視圖節(jié)點”后將其展開,名為后將其展開,名為“v_商品類型表商品類型表_商品信息商品信息表表”的視圖已存在。的視圖已存在。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 2. 使用使用T-SQL語言創(chuàng)建視圖語言創(chuàng)建視圖知識點知識點使用使用T-SQL語言創(chuàng)建視圖的語法格式如下:語言創(chuàng)建視圖的語法格式如下: create view 視圖名視圖名 with encryption as s
15、elect 查詢語句查詢語句SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 說明:說明:create view命令表示創(chuàng)建視圖。命令表示創(chuàng)建視圖?!耙晥D名視圖名”應應符合命名規(guī)則,且不能重名。符合命名規(guī)則,且不能重名。with encryption命令用來對創(chuàng)建視圖的代碼或命令用來對創(chuàng)建視圖的代碼或過程加密。過程加密。as關鍵字后面跟隨滿足關鍵字后面跟隨滿足select語句語法格式的語句語法格式的查詢語句。查詢語句。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 案例案例 【例【
16、例7.8】 在在“商品管理數(shù)據庫商品管理數(shù)據庫”中查詢出中查詢出2012年年11月月2日進貨商品的信息,要求顯示出商品編號、日進貨商品的信息,要求顯示出商品編號、商品名稱、進貨數(shù)量和進貨日期字段信息。將結商品名稱、進貨數(shù)量和進貨日期字段信息。將結果創(chuàng)建到名為果創(chuàng)建到名為“v_商品商品_進貨進貨”的視圖中。的視圖中。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 解題解題u在在“管理器管理器”中新建一個查詢窗口,輸入代碼如下:中新建一個查詢窗口,輸入代碼如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go create view v_商品商
17、品_進貨進貨 as select 商品信息表商品信息表.商品編號商品編號, 商品名稱商品名稱, 進貨數(shù)量進貨數(shù)量, 進貨日期進貨日期 from 商品信息表商品信息表, 進貨信息表進貨信息表 where 商品信息表商品信息表.商品編號商品編號 =進貨信息表進貨信息表.商品編號商品編號 and 進貨日期進貨日期=2012-11-2 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 u 點擊點擊“分析分析”按鈕,無語法錯誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得按鈕,得到到“命令已成功完成命令已成功完成”的提示信息,如圖的提示信息,
18、如圖7-16所示,表示視圖所示,表示視圖創(chuàng)建成功。創(chuàng)建成功。u 在在“對象資源管理器對象資源管理器”中右鍵單擊中右鍵單擊“商品管理數(shù)據庫商品管理數(shù)據庫”下下的的“視圖視圖”節(jié)點,在彈出的菜單中選擇節(jié)點,在彈出的菜單中選擇“刷新刷新”命令后展開該命令后展開該節(jié)點,名為節(jié)點,名為“v_商品商品_進貨進貨”的視圖已存在,如圖的視圖已存在,如圖7-17所示。所示。說明:說明: 在執(zhí)行創(chuàng)建視圖的命令代碼之前,為了避免錯誤,可以先選在執(zhí)行創(chuàng)建視圖的命令代碼之前,為了避免錯誤,可以先選中中as關鍵字后面的關鍵字后面的select語句執(zhí)行,查看到正確的結果后,再語句執(zhí)行,查看到正確的結果后,再執(zhí)行完整的創(chuàng)建視
19、圖代碼。執(zhí)行完整的創(chuàng)建視圖代碼。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-16 成功創(chuàng)建視圖圖7-17 “對象資源管理器”中已創(chuàng)建的視圖 思考思考 是不是只要是不是只要as關鍵字后面的關鍵字后面的select語句能夠執(zhí)行語句能夠執(zhí)行成功,創(chuàng)建視圖就一定成功?答案是否定的。下面成功,創(chuàng)建視圖就一定成功?答案是否定的。下面例題用來證明結論。例題用來證明結論。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖
20、管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼如下:中新建一個查詢窗口,輸入代碼如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go create view v_商品商品_進貨進貨 as select 商品信息表商品信息表.商品編號商品編號,商品名稱商品名稱,進貨數(shù)量進貨數(shù)量,進貨日期進貨日期,進貨成功進貨成功 from 商品信息表商品信息表, 進貨信息表進貨信息表 where 商品信息表商品信息表.商品編號商品編號 =進貨信息表進貨信息表.商品編號商品編號 and 進貨日期進貨日期=2012-11-2 goSQL Server實用案例教程實用案例
21、教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 u 點擊點擊“分析分析”按按鈕,無語法錯誤后點鈕,無語法錯誤后點擊擊“執(zhí)行執(zhí)行”按鈕,得按鈕,得到到“創(chuàng)建視圖或函數(shù)創(chuàng)建視圖或函數(shù)失敗,因為沒有為列失敗,因為沒有為列5 指定列名。指定列名?!钡腻e的錯誤提示,如圖誤提示,如圖7-18所所示。示。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-18 創(chuàng)建視圖失敗 說明:說明:錯誤存在的原因是沒有為第錯誤存在的原因是沒有為第5列指定列名。列指定列名。select語句后的第語句后的第5列正是本例題中為查詢結果新列正是本例題中
22、為查詢結果新添加的內容為添加的內容為“進貨成功進貨成功”的字段。的字段。為了檢驗為了檢驗as關鍵字后面的關鍵字后面的select語句是否正確,語句是否正確,只執(zhí)行被選中的只執(zhí)行被選中的select語句部分,得到如圖語句部分,得到如圖7-19所示結果。所示結果。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-19 只執(zhí)行select查詢的結果 從圖從圖7-17的查詢結果可以看出,的查詢結果可以看出,select語句部分是語句部分是沒
23、有錯誤的。但是我們注意到,查詢結果中的第沒有錯誤的。但是我們注意到,查詢結果中的第5列列沒有字段名。這就是視圖創(chuàng)建失敗的原因。沒有字段名。這就是視圖創(chuàng)建失敗的原因。 雖然視圖只是虛擬表,用來存放雖然視圖只是虛擬表,用來存放select語句的查詢語句的查詢結果,那么既然是表,就一定要有字段名來構成表結結果,那么既然是表,就一定要有字段名來構成表結構,否則沒有字段名的列中的記錄信息將沒有意義。構,否則沒有字段名的列中的記錄信息將沒有意義。因此,當將圖因此,當將圖7-19的查詢結果創(chuàng)建給視圖時,由于虛的查詢結果創(chuàng)建給視圖時,由于虛擬表的結構不完整,使視圖創(chuàng)建失敗。擬表的結構不完整,使視圖創(chuàng)建失敗。S
24、QL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 u 根據以上分析,需為第根據以上分析,需為第5列設置一個列名,修改命令代碼如下:列設置一個列名,修改命令代碼如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go create view v_商品商品_進貨成功進貨成功 as select 商品信息表商品信息表.商品編號商品編號,商品名稱商品名稱,進貨數(shù)量進貨數(shù)量,進貨日期進貨日期,進貨成功進貨成功 備注備注 from 商品信息表商品信息表, 進貨信息表進貨信息表 where 商品信息表商品信息表.商品編號商品編號 =進貨信息表進貨信息表.商品編
25、號商品編號 and 進貨日期進貨日期=2012-11-2 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 u 點擊點擊“分析分析”按鈕,無語法錯誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得到按鈕,得到“命令已成功完成命令已成功完成”的提示信息,表示視的提示信息,表示視圖創(chuàng)建成功。在圖創(chuàng)建成功。在“對象資源管理器對象資源管理器”中刷新中刷新“商品管商品管理數(shù)據庫理數(shù)據庫”下的下的“視圖視圖”節(jié)點后展開,名為節(jié)點后展開,名為“v_商品商品_進貨成功進貨成功”的視圖已存在。的視圖已存在。說明:說明: 代碼中使用空格法為第代碼中使用空
26、格法為第5列設置了一個名為列設置了一個名為“備注備注”的列名,使得的列名,使得select語句查詢出的結果表結構完整。語句查詢出的結果表結構完整。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 案例案例 【例【例7.9】在】在“商品管理數(shù)據庫商品管理數(shù)據庫”中查詢出商品名中查詢出商品名稱中帶稱中帶“酒酒”的商品的詳細銷售信息(顯示商品編號、的商品的詳細銷售信息(顯示商品編號、商品名稱、銷售單價、銷售數(shù)量、銷售金額、客戶姓商品名稱、銷售單價、銷售數(shù)量、銷售金額、客戶姓名和銷售日期)。名和銷售日期)。SQL Server實用案例教程實用案例
27、教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼如下:中新建一個查詢窗口,輸入代碼如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go create view v_銷售信息銷售信息 as select 商品信息表商品信息表.商品編號商品編號,商品名稱商品名稱,銷售單價銷售單價,銷售數(shù)量銷售數(shù)量, 銷售金額銷售金額,客戶姓名客戶姓名,銷售日期銷售日期 from 銷售信息表銷售信息表 join 商品信息表商品信息表 on 銷售信息表銷售信息表.商品編號商品編號 =商品信息表商品信息表.商品編號商品編號 join 客戶信息表
28、客戶信息表 on 客戶信息表客戶信息表.客戶編號客戶編號 =銷售信息表銷售信息表.客戶編號客戶編號 where 商品信息表商品信息表.商品名稱商品名稱 like %酒酒% goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖 說明:說明: 使用了使用了select語句的多表復雜查詢。語句的多表復雜查詢。 使用了條件中帶有使用了條件中帶有l(wèi)ike關鍵字的模糊查詢關鍵字的模糊查詢 點擊點擊“分析分析”按鈕,無語法錯誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得到如圖按鈕,得到如圖7-20所示查詢結果。所示查詢結果。SQL Server實用
29、案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.1 創(chuàng)建視圖創(chuàng)建視圖圖7-20 創(chuàng)建視圖 1. 查詢視圖結果查詢視圖結果 基于視圖是虛擬表這一概念,視圖被創(chuàng)建成功后基于視圖是虛擬表這一概念,視圖被創(chuàng)建成功后可以具備表的許多特性,最基本的便是查詢功能??梢跃邆浔淼脑S多特性,最基本的便是查詢功能。查詢視圖與查詢數(shù)據表一樣,可以使用查詢視圖與查詢數(shù)據表一樣,可以使用select語句語句實現(xiàn)。實現(xiàn)。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查
30、詢視圖查詢視圖 知識點知識點使用使用T-SQL語言查詢視圖的語法格式如下:語言查詢視圖的語法格式如下:select * | 字段名列表字段名列表 from 視圖名視圖名 where 條件表達式條件表達式 SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 案例案例 【例【例7.10】查詢】查詢“v_商品商品_進貨進貨”視圖中的商品視圖中的商品進貨信息。進貨信息。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼中新建一個查詢窗
31、口,輸入代碼如下:如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go select * from v_商品商品_進貨進貨 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 u 點擊點擊“分析分析”按鈕,無語法按鈕,無語法錯誤后點擊錯誤后點擊“執(zhí)行執(zhí)行”按鈕,按鈕,得到如圖得到如圖7-21所示查詢結果。所示查詢結果。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖圖7-21 查詢視圖 案例案例 【例【例7.11】查詢】查詢“v_商品商品_進貨進貨”視圖中進貨數(shù)量視圖中進貨數(shù)量大于等
32、于大于等于300的商品進貨信息。的商品進貨信息。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼中新建一個查詢窗口,輸入代碼如下:如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go select * from v_商品商品_進貨進貨 where 進貨數(shù)量進貨數(shù)量=300 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 u 點擊點擊“分析分析”按鈕,無語法按鈕,無語法錯誤后點擊錯誤后點擊“執(zhí)行執(zhí)行”按鈕,按鈕,得到如圖
33、得到如圖7-22所示查詢結果。所示查詢結果。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖圖7-22 帶條件查詢視圖 2. 查看視圖創(chuàng)建信息查看視圖創(chuàng)建信息 可以使用可以使用T-SQL語言查看沒有加密的視圖的創(chuàng)語言查看沒有加密的視圖的創(chuàng)建信息,便于管理者掌握視圖所存儲的內容,方便建信息,便于管理者掌握視圖所存儲的內容,方便使用和管理視圖。使用和管理視圖。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 知識點知識點 使用使用T-SQL語言查看視圖創(chuàng)建信息的語法格式語言查看視圖創(chuàng)建信
34、息的語法格式如下:如下:exec sp_helptext 視圖名視圖名SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 案例案例 【例【例7.12】查看】查看“商品管理數(shù)據庫商品管理數(shù)據庫”中名為中名為“v_商品商品_進貨進貨”的視圖的創(chuàng)建信息。的視圖的創(chuàng)建信息。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼中新建一個查詢窗口,輸入代碼如下:如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go exec sp_helpte
35、xt v_商品商品_進貨進貨 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖 u 點擊點擊“分析分析”按鈕,無語法按鈕,無語法錯誤后點擊錯誤后點擊“執(zhí)行執(zhí)行”按鈕,按鈕,得到如圖得到如圖7-23所示查詢結果。所示查詢結果。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.2 查詢視圖查詢視圖圖7-23 查看視圖創(chuàng)建信息 被創(chuàng)建的視圖也可以根據數(shù)據庫的變化情況修改。被創(chuàng)建的視圖也可以根據數(shù)據庫的變化情況修改??梢允褂每梢允褂谩肮芾砥鞴芾砥鳌焙秃蚑-SQL語言修改視圖的名稱語言修改視圖的名稱以及內容。以
36、及內容。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 1. 使用使用“管理器管理器”修改視圖修改視圖(1)修改視圖名)修改視圖名 使用使用“對象資源管理器對象資源管理器”修改視圖名稱需要展開修改視圖名稱需要展開被修改數(shù)據庫的被修改數(shù)據庫的“視圖視圖”節(jié)點,右鍵單擊被修改視節(jié)點,右鍵單擊被修改視圖,在彈出的菜單中選擇圖,在彈出的菜單中選擇“重命名重命名”命令,直接修命令,直接修改視圖名稱,回車確定即可。改視圖名稱,回車確定即可。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 (2
37、)修改視圖內容)修改視圖內容 使用使用“對象資源管理器對象資源管理器”修改視圖內容需要展開修改視圖內容需要展開被修改數(shù)據庫的被修改數(shù)據庫的“視圖視圖”節(jié)點,右鍵單擊被修改視節(jié)點,右鍵單擊被修改視圖,在彈出的菜單中選擇圖,在彈出的菜單中選擇“設計設計”命令調出命令調出“視圖視圖設計器設計器”,如圖,如圖7-15,與創(chuàng)建視圖時方法一致,對,與創(chuàng)建視圖時方法一致,對視圖的內容修改后點擊視圖的內容修改后點擊“保存保存”按鈕,保存成功后按鈕,保存成功后關閉關閉“視圖設計器視圖設計器”完成視圖內容修改。使用完成視圖內容修改。使用with encryption命令加密創(chuàng)建的視圖內容不能用命令加密創(chuàng)建的視圖內
38、容不能用“管理管理器器”方式修改。方式修改。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 2. 使用使用T-SQL語句修改視圖語句修改視圖(1)修改視圖名)修改視圖名知識點知識點使用使用T-SQL語言修改視圖名稱的語法格式如下:語言修改視圖名稱的語法格式如下:exec sp_rename 舊視圖名舊視圖名, 新視圖名新視圖名SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 案例案例 【例【例7.13】使用】使用T-SQL語句將語句將“商品管理數(shù)據庫商品管理數(shù)據庫”中名為中名為“v
39、_商品商品_進貨成功進貨成功”的視圖改名為的視圖改名為“v_商商品信息品信息_進貨成功進貨成功”。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼中新建一個查詢窗口,輸入代碼如下:如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go exec sp_rename v_商品商品_進貨成功進貨成功,v_商品信息商品信息_進貨成功進貨成功 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 u 點擊點擊“分析分析”按鈕,無語法錯
40、誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得到按鈕,得到“注意注意: 更改對象名的任一部分都可能更改對象名的任一部分都可能會破壞腳本和存儲過程。會破壞腳本和存儲過程?!碧崾?,提醒修改視圖名提示,提醒修改視圖名后可能涉及到與該視圖有關的其它查詢功能或設置后可能涉及到與該視圖有關的其它查詢功能或設置可能被破壞,此時視圖名已被修改,通過刷新可能被破壞,此時視圖名已被修改,通過刷新“對對象資源管理器象資源管理器”中中“商品管理數(shù)據庫商品管理數(shù)據庫”下的下的“視圖視圖”節(jié)點可以查看到。用戶需注意其它已涉及到原視圖節(jié)點可以查看到。用戶需注意其它已涉及到原視圖名的設置也需做必要修改。名的設置也需做必要
41、修改。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 (2)修改視圖內容)修改視圖內容 使用使用T-SQL語句修改試圖內容相當于只保留了語句修改試圖內容相當于只保留了視圖名稱,而對創(chuàng)建視圖的語句重新設置。視圖名稱,而對創(chuàng)建視圖的語句重新設置。T-SQL語句可以修改加密和未加密的視圖,也可以對未加語句可以修改加密和未加密的視圖,也可以對未加密的視圖在修改時加密。密的視圖在修改時加密。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 知識點知識點使用使用T-SQL語言修改視圖內容的語法
42、格式如下:語言修改視圖內容的語法格式如下:alter view 視圖名視圖名 with encryption asselect 查詢語句查詢語句說明:說明:alter view命令表示修改視圖。命令表示修改視圖?!耙晥D名視圖名”必須是已必須是已存在的視圖名。存在的視圖名。其它命令及要求與創(chuàng)建視圖相同。其它命令及要求與創(chuàng)建視圖相同。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 案例案例 【例【例7.14】使用】使用T-SQL語句將語句將“商品管理數(shù)據庫商品管理數(shù)據庫”中名為中名為“v_商品商品_進貨進貨”的視圖內容改為查看的視圖內容改為
43、查看2012年年11月月1日進貨記錄信息。日進貨記錄信息。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 解題解題u 在在“管理器管理器”中新建一個查詢窗口,輸入代碼如下:中新建一個查詢窗口,輸入代碼如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go alter view v_商品商品_進貨進貨 as select 商品信息表商品信息表.商品編號商品編號, 商品名稱商品名稱, 進貨數(shù)量進貨數(shù)量, 進貨日期進貨日期 from 商品信息表商品信息表, 進貨信息表進貨信息表 where 商品信息表商品信息表.商品編號商品編號 =進貨信息表進貨
44、信息表.商品編號商品編號 and 進貨日期進貨日期=2012-11-1 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖 u 點擊點擊“分析分析”按鈕,無語法錯誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得到按鈕,得到“命令已成功完成命令已成功完成”的提示信息,表示的提示信息,表示修改視圖成功。修改視圖成功。u 通常情況下,只要被修改的視圖名無誤,修改通常情況下,只要被修改的視圖名無誤,修改操作就不會發(fā)生錯誤。操作就不會發(fā)生錯誤。u 可以使用查詢語句可以使用查詢語句“select * from v_商品商品_進貨進貨”查看修改后結
45、果,進貨日期已修改,如圖查看修改后結果,進貨日期已修改,如圖7-24所示。所示。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.3 修改視圖修改視圖圖7-24 查看修改后視圖 對于創(chuàng)建錯誤或者不需要再使用的視圖,可以對于創(chuàng)建錯誤或者不需要再使用的視圖,可以將其刪除以節(jié)省空間。刪除視圖時不會對基本表中將其刪除以節(jié)省空間。刪除視圖時不會對基本表中的數(shù)據產生影響,但如果有其它數(shù)據庫對象關聯(lián)了的數(shù)據產生影響,但如果有其它數(shù)據庫對象關聯(lián)了被刪除的視圖,那么再使用這些
46、對象時將提示錯誤。被刪除的視圖,那么再使用這些對象時將提示錯誤。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.4 刪除視圖刪除視圖 1. 使用使用“管理器管理器”刪除視圖刪除視圖 使用使用“對象資源管理器對象資源管理器”刪除視圖需要展開被刪刪除視圖需要展開被刪除數(shù)據庫的除數(shù)據庫的“視圖視圖”節(jié)點,右鍵單擊被刪除視圖,節(jié)點,右鍵單擊被刪除視圖,在彈出的菜單中選擇在彈出的菜單中選擇“刪除刪除”命令,在彈出的命令,在彈出的“刪刪除對象除對象”窗口中直接點擊窗口中直接點擊“確定確定”按鈕即可。按鈕即可。SQL Server實用案例教程實用案例教程(2008版版)7
47、.4 視圖管理7.4.4 刪除視圖刪除視圖 2. 使用使用T-SQL語句刪除視圖語句刪除視圖知識點知識點使用使用T-SQL語言刪除視圖的語法格式如下:語言刪除視圖的語法格式如下:drop view 視圖名視圖名SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.4 刪除視圖刪除視圖 案例案例 【例【例7.15】將】將“商品管理數(shù)據庫商品管理數(shù)據庫”中名為中名為“v_商商品信息品信息_進貨成功進貨成功”的視圖刪除。的視圖刪除。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.4 刪除視圖刪除視圖 解題解題u 在在“管理器管理器”中
48、新建一個查詢窗口,輸入代碼中新建一個查詢窗口,輸入代碼如下:如下: use 商品管理數(shù)據庫商品管理數(shù)據庫 go drop view v_商品信息商品信息_進貨成功進貨成功 goSQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.4 刪除視圖刪除視圖 u 點擊點擊“分析分析”按鈕,無語法錯誤后點擊按鈕,無語法錯誤后點擊“執(zhí)行執(zhí)行”按鈕,得到按鈕,得到“命令已成功完成命令已成功完成”的提示信息,表示的提示信息,表示刪除視圖成功。刪除視圖成功。u 在在“對象資源管理器對象資源管理器”中刷新中刷新“商品管理數(shù)據商品管理數(shù)據庫庫”下的下的“視圖視圖”節(jié)點,名為節(jié)點,名為“
49、v_商品信息商品信息_進貨進貨成功成功”的視圖已不存在。的視圖已不存在。SQL Server實用案例教程實用案例教程(2008版版)7.4 視圖管理7.4.4 刪除視圖刪除視圖項 目 融 合 在在“商品銷售管理系統(tǒng)商品銷售管理系統(tǒng)”項目的實現(xiàn)項目的實現(xiàn)過程中,對過程中,對“商品管理數(shù)據庫商品管理數(shù)據庫”可以用本可以用本項目學到的知識簡化客戶端的查詢操作,項目學到的知識簡化客戶端的查詢操作,提高客戶端的查詢效率,使系統(tǒng)更完善操提高客戶端的查詢效率,使系統(tǒng)更完善操作更簡便。作更簡便。SQL Server實用案例教程實用案例教程(2008版版)項 目 融 合 為配合為配合“商品銷售管理系統(tǒng)商品銷售管
50、理系統(tǒng)”的實現(xiàn),需要考的實現(xiàn),需要考慮創(chuàng)建的索引和視圖如下:慮創(chuàng)建的索引和視圖如下:【任務【任務7.1】為】為“商品管理數(shù)據庫商品管理數(shù)據庫”的數(shù)據表創(chuàng)建的數(shù)據表創(chuàng)建索引。索引。 為為“客戶信息表客戶信息表”的的“聯(lián)系電話聯(lián)系電話”字段創(chuàng)建非聚字段創(chuàng)建非聚集唯一索引。集唯一索引。 為為“商品信息表商品信息表”的的“商品名稱商品名稱”字段創(chuàng)建非聚字段創(chuàng)建非聚集非唯一索引。集非唯一索引。 為為“進貨信息表進貨信息表”的的“商品編號商品編號”字段創(chuàng)建非聚字段創(chuàng)建非聚集非唯一索引。集非唯一索引。SQL Server實用案例教程實用案例教程(2008版版)項 目 融 合 為為“進貨信息表進貨信息表”的的“進貨日期進貨日期”字段創(chuàng)建非字段創(chuàng)建非聚集非唯一索引。聚集非唯一索
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨床腫瘤內科診療體系與發(fā)展趨勢
- Brand KPIs for sauces condiments Tabasco in the United Kingdom-外文版培訓課件(2025.2)
- 集體水庫管理協(xié)議書
- 菜地承包出售協(xié)議書
- 顧客簽訂保障協(xié)議書
- 項目借款投資協(xié)議書
- 鞋面加工合同協(xié)議書
- 風管廠家轉讓協(xié)議書
- 車禍自行協(xié)商協(xié)議書
- 計劃財產分割協(xié)議書
- 高溫設備維護保養(yǎng)程序培訓
- 護士進修匯報護理專業(yè)發(fā)展趨勢分析
- KISSSOFT操作與齒輪設計培訓教程
- 廣東省廣州市越秀區(qū)2024年中考二模語文試卷附答案
- 城鄉(xiāng)規(guī)劃原理題目及答案
- 25道中國建筑商務合約經理崗位常見面試問題含HR常問問題考察點及參考回答
- JGT116-2012 聚碳酸酯(PC)中空板
- DBJ-43T507-2019湖南省建筑物移動通信基礎設施建設標準
- 《華為國際化之路》課件
- 高空作業(yè)安全責任協(xié)議書防盜網
- 關于地下室滲漏水問題的總結及堵漏措施
評論
0/150
提交評論