網頁制作基礎教程 (Dreamweaver CC)(第3版)課件 項目10 使用視圖_第1頁
網頁制作基礎教程 (Dreamweaver CC)(第3版)課件 項目10 使用視圖_第2頁
網頁制作基礎教程 (Dreamweaver CC)(第3版)課件 項目10 使用視圖_第3頁
網頁制作基礎教程 (Dreamweaver CC)(第3版)課件 項目10 使用視圖_第4頁
網頁制作基礎教程 (Dreamweaver CC)(第3版)課件 項目10 使用視圖_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據庫技術及應用授課人:陳翠松項目10使用視圖通過多表查詢可以實現更大范圍的數據整合,滿足復雜的數據需求,并且不影響數據庫的規范性。但每次操作都要輸入查詢語句比較麻煩,小王決定把查詢保存下來,將其轉變為視圖來提高工作效率。視圖操作方便,提交數據安全,并且還能更新數據。工作情境目錄01創建和管理視圖02通過視圖更新數據03鞏固與小結04任務訓練01創建和管理視圖一、創建和管理視圖任務分析使用視圖不僅能有效保護數據,還能提高數據的安全性,因此,小王在粵文創項目中,根據項目特點設計了不少視圖,以提高數據安全性和操作效率。小王對粵文創進行分析后得到的任務清單如下。任務編號任務內容任務10-1創建兩個視圖,分別顯示各個城市的城市中文名和電話區號,以及城市中文名和車牌代碼任務10-2創建視圖,顯示城市民俗信息任務10-3創建視圖,顯示城市名人信息任務10-4創建視圖,顯示城市榮譽信息任務10-5創建視圖,顯示工作計劃參與人員表信息一、創建和管理視圖知識儲備1、初識視圖視圖是數據庫中的重要概念。視圖是一個虛擬表,其內容由查詢定義。數據庫真實表稱為基本表。與基本表一樣,視圖也是由一系列帶有名稱的列和行數據組成的。但是,視圖并不在數據庫中以存儲數據值集的形式存在,而是存儲查詢命令,在引用視圖時才動態生成數據。視圖的建立和刪除只影響視圖本身,不影響對應的基本表。從用戶的角度來看,一個視圖是從一個特定的角度查看數據庫中的數據。視圖有很多優點,主要表現在以下幾方面。1)定制數據,提高安全性2)簡化操作,提高效率3)邏輯數據獨立性強,方便數據合并、分割和共享一、創建和管理視圖知識儲備2、創建視圖創建視圖的語法格式如下如下:CREATEVIEW視圖名[(字段列表)]ASSELECT語句WITHCHECKOPTION;需要說明以下幾點。SELECT語句不能引用系統或用戶變量,不能包含FROM子句中的子查詢,也不能引用預處理語句參數。盡管創建的視圖是一個虛擬表,但可以當作表操作,還可以作為其他視圖的數據源。可以使用SELECT語句查詢視圖數據,可以使用DESC顯示視圖所包含的字段。如果在創建視圖時設置了參數“WITHCHECKOPTION”,那么更新數據時不能插入或更新不符合視圖限制條件的記錄。一、創建和管理視圖知識儲備示例10-1創建視圖vquerytitle,查詢工作人員表user中的userId、userName和fkTitle。程序代碼如下:CREATEVIEWvquerytitleASSELECTuserId,username,fkTitleFROMuser;示例10-2創建視圖vquerygender,查詢工作人員表user中的userId、userName和gender,并將字段名稱分別改為工號、姓名和性別。程序代碼如下:CREATEVIEWvquerygender(工號,姓名,性別)ASSELECTuserId,username,genderFROMuser;示例10-3創建視圖vqueryhonor,查詢各個城市的榮譽,并顯示編號、城市和榮譽。程序代碼如下:CREATEVIEWvqueryhonor(編號,城市,榮譽)ASSELECTid,chineseName,honoraryTitleFROMhonorJOINareaONhonor.fkAreaNumber=area.areaNumber;一、創建和管理視圖知識儲備3、管理視圖1)打開視圖雖然視圖是虛擬表,但其使用方法與基本表的使用方法完全一致。查看視圖所有數據內容可以直接使用SELECT語句,語法格式如下:SELECT*FROM視圖名;示例10-4打開視圖vquerygender。程序代碼如下:SELECT*FROMvquerygender;一、創建和管理視圖知識儲備3、管理視圖2)查看視圖(1)查看視圖結構。查看視圖結構可以使用DESCRIBE(可以簡寫為DESC)語句,語法格式如下:DESCRIBE視圖名;(2)查看視圖詳細信息。查看視圖詳細信息可以使用SHOWCREATEVIEW語句,語法格式如下:SHOWCREATEVIEW視圖名;(3)查看所有視圖。查看所有表和視圖可以使用SHOWTABLES語句,語法格式如下:SHOWTABLES;示例10-5查看視圖vquerygender的結構和詳細信息。程序代碼如下:DESCRIBEvquerygender;SHOWCREATEVIEWvquerygender;SHOWTABLES;一、創建和管理視圖知識儲備3、管理視圖3)修改視圖修改視圖可以先刪除原有視圖再新建視圖,也可以使用ALTERVIEW語句,該語句要求登錄用戶除了有SELECT權限,還要有CREATEVIEW和DROPVIEW權限。修改視圖的使用方法如下:ALTERVIEW視圖名ASSELECT語句;4)刪除視圖刪除視圖可以使用DROPVIEW語句,語法格式如下:DROPVIEW視圖名;示例10-6刪除視圖vquerygender。程序代碼如下:DROPVIEWvquerygender;一、創建和管理視圖知識儲備3、使用Navicat操作視圖(1)啟動Navicat,連接MySQL服務器,雙擊指定的數據庫,單擊“視圖”圖標,顯示視圖列表,如圖10-2所示。

(2)選中指定的視圖后,單擊視圖列表上方的“打開視圖”選項圖標可以查看選中的視圖的所有數據,單擊“刪除視圖”圖標可以刪除選中的視圖;單擊“導出向導”圖標可以將選中的視圖的內容導出為指定格式文件。(3)單擊“新建視圖”圖標,先在工作區輸入查詢語句并保存,再輸入視圖名,如圖10-3所示,輸入視圖名后單擊“確定”按鈕,系統會對查詢語句進行規范化處理,如圖10-4所示,單擊代碼界面上方的“美化SQL”圖標,美化結果如圖10-5所示。一、創建和管理視圖知識儲備3、使用Navicat操作視圖一、創建和管理視圖知識儲備3、使用Navicat操作視圖(4)選中指定的視圖后,單擊視圖列表上方的“設計視圖”圖標可以查看選中的視圖的詳細內容。如果要進行修改,那么其操作方法與新建視圖的編輯操作一致。一、創建和管理視圖任務實施任務10-1創建兩個視圖,分別顯示各個城市的城市中文名和電話區號,以及城市中文名和車牌代碼。任務10-2創建視圖,顯示城市民俗信息。任務10-3創建視圖,顯示城市名人信息。任務10-4創建視圖,顯示城市榮譽信息。任務10-5創建視圖,顯示工作計劃參與人員表信息。02通過視圖更新數據二、通過視圖更新數據任務分析盡管視圖只是一個虛擬表,只能動態顯示數據,并不能真正保存數據,但是能修改數據。小王對粵文創進行分析后得到的任務清單如下。任務編號任務內容任務10-6通過視圖添加數據任務10-7通過視圖修改數據任務10-8通過視圖刪除數據二、通過視圖更新數據知識儲備1、通過視圖更新數據表通過視圖可以更新、插入和刪除基本表中的數據。視圖和基本表中的數據都會更新。可以使用UPDATE語句更新數據,使用INSERT語句插入數據,使用DELETE語句刪除數據。當視圖中包含以下內容時,不能通過視圖來修改數據。(1)視圖不包含基本表中被定義為非空約束,并且沒有默認值的字段。(2)在定義視圖的SELECT語句中,使用了數學表達式。(3)在定義視圖的SELECT語句中,使用了聚合函數。(4)在定義視圖的SELECT語句中,使用了DISTINCT、UNION、TOP、GROUPBY或HAVING子句。(5)在視圖中,可以一次修改多個基本表中的數據。二、通過視圖更新數據知識儲備示例10-7通過視圖vquerylicensePlateCode,將佛山的車牌代碼改為“粵Y”。程序代碼如下:UPDATEvquerylicensePlateCodeSET車牌代碼="粵Y"WHERE城市中文名="佛山";SELECT*FROMvquerylicensePlateCode;示例10-8通過視圖vqueryparticipant,修改編號為1的記錄,將“2023春惠州行”修改為“2023新春惠州行”,將“李欣”修改為“李小欣”。程序代碼如下:UPDATEvqueryparticipantSET計劃名稱="2023新春惠州行",參與者姓名="李小欣"WHERE編號=1;SELECT*FROMvqueryparticipant;修改失敗,這是為什么呢?運行結果如圖10-7所示。在一個修改命令中,同時修改了兩個基本表的數據。二、通過視圖更新數據知識儲備2、通過視圖向數據表中插入數據示例10-9向視圖vqueryareaCode中添加數據

“測試城市”和“999”。程序代碼如下:INSERTINTOvqueryareaCodeVALUES("測試城市","999");DESCvqueryareaCode;DESCarea;運行結果如圖10-7所示。插入數據為什么會失敗呢?因為視圖vqueryareaCode中只有兩個字段,所以只能給這兩個字段輸入值,但其對應的基本表area中有9個字段。除了與視圖相同的2個字段,基本表還有4個非空字段。視圖的數據保存在基本表中,因此為視圖vqueryareaCode添加數據,其實就是為基本表area添加數據,因為還有4個非空字段沒有賦值,所以無法插入數據,最終數據插入操作失敗。如果成功插入數據,那么應檢查是否正確創建了area表。二、通過視圖更新數據知識儲備3、通過視圖刪除數據表中的數據示例10-10通過視圖vquerylicensePlateCode,刪除城市中文名為"佛山"的記錄。程序代碼如下:DELETEFROMvquerylicensePlateCodeWHERE城市中文名="佛山";SELECT*FROMvquerylicensePlateCodeWHERE城市中文名="佛山";SELECT*FROMareaWHEREchineseName="佛山";不僅刪除了視圖vquerylicensePlateCode中的記錄,

還刪除了基本表area中的數據,運行結果如圖10-9所示。測試完后,將刪除的數據補回,代碼如下:INSERTINTOareaVALUES("5880","佛山","Foshan,Fatshan","禪城","廣東省中部",3797.72,9498900,"0757","粵E");SELECT*FROMareaWHEREchineseName="佛山";二、通過視圖更新數據知識儲備3、通過視圖刪除數據表中的數據示例10-10通過視圖vquerylicensePlateCode,刪除城市中文名為"佛山"的記錄。程序代碼如下:DELETEFROMvquerylicensePlateCodeWHERE城市中文名="佛山";SELECT*FROMvquerylicensePlateCodeWHERE城市中文名="佛山";SELECT*FROMareaWHEREchineseName="佛山";不僅刪除了視圖vquerylicensePlateCode中的記錄,還刪除了基本表area中的數據,運行結果如圖10-9所示。測試完后,將刪除的數據補回,代碼如下:INSERTINTOareaVALUES("5880","佛山","Foshan,Fatshan","禪城","廣東省中部",3797.72,9498900,"0757","粵E");SELECT*FROMareaWHEREchineseName="佛山";二、通過視圖更新數據任務實施任務10-6通過視圖添加數據。向視圖vquerylicensePlateCode中添加數據"測試城市"和"粵Z"。任務10-7通過視圖修改數據。通過視圖vqueryparticipant,先將參與者姓名改為“李小欣”,再修改為原來的內容。任務10-8通過視圖刪除數據。先向基本表area中添加一條臨時記錄,再通過視圖vquerylicensePlateCode刪除該記錄。03鞏固與小結三、鞏固與小結任務分析(1)視圖的內涵和優點。(2)創建視圖:CREATEVIEW視圖名[(字段列表)]ASSELECT語句WITHCHECKOPTION。(3)管理視圖。 打開視圖:SELECT*FROM視圖名。 查看視圖結構:DESCRIBE視圖名。 查看視圖詳細信息:SHOWCREATEVIEW視圖名。 查看所有視圖:SHOWTABLES。 修改視圖:ALT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論