數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL) 課件 項目五 MySQL數(shù)據(jù)庫中的視圖和索引_第1頁
數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL) 課件 項目五 MySQL數(shù)據(jù)庫中的視圖和索引_第2頁
數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL) 課件 項目五 MySQL數(shù)據(jù)庫中的視圖和索引_第3頁
數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL) 課件 項目五 MySQL數(shù)據(jù)庫中的視圖和索引_第4頁
數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL) 課件 項目五 MySQL數(shù)據(jù)庫中的視圖和索引_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

項目五

MySQL數(shù)據(jù)庫中的視圖和索引《數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析(MySQL)》課程目標(biāo)目錄CONTENTS任務(wù)1認(rèn)識和創(chuàng)建視圖任務(wù)2對視圖進行管理任務(wù)3創(chuàng)建和使用索引知識回顧項目五

MySQL數(shù)據(jù)庫中的視圖和索引課程目標(biāo)項目五

MySQL數(shù)據(jù)庫中的視圖和索引知識目標(biāo):理解視圖的概念及其作用理解索引的含義與特征能力目標(biāo):掌握多種創(chuàng)建視圖的方法熟悉通過視圖進行數(shù)據(jù)查詢、修改和刪除等操作方法掌握在命令行中創(chuàng)建索引的方法熟練使用和管理索引素質(zhì)目標(biāo):培養(yǎng)學(xué)習(xí)者發(fā)現(xiàn)和解決實際問題的能力有效提升學(xué)習(xí)者的動手實踐能力,助其養(yǎng)成良好的職業(yè)習(xí)慣項目五

MySQL數(shù)據(jù)庫中的視圖和索引任務(wù)1認(rèn)識和創(chuàng)建視圖項目五

MySQL數(shù)據(jù)庫中的視圖和索引

數(shù)據(jù)庫中視圖是一個極其重要的工具,它能簡化復(fù)雜查詢、增強數(shù)據(jù)安全性,并為開發(fā)人員提供靈活的數(shù)據(jù)訪問方式。本項目將詳細(xì)介紹如何創(chuàng)建視圖,并結(jié)合實際場景探討其應(yīng)用范圍。視圖的創(chuàng)建任務(wù)分析項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】一、視圖的概念、特點、注意事項視圖是由一個或者多個表(或視圖)中導(dǎo)出的虛擬表,并沒有存放實際的數(shù)據(jù)視圖的概念1、簡化復(fù)雜的查詢;2、提高查詢性能;3、保證數(shù)據(jù)安全;視圖的特點1、創(chuàng)建視圖要有足夠的訪問權(quán)限;2、在創(chuàng)建視圖時,用到的表或者其他視圖必須已經(jīng)存在并在當(dāng)前數(shù)據(jù)庫中,如果引用的表或視圖不在當(dāng)前數(shù)據(jù)庫,需要在表或視圖前加上數(shù)據(jù)庫的名字;3、創(chuàng)建的視圖可以嵌套;使用視圖的注意事項項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】二、創(chuàng)建視圖的語法格式SQL語法格式如下:CREARTE[ORREPLACE]VIEW視圖名[字段列表]ASSELECT語句;語句說明:(1)VIEW:創(chuàng)建視圖的關(guān)鍵字。(2)視圖名:按規(guī)則命名,不能與數(shù)據(jù)表或其他視圖重名。(3)字段列表:可選項,定義視圖字段名,多個名稱用逗號分隔。若視圖字段名和源表字段名相同,可省略。(4)SELECT語句:查詢語句,可以是單表查詢,也可以是多表查詢。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】三、查看視圖及視圖的結(jié)構(gòu)2.查看數(shù)據(jù)庫中視圖的命令showtables;1.查看視圖結(jié)構(gòu)的命令describe視圖名;3.查看視圖的記錄數(shù)據(jù)select*from視圖名;項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】任務(wù)操作1:使用SQL語句創(chuàng)建單源視圖任務(wù)要求:

使用SQL語句創(chuàng)建一個名為“VIEW_01”的單表視圖,該視圖包括“商品”表中供應(yīng)商編號為“G003”的所有商品信息,包括商品編號、商品名稱、生產(chǎn)日期、商品單價和庫存數(shù)量,并查看視圖的結(jié)構(gòu)定義和視圖中的記錄數(shù)據(jù)。

主要SQL語句:(1)創(chuàng)建查詢:CREATEORREPLACEVIEWview_01ASSELECT商品編號,商品名稱,生產(chǎn)日期,商品單價,庫存數(shù)量FROM商品WHERE供應(yīng)商編號='G003';(2)descview_01;查看視圖的SQL命令(3)select*

fromview_01;

查看視圖的數(shù)據(jù)項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】任務(wù)操作2:使用圖形化界面創(chuàng)建多源視圖任務(wù)要求:

在NavicatPremium中使用視圖創(chuàng)建工具,創(chuàng)建一個名為view_02的多表視圖,該視圖包括客戶姓名為“劉佳”的客戶所購買商品的商品名稱,生產(chǎn)日期,銷售單價和庫存數(shù)量。主要SQL語句:

(1)啟動連接,打開good數(shù)據(jù)庫

(2)單擊“新建視圖”按鈕,顯示“視圖創(chuàng)建工具”界面

(3)單擊“視圖創(chuàng)建工具”按鈕,打開“視圖創(chuàng)建工具”窗口。添加數(shù)據(jù)來源,選擇所需字段,設(shè)置查詢條件。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】靈活使用圖形化界面或者SQL語句完成以下操作:1.創(chuàng)建視圖“view_客戶”,該視圖包括客戶編號,客戶姓名,性別和聯(lián)系電話字段。2.創(chuàng)建視圖“view_員工入庫單”,該視圖包括員工姓名,業(yè)務(wù)類別,商品編號,入庫時間,入庫單價,入庫數(shù)量。3.使用視圖“view_員工入庫單”,查詢員工姓名為“李天天”的員工登記了那些入庫記錄單。4.查看視圖“view_客戶”和視圖“view_員工入庫單”的定義結(jié)構(gòu)。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)實訓(xùn)】任務(wù)2對視圖進行管理項目五

MySQL數(shù)據(jù)庫中的視圖和索引當(dāng)已經(jīng)創(chuàng)建好的視圖不符合使用需求時,可以使用AlterView語句對其修改。同時還可以使用創(chuàng)建好的視圖來查詢、修改和更新源表的數(shù)據(jù)。視圖創(chuàng)建完成后如果不需要,還可以刪除。任務(wù)分析項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】修改和刪除視圖修改視圖SQL語法格式如下:ALTERVIEW視圖名[(字段列表)]ASSELECT語句;CREATEORREPLACEVIEW視圖名[(字段列表)]ASSELECT語句;刪除視圖SQL語法格式如下:DROPVIEW[IFEXISTS]視圖名1[,視圖名2]>[RESTRICT|CASCADE];0102項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】任務(wù)操作1:修改視圖使用SQL語句修改視圖“view_01”,使該視圖包括供應(yīng)商編號為“G003”的供應(yīng)商提供商品單價在4000元以上的商品的“商品編號”,“商品名稱”,“生產(chǎn)日期”,“商品單價”和“庫存數(shù)量”。任務(wù)要求:alterviewview_01asselect商品編號,商品名稱,生產(chǎn)日期,商品單價,庫存數(shù)量from商品where供應(yīng)商編號='G003'and商品單價>4000;主要SQL語句:項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】任務(wù)操作2:利用視圖查詢修改、更新和刪除數(shù)據(jù)表中的數(shù)據(jù)。SQL語句格式:1.原理講解:視圖是源表的“窗口”,對視圖的操作會直接映射到源表(前提:視圖包含源表的必要字段,如主鍵)。2.操作類型及語法和操作表的語法格式一樣:

查詢:SELECT字段FROM視圖名WHERE條件;(與查詢表語法一致)。

修改:UPDATE視圖名SET字段=值WHERE條件;(需保證視圖包含被修改字段)。

插入:INSERTINTO視圖名(字段列表)VALUES(值列表);(需包含源表必填字段)。

刪除:DELETEFROM視圖名WHERE條件;(不可刪除源表中被其他表依賴的記錄)。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】任務(wù)操作2:利用視圖查詢修改、更新和刪除數(shù)據(jù)表中的數(shù)據(jù)。任務(wù)要求:1.創(chuàng)建視圖view_供應(yīng)商,查詢供應(yīng)商表中的數(shù)據(jù);2.查詢供應(yīng)商的地址在“北京”的供應(yīng)商編號,供應(yīng)商名稱,聯(lián)系人姓名,地址;3.使用視圖“view_供應(yīng)商”修改供應(yīng)商編號為“G001”的供應(yīng)商的聯(lián)系人電話修改為“11111111000”;4.新增一個供應(yīng)商,供應(yīng)商編號為“G011”,供應(yīng)商名稱為“深圳明鑫科技公司”,聯(lián)系人為“張三”,地址為“科技大道110號”5.刪除編號G011的供應(yīng)商記錄。主要SQL語句:1.createorreplaceviewview_供應(yīng)商asselect*from供應(yīng)商;2.select供應(yīng)商編號,供應(yīng)商名稱,聯(lián)系人姓名,地址fromview_供應(yīng)商where地址like“北京%”;3.updateview_供應(yīng)商set聯(lián)系人電話='11111111000'where供應(yīng)商編號='G001';4.insertintoview_供應(yīng)商(供應(yīng)商編號,供應(yīng)商名稱,聯(lián)系人姓名,地址)values("G011","深圳明鑫科技公司","張三","科技大道110號");5.deletefromview_供應(yīng)商where供應(yīng)商編號='G011';項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】刪除任務(wù)操作2中創(chuàng)建的視圖“view_01”和“view_供應(yīng)商”。任務(wù)要求:任務(wù)操作3:刪除視圖方法一:SQL語句:dropviewifexistsview_01,view_供應(yīng)商;也可以在圖形化界面中,選擇視圖中對應(yīng)的對象名(view_01或者view_供應(yīng)商),右鍵單擊選擇“刪除視圖”。方法二:圖形化操作:項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】1.修改視圖“view_客戶”,該視圖包括性別為“男”的客戶編號,客戶姓名,性別和聯(lián)系電話字段。2.利用視圖“view_客戶”查詢電話號碼是的客戶信息。3.利用視圖“view_客戶”,新增一個客戶,客戶編號為“K009”,客戶姓名為“李四”,性別為“男”,聯(lián)系電話為“12345645612”。4.利用視圖“view_客戶”修改客戶編號為“K003”的客戶的郵政編碼為“45000”5.刪除視圖“view_客戶”。實訓(xùn)內(nèi)容項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)實訓(xùn)】任務(wù)3創(chuàng)建和使用索引項目五

MySQL數(shù)據(jù)庫中的視圖和索引任務(wù)分析索引是根據(jù)數(shù)據(jù)表中一個或多個字段按一定順序建立的映射結(jié)構(gòu),用于快速定位記錄行。創(chuàng)建索引后,查詢時可基于索引字段直接定位記錄行的位置,從而加速數(shù)據(jù)檢索。在創(chuàng)建索引時,需確保目標(biāo)表所在的數(shù)據(jù)庫處于可訪問狀態(tài),且操作應(yīng)在正確的表對象上執(zhí)行。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】一、索引的功能和類型按照功能來劃分,主要的索引類型有普通索引,唯一索引,主索引,全文索引,組合索引。1.普通索引(NormalIndex):普通索引沒有任何的限制,允許有重復(fù)值和空值,主要用于提高查詢速度。2.主鍵索引(PrimaryKeyIndex):專門為主鍵字段創(chuàng)建的索引,字段值必須唯一且不能為空,每個數(shù)據(jù)表僅能有一個主鍵,查詢的速度非???。3.唯一索引(UniqueIndex):要求字段值唯一,不允許重復(fù),但允許為空值(NULL)。創(chuàng)建唯一索引的關(guān)鍵字是Unique。唯一索引可以防止數(shù)據(jù)中出現(xiàn)重復(fù)行。4.全文索引(FulltextIndex):全文索引是MySQL中特殊的索引類型,只能在Char,Varchar或Text類型的字段上創(chuàng)建。主要用于全文搜索,在大量文本數(shù)據(jù)中進行搜索時非常有用。只有MyISAM存儲引擎支持全文索引。5.組合索引:在多個列上同時創(chuàng)建的索引。適用于需要同時查詢多個列的情況。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】二、創(chuàng)建索引的SQL語句格式1.在修改數(shù)據(jù)表結(jié)構(gòu)時添加索引SQL語法格式如下:Altertable<表名>add[Unique|Fulltext|Spatial]index<索引名>(字段名[Asc|Desc]);2.在已經(jīng)存在的數(shù)據(jù)表中創(chuàng)建索引SQL語法格式如下:CREATE[Unique|PrimaryKey|Fulltext]INDEX索引名ON表名(字段名[Asc|Desc]);3.在創(chuàng)建數(shù)據(jù)表的時候創(chuàng)建索引SQL語法格式如下:CREATETABLE表名((字段名數(shù)據(jù)類型……[Unique|PrimaryKey|Fulltext]INDEX索引名(字段名[Asc|Desc]));。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】三、索引的查看SQL語法格式如下:Showindexfrom<表名>;語句說明:(1)表名:要建立索引的表的名字。(2)索引類型:Unique唯一索引、PrimaryKey主鍵索引、Fulltext全文索引。(3)索引名:索引的名稱,必須符合MySQL的標(biāo)示符命名規(guī)范,一個數(shù)據(jù)表的索引名稱必須是唯一的。(4)字段名:表示創(chuàng)建索引的字段。(5)Asc表示升序,Desc表示降序。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】四、索引的管理查看1.查看索引SHOWINDEXFROM<表名>;2.修改索引名使用命令修改索引名稱,語法格式如下:ALTERTABLE表名RENAMEINDEX原始索引名TO新索引名;3.刪除索引(1)使用DROP語句刪除索引的格式:DROPINDEX<索引名>ON<表名>;(2)使用ALTER語句刪除索引的格式:刪除普通索引:ALTERTABLE<表名>DROPINDEX<索引名>;刪除主鍵索引:ALTERTABLE<表名>DROPPRIMARYKEY;一張數(shù)據(jù)表只有一個主鍵,刪除時無需指定主鍵名。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【知識解析】1.altertable商品adduniqueindexspmc(商品名稱desc);2.altertable商品addindexspdj(商品單價);3.createindexix_gjson供應(yīng)商(聯(lián)系人姓名desc);4.createuniqueindexix_lxrdhon供應(yīng)商(聯(lián)系人電話);比較兩種方法,一種是在修改表結(jié)構(gòu)時添加索引,一種是直接建立索引。5.createindexix_aaon商品(類別,商品名稱);建立組合索引6.showindexfrom商品;7.dropindexspmcon商品;主要SQL語句:任務(wù)操作1:使用SQL語句創(chuàng)建、查看、刪除索引使用SQL語句在“商品”表中的“商品名稱”字段建立唯一索引,在“商品單價”字段建立普通索引,并查看和刪除索引。任務(wù)要求:項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】主要操作步驟:任務(wù)操作2:使用圖形界面創(chuàng)建、查看、刪除索引使用navicat在“客戶”表中“客戶編號”字段建立主鍵索引,在“客戶姓名”上建立普通索引,在“聯(lián)系電話”上建立唯一索引。任務(wù)要求:(1)打開表設(shè)計窗口:選中表→右鍵“設(shè)計表”→切換到“索引”選項卡。(2)創(chuàng)建不同類型索引:主鍵索引:選中字段(如“客戶編號”)→勾選“主鍵”。普通索引:點擊“添加索引”→輸入索引名(如khxm)→選擇字段(如“客戶姓名”)→索引類型選“NORMAL”。唯一索引:索引類型選“UNIQUE”→選擇字段(如“聯(lián)系電話”)。項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】任務(wù)操作3:創(chuàng)建表、添加數(shù)據(jù)和索引使用SQL語句創(chuàng)建“職工”表,該表的結(jié)構(gòu)如表5-1所示;將“員工”表中的數(shù)據(jù)添加到“職工”表中,并查看職工表中數(shù)據(jù);查看“職工”表中創(chuàng)建好的索引;修改“職工”表中“姓名”字段的普通索引名為“姓名”任務(wù)要求:字段名稱數(shù)據(jù)類型字段長度是否允許NULL值索引員工IDvarchar10否主鍵姓名Varchar20否普通索引性別Varchar2是

聯(lián)系電話Varchar15是項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】1.createtable職工(員工IDvarchar(10)primarykeynotnull,姓名varchar(20)notnull,性別varchar(2),聯(lián)系電話varchar(15),indexxm(姓名asc));2.insertinto職工select員工編號,姓名,性別,聯(lián)系電話from員工;3.select*from職工;4.showindexfrom職工;5.altertable職工renameindexxmto姓名;主要SQL語句:任務(wù)操作3:創(chuàng)建表、添加數(shù)據(jù)和索引項目五

MySQL數(shù)據(jù)庫中的視圖和索引【任務(wù)操作】【實訓(xùn)1】:在“入庫記錄”表的“商品編號”字段建立唯一索引,在“入庫單價”字段建立普通索引。查看該表建立的所有索引,刪除“商品編號”字段上的唯一索引?!緦嵱?xùn)2】:在“銷售記錄”表的“銷售單價”字段建立普通索引。在“銷售編號”字段建立主鍵索引。使用SQL語句或者圖形化操作界面完成下面的實訓(xùn):項目五

MySQL數(shù)據(jù)庫

溫馨提示

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

最新文檔

評論

0/150

提交評論