03數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)-2019-09-24_第1頁(yè)
03數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)-2019-09-24_第2頁(yè)
03數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)-2019-09-24_第3頁(yè)
03數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)-2019-09-24_第4頁(yè)
03數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)-2019-09-24_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程(第二版)實(shí)驗(yàn)指導(dǎo)書(shū)2019年9月24日

目錄TOC\o"1-3"\u實(shí)驗(yàn)1:概念模型(E-R圖)畫(huà)法與邏輯模式轉(zhuǎn)換實(shí)驗(yàn) 3實(shí)驗(yàn)2:關(guān)系的完整性、規(guī)范化理解與應(yīng)用實(shí)驗(yàn) 7實(shí)驗(yàn)3:利用PowerDesigner設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)實(shí)驗(yàn) 10實(shí)驗(yàn)4:MySQL安裝創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)實(shí)驗(yàn) 26實(shí)驗(yàn)5:數(shù)據(jù)表的創(chuàng)建與修改管理實(shí)驗(yàn) 27實(shí)驗(yàn)6:MySQL數(shù)據(jù)庫(kù)表的數(shù)據(jù)插入、修改、刪除操作實(shí)驗(yàn) 30實(shí)驗(yàn)7:MySQL數(shù)據(jù)庫(kù)表數(shù)據(jù)的查詢操作實(shí)驗(yàn) 31實(shí)驗(yàn)8:索引創(chuàng)建與管理操作 35實(shí)驗(yàn)9:視圖創(chuàng)建與管理實(shí)驗(yàn) 37實(shí)驗(yàn)10:存儲(chǔ)過(guò)程與函數(shù)的創(chuàng)建管理實(shí)驗(yàn) 39實(shí)驗(yàn)11:觸發(fā)器創(chuàng)建與管理實(shí)驗(yàn) 42實(shí)驗(yàn)12:數(shù)據(jù)庫(kù)的安全機(jī)制管理上機(jī)實(shí)驗(yàn) 44實(shí)驗(yàn)13:數(shù)據(jù)庫(kù)的備份與還原上機(jī)實(shí)驗(yàn) 45實(shí)驗(yàn)14:MySQL日志管理上機(jī)實(shí)驗(yàn) 46實(shí)驗(yàn)15:使用PHP訪問(wèn)MySQL數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn) 47

實(shí)驗(yàn)1:概念模型(E-R圖)畫(huà)法與邏輯模式轉(zhuǎn)換實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康募耙?.了解E-R圖構(gòu)成要素以及各要素圖元。2.掌握概念模型E-R圖的繪制方法。3.掌握概念模型向邏輯模型的轉(zhuǎn)換原則和步驟。二、驗(yàn)證性實(shí)驗(yàn)1.實(shí)驗(yàn)內(nèi)容(1)某同學(xué)需要設(shè)計(jì)開(kāi)發(fā)班級(jí)信息管理系統(tǒng),希望能夠管理班級(jí)與學(xué)生信息的數(shù)據(jù)庫(kù),其中學(xué)生信息包括學(xué)號(hào),姓名,年齡,性別,班號(hào);班級(jí)信息包括班號(hào)、年級(jí)號(hào)、班級(jí)人數(shù)。①確定班級(jí)實(shí)體和學(xué)生實(shí)體的屬性。學(xué)生:學(xué)號(hào),姓名,年齡,性別,班號(hào)班級(jí):班號(hào)、班主任、班級(jí)人數(shù)②確定班級(jí)和學(xué)生之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。一個(gè)學(xué)生只能屬于一個(gè)班級(jí),一個(gè)班級(jí)可以有很多學(xué)生,所以和學(xué)生間是1對(duì)多關(guān)系,即1:n③確定聯(lián)系本身的屬性。屬于④畫(huà)出班級(jí)與學(xué)生關(guān)系的E-R圖。NN1學(xué)生班級(jí)學(xué)號(hào)姓名年齡班號(hào)班主任班級(jí)人數(shù)班號(hào)屬于⑤將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出各關(guān)系模式并標(biāo)明各自的碼。學(xué)生(學(xué)號(hào),姓名,年齡,性別,班號(hào)),其碼為:學(xué)號(hào)班級(jí)(班號(hào)、班主任、班級(jí)人數(shù)),其碼為:班號(hào)2)請(qǐng)為電冰箱經(jīng)銷商設(shè)計(jì)一套存儲(chǔ)生產(chǎn)廠商和產(chǎn)品信息的數(shù)據(jù)庫(kù),要求生產(chǎn)廠商的信息包括廠商名稱、地址、電話;產(chǎn)品的信息包括品牌、型號(hào)、價(jià)格;生產(chǎn)廠商生產(chǎn)某產(chǎn)品的數(shù)量和日期。

要求: 確定產(chǎn)品實(shí)體和生產(chǎn)廠商實(shí)體的屬性。生產(chǎn)廠商:廠商名稱,地址,電話產(chǎn)品:品牌,型號(hào),價(jià)格確定產(chǎn)品和生產(chǎn)廠商之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。一個(gè)生產(chǎn)廠商可以生產(chǎn)多個(gè)產(chǎn)品,一個(gè)產(chǎn)品也可以有很多生產(chǎn)廠商生產(chǎn),所以產(chǎn)品和生產(chǎn)廠商間是m對(duì)多關(guān)系,即m:n確定聯(lián)系本身的屬性。生產(chǎn)畫(huà)出產(chǎn)品與生產(chǎn)廠商關(guān)系的E-R圖。將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出表的關(guān)系模式并標(biāo)明各自的碼。生產(chǎn)廠商(廠商名稱,地址,電話),其碼為:廠商名稱

產(chǎn)品(品牌,型號(hào),價(jià)格),其碼為:品牌,型號(hào)生產(chǎn)(廠商名稱,品牌,型號(hào),數(shù)量,日期),其碼為:廠商名稱,品牌,型號(hào)3)設(shè)計(jì)能夠表示學(xué)校與校長(zhǎng)信息的數(shù)據(jù)庫(kù),其中需要展示學(xué)校信息的學(xué)校編號(hào),學(xué)校名,校長(zhǎng)號(hào),地址和校長(zhǎng)的信息有校長(zhǎng)號(hào),姓名,出生日期。①確定學(xué)校實(shí)體和校長(zhǎng)實(shí)體的屬性。學(xué)校:學(xué)校編號(hào),學(xué)校名,校長(zhǎng)號(hào),地址校長(zhǎng):校長(zhǎng)號(hào),姓名,出生年月②確定學(xué)校和校長(zhǎng)之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。一個(gè)校長(zhǎng)只能管理一個(gè)學(xué)校,一個(gè)學(xué)校只能有一個(gè)校長(zhǎng),所以學(xué)校和校長(zhǎng)是1對(duì)1的聯(lián)系,即1:1③確定聯(lián)系本身的屬性。管理④畫(huà)出學(xué)校與校長(zhǎng)關(guān)系的E-R圖。111學(xué)校校長(zhǎng)校長(zhǎng)號(hào)出生年月學(xué)校編號(hào)姓名校長(zhǎng)號(hào)地址管理學(xué)校名⑤將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出表的關(guān)系模式并標(biāo)明各自的碼或外碼。學(xué)校(學(xué)校編號(hào),學(xué)校名,校長(zhǎng)號(hào),地址),其碼為:學(xué)校編號(hào)校長(zhǎng)(校長(zhǎng)號(hào),姓名,年齡),其碼為:校長(zhǎng)號(hào)4)設(shè)某汽車運(yùn)輸公司想開(kāi)發(fā)車輛管理系統(tǒng),其中,車隊(duì)信息:車隊(duì)號(hào)、車隊(duì)名等;車輛信息有牌照號(hào)、廠家、出廠日期等;司機(jī)信息有司機(jī)編號(hào)、姓名、電話等。

車隊(duì)與司機(jī)之間存在“聘用”聯(lián)系,每個(gè)車隊(duì)可聘用若干司機(jī),但每個(gè)司機(jī)只能應(yīng)聘于一個(gè)車隊(duì),車隊(duì)聘用司機(jī)有“聘用開(kāi)始時(shí)間”和“聘期”兩個(gè)屬性;

車隊(duì)與車輛之間存在“擁有”聯(lián)系,每個(gè)車隊(duì)可擁有若干車輛,但每輛車只能屬于一個(gè)車隊(duì);

司機(jī)與車輛之間存在著“使用”聯(lián)系,司機(jī)使用車輛有“使用日期”和“公里數(shù)”兩個(gè)屬性,每個(gè)司機(jī)可使用多輛汽車,每輛汽車可被多個(gè)司機(jī)使用。

①確定實(shí)體和實(shí)體的屬性。車隊(duì):車隊(duì)號(hào),車隊(duì)名)

車輛:車牌照號(hào),廠家,生產(chǎn)日期

司機(jī):司機(jī)編號(hào),姓名,電話,車隊(duì)號(hào)

②確定實(shí)體之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。車隊(duì)與車輛聯(lián)系類型是1:n,聯(lián)系名稱:擁有,車隊(duì)與司機(jī)聯(lián)系類型是1:n,聯(lián)系名稱為聘用;車輛和司機(jī)聯(lián)系類型為m:n,聯(lián)系名稱為:使用。③確定聯(lián)系本身的屬性。聯(lián)系“聘用”的屬性有“聘用開(kāi)始時(shí)間”和“聘期”兩個(gè)屬性,聯(lián)系“使用“有“使用日期”和“公里數(shù)”兩個(gè)屬性。④畫(huà)出E-R圖。⑤將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出表的關(guān)系模式并標(biāo)明各自的碼。車隊(duì)(車隊(duì)號(hào),車隊(duì)名)

,其碼為:車隊(duì)號(hào);車輛(車牌照號(hào),廠家,生產(chǎn)日期,車隊(duì)號(hào))

,其碼為:車牌照號(hào);司機(jī)(司機(jī)編號(hào),姓名,電話,車隊(duì)號(hào),聘用開(kāi)始時(shí)間,聘期),其碼為:司機(jī)編號(hào)

;使用(司機(jī)編號(hào),車輛號(hào),使用日期,公里數(shù)),其碼為:司機(jī)編號(hào),車輛號(hào)。三、設(shè)計(jì)性實(shí)驗(yàn)1、設(shè)計(jì)能夠表示出顧客與商品關(guān)系的數(shù)據(jù)庫(kù),其中商品信息包括商品編號(hào),商品名稱,產(chǎn)地;顧客信息包括顧客號(hào),地址,商品號(hào)。顧客與商品之間會(huì)產(chǎn)生交易時(shí)間、金額信息。①確定顧客實(shí)體和商品實(shí)體的屬性。②確定顧客和商品之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。③確定聯(lián)系本身的屬性。④畫(huà)出顧客與商品關(guān)系的E-R圖。⑤將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出表的關(guān)系模式并標(biāo)明各自的碼。2、某房產(chǎn)交易公司,需要存儲(chǔ)房地產(chǎn)交易中客戶,業(yè)務(wù)員和合同三者信息的數(shù)據(jù)庫(kù)。其中客戶信息主要有客戶編號(hào),購(gòu)房地址;業(yè)務(wù)員信息有員工號(hào),姓名,年齡;合同信息有合同編號(hào),合同名稱,合同有效時(shí)間。其中,一個(gè)業(yè)務(wù)員可接待多個(gè)客戶,每個(gè)客戶只簽署一個(gè)合同。①確定客戶實(shí)體,業(yè)務(wù)員實(shí)體和合同實(shí)體的屬性。②確定客戶,業(yè)務(wù)員和合同三者之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。③確定聯(lián)系本身的屬性。④畫(huà)出客戶,業(yè)務(wù)員和合同三者關(guān)系E-R圖。將E-R圖轉(zhuǎn)化為關(guān)系模式,寫(xiě)出表的關(guān)系模式并標(biāo)明各自的碼。四、觀察與思考如果有10個(gè)不同的實(shí)體集,它們之間存在著12個(gè)不同的二元聯(lián)系(二元聯(lián)系是指兩個(gè)實(shí)體集之間的聯(lián)系),其中3個(gè)1:1聯(lián)系,4個(gè)1:N聯(lián)系,5個(gè)M:N聯(lián)系,那么根據(jù)ER模型轉(zhuǎn)換成關(guān)系模型的規(guī)則,這個(gè)ER結(jié)構(gòu)轉(zhuǎn)換成的關(guān)系模式個(gè)數(shù)至少有多少個(gè)。

實(shí)驗(yàn)2:關(guān)系的完整性、規(guī)范化理解與應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?)了解關(guān)系模型的基本概念,掌握候選碼和主碼的確定(2)掌握并應(yīng)用完整性規(guī)則(3)掌握關(guān)系規(guī)范化的定義和方法二、驗(yàn)證性實(shí)驗(yàn)1、某同學(xué)開(kāi)發(fā)了X公司員工管理系統(tǒng),其中部門信息表和員工信息表分別見(jiàn)表1和表2。表1部門信息表部門代碼部門名負(fù)責(zé)人地點(diǎn)0001生產(chǎn)部李華江北京海淀0002營(yíng)銷部張麗安徽阜陽(yáng)0003客服部王欣浙江寧波0004財(cái)務(wù)部張克云浙江杭州表2員工信息表員工代碼姓名家庭住址聯(lián)系電話郵政編碼部門代碼201501王梅寧波869609863100060001201302李想阜陽(yáng)854387693100100003201403張麗柳州878935423100170002201104李華江鞍山828498733101010001請(qǐng)你分析:(1)確定部門表和員工表中的候選碼,并陳述理由。部門表:部門代碼,(負(fù)責(zé)人,部門名)理由:部門代碼可以唯一標(biāo)識(shí)一個(gè)部門,負(fù)責(zé)人和部門名也可以唯一標(biāo)識(shí)一個(gè)部門員工表:?jiǎn)T工代碼理由:?jiǎn)T工代碼能唯一標(biāo)識(shí)一個(gè)員工(2)選擇部門表和員工表的關(guān)鍵字。部門表:部門代碼員工表:?jiǎn)T工代碼(3)在部門表和員工表的結(jié)構(gòu)中標(biāo)注主關(guān)鍵字。部門表(部門代碼,部門名,負(fù)責(zé)人,地點(diǎn))員工表(員工代碼,姓名,家庭住址,聯(lián)系電話,郵政編碼,部門代碼)(4)在員工表中確定可能的組合關(guān)鍵字,并陳述理由。員工代碼理由:只有員工代碼能唯一標(biāo)識(shí)一個(gè)員工(5)確定在部門表和員工表中共有的屬性。部門代碼(6)指出哪個(gè)表中的屬性是外關(guān)鍵字。員工表中的部門代號(hào)是外關(guān)鍵字(7)確定哪個(gè)表是主表,哪個(gè)表是從表。主表是員工表,從表是部門表 (8)部門表和員工表是如何通過(guò)關(guān)鍵字實(shí)施數(shù)據(jù)完整性的。部門表中,部門代號(hào)不能為空,這就保證了部門的存在性;員工表中,員工代碼不能為空,這說(shuō)明有這樣的員工;三、設(shè)計(jì)性實(shí)驗(yàn)1、仿照第1題,已知系信息表和學(xué)生信息表分別見(jiàn)表3和表4表3系表系編號(hào)系名系主任聯(lián)系電話0001計(jì)算機(jī)系孫陽(yáng)869609860002軟件工程系胡梅854387690003英語(yǔ)系張政要67893542表4學(xué)生表學(xué)號(hào)名稱性別出生年份系編號(hào)家庭地址1508160001張一橫男19950001北京市海淀區(qū)1508160002歐陽(yáng)妹女19960002北京市昌平區(qū)1508160003張廣女19970002湖南省永州市1508160004李吳男19940003山東省棗莊市1508160005薩日花女19910003天津市南開(kāi)區(qū)1508160006臧男男19980001湖南省衡陽(yáng)市請(qǐng)你分析:(1)確定系表和學(xué)生表中的候選碼,并陳述理由。系表:理由:學(xué)生表:理由:(2)選擇系表和學(xué)生表的主碼。系表:學(xué)生表:(3)在系表和學(xué)生表的結(jié)構(gòu)中用下劃線標(biāo)注主關(guān)鍵字。系表(系編號(hào),系名,負(fù)責(zé)人,聯(lián)系電話)學(xué)生表(學(xué)號(hào),姓名,性別,出生年份,系編號(hào),家庭地址)(4)在學(xué)生表中確定可能的組合關(guān)鍵字,并陳述理由。(5)確定在系表和學(xué)生表中表示相同意思的屬性。系表的屬性和學(xué)生表的屬性(6)指出哪個(gè)表中的哪個(gè)屬性是外關(guān)鍵字,這個(gè)外關(guān)鍵字的存在說(shuō)明了兩張表之間是什么聯(lián)系?(7)確定哪個(gè)表是主表,哪個(gè)表是從表。(8)系表和學(xué)生表應(yīng)如何實(shí)施三種數(shù)據(jù)完整性。系表的實(shí)體完整性應(yīng)怎么實(shí)施:學(xué)生表的實(shí)體完整性應(yīng)怎么實(shí)施:這兩張表中的參照完整性應(yīng)怎么實(shí)施的:2、某同學(xué)設(shè)計(jì)了圖書(shū)在線交易系統(tǒng),設(shè)計(jì)了如下訂單表,請(qǐng)你用規(guī)范化理論將該表進(jìn)行分解,使之滿足3NF的規(guī)范化要求。訂單號(hào)訂戶代號(hào)姓名地址書(shū)號(hào)書(shū)名出版單位單價(jià)訂購(gòu)數(shù)量20150808001U2015003郭倩北京海淀區(qū)17號(hào)03422計(jì)算機(jī)組成原理高教出版社323020150808001U2015003胡東浙江寧波東路8號(hào)04532數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用機(jī)械出版社282020150808001U2015003王梅安徽阜陽(yáng)潁東路6號(hào)01022管理學(xué)原理高教出版社273520150808002U2015004張青遼寧沈陽(yáng)開(kāi)發(fā)區(qū)11號(hào)03421宏觀經(jīng)濟(jì)學(xué)高教出版社356520150808002U2015004歐陽(yáng)寶海南三亞環(huán)城路123號(hào)08785統(tǒng)計(jì)學(xué)人民大學(xué)出版社2934四、觀察與思考 1.有如下所示兩張表:如果向關(guān)系P中插入新行,新行的值分別列出如下。哪些行能夠插入?若不能插入,為什么?表5供應(yīng)商關(guān)系S(主碼是“供應(yīng)商號(hào)”)供應(yīng)商號(hào)供應(yīng)商名所在城市B01紅星北京S10宇宙上海T20黎明天津Z01立新重慶表6零件關(guān)系P(主碼是“零件號(hào)”,外碼是“供應(yīng)商號(hào)”)零件號(hào)顏色供應(yīng)商號(hào)010紅B01312白S10201藍(lán)T20A.(‘037’,‘綠’,null)B.(null,‘黃’,‘T20’)C.(‘201’,‘紅’,‘T20’)D.(‘105’,‘藍(lán)’,‘B01’)E.(‘101’,‘黃’,‘T11’)2.非規(guī)范化數(shù)據(jù)表帶來(lái)的不利影響是什么?實(shí)驗(yàn)3:利用PowerDesigner設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?)了解數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(2)學(xué)會(huì)用PowerDesigner等數(shù)據(jù)庫(kù)設(shè)計(jì)工具經(jīng)行數(shù)據(jù)庫(kù)設(shè)計(jì)(3)學(xué)會(huì)從實(shí)際需求進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)二、驗(yàn)證性實(shí)驗(yàn)1、根據(jù)詳細(xì)步驟完成獎(jiǎng)學(xué)金模塊數(shù)據(jù)庫(kù)設(shè)計(jì)用PowerDesigner軟件設(shè)計(jì)獎(jiǎng)學(xué)金模塊。該模塊的功能設(shè)計(jì)中有4個(gè)實(shí)體,具體信息如下表所示。班級(jí)表(t_class)字段名稱字段說(shuō)明classId班級(jí)號(hào)className班級(jí)名稱classTeacher班主任學(xué)生表(t_stu)字段名稱字段說(shuō)明studentId學(xué)號(hào)name姓名sex性別成績(jī)表(t_grade)字段名稱字段說(shuō)明gradeId成績(jī)單編號(hào)chinese語(yǔ)文maths數(shù)學(xué)extraActivities課外活動(dòng)獎(jiǎng)學(xué)金表(t_scholarship)字段名稱字段說(shuō)明scholarshipId獎(jiǎng)學(xué)金編號(hào)scholarshipName獎(jiǎng)學(xué)金名稱department獎(jiǎng)學(xué)金設(shè)立機(jī)構(gòu)money獎(jiǎng)學(xué)金額度

(1)利用PowerDesigner軟件設(shè)計(jì)概念模型概念模型也稱為信息模型,以ER圖理論為基礎(chǔ),并對(duì)其經(jīng)行了擴(kuò)充。該模型是從用戶的觀點(diǎn)對(duì)信息經(jīng)行建模,主要用于數(shù)據(jù)庫(kù)的概念數(shù)據(jù)模型設(shè)計(jì)。利用PowerDesigner軟件設(shè)計(jì)概念模型時(shí),一般會(huì)經(jīng)過(guò)創(chuàng)建實(shí)體,添加實(shí)體之間的關(guān)系兩個(gè)階段。創(chuàng)建實(shí)體打開(kāi)PowerDesigner軟件,選擇File->NewModel,打開(kāi)NewModel對(duì)話框,然后在該對(duì)話框中選擇“ConceptualDataModel”模型類型,同時(shí)設(shè)置“Modelname”模型名稱的信息,如下圖3-1所示:圖3-1選擇設(shè)計(jì)概念數(shù)據(jù)模型選項(xiàng)單擊Ok后進(jìn)入概念數(shù)據(jù)模型主界面,為了保證概念數(shù)據(jù)模型圖能繪制到一個(gè)表格中,我們要通過(guò)選擇View->ZoomIn命令,對(duì)圖標(biāo)窗口中的表格經(jīng)行放大,如下圖3-2所示,圖3-2在圖表窗口中設(shè)置工作區(qū)為便于查看,我們對(duì)中間的表格進(jìn)行標(biāo)注,方法是通過(guò)選擇Toolbox面板中的FreeSymbols中的Text工具按鈕,對(duì)其標(biāo)注為獎(jiǎng)學(xué)金模塊,如下圖3-3所示。如果沒(méi)找到Toolbox面板,可以通過(guò)選擇菜單View->Toolbox來(lái)調(diào)出Toolbox面板。圖3-3利用Text工具經(jīng)行標(biāo)注接著我們通過(guò)選擇Toolbox中的Entity工具添加班級(jí)實(shí)體,如下圖3-4所示。圖3-4添加班級(jí)實(shí)體雙擊實(shí)體,彈出實(shí)體屬性對(duì)話框EntityProperties。在General選項(xiàng)卡中,設(shè)置用于標(biāo)識(shí)實(shí)體名稱的Name選項(xiàng)為“班級(jí)表”,設(shè)置用于標(biāo)識(shí)實(shí)體代碼的Code選項(xiàng)為“t_class”,設(shè)置用于對(duì)實(shí)體注釋的Comment選項(xiàng)為”這是關(guān)于班級(jí)的表格“,如下圖3-5所示。圖3-5實(shí)體屬性對(duì)話框EntityProperties·單擊用來(lái)設(shè)置實(shí)體屬性的Attributes選項(xiàng)卡,其中Name字段用于標(biāo)識(shí)字段名稱,Code字段用于標(biāo)識(shí)字段代碼,DataType字段、Length字段和Precision字段用于設(shè)置字段的類型。對(duì)班級(jí)表實(shí)體屬性設(shè)置如圖3-6所示:圖3-6實(shí)體屬性對(duì)話框EntityProperties單擊確定,得到最終的關(guān)于班級(jí)的實(shí)體信息如下圖3-7所示。圖3-7最終的班級(jí)實(shí)體下面我們以同樣的方式設(shè)計(jì)”獎(jiǎng)學(xué)金模塊“中的學(xué)生、成績(jī)、獎(jiǎng)學(xué)金實(shí)體如下圖3-8至圖3-13所示:圖3-8學(xué)生實(shí)體普通屬性圖3-9學(xué)生實(shí)體所具有的屬性圖3-10成績(jī)實(shí)體普通屬性圖3-11成績(jī)實(shí)體所具有的屬性圖3-12獎(jiǎng)學(xué)金實(shí)體普通屬性圖3-13獎(jiǎng)學(xué)金實(shí)體所具有的屬性最終,關(guān)于獎(jiǎng)學(xué)金模塊的4個(gè)實(shí)體對(duì)象具體信息如下圖3-14所示。圖3-14獎(jiǎng)學(xué)金模塊的實(shí)體=2\*GB3②添加實(shí)體之間的關(guān)系在數(shù)據(jù)庫(kù)設(shè)計(jì)中,實(shí)體之間存在三種關(guān)系,分別是”一對(duì)一關(guān)系“,”一對(duì)多關(guān)系“,”多對(duì)多關(guān)系“。在此次設(shè)計(jì)中,我們先添加班級(jí)與學(xué)生之間的關(guān)系。選擇Toolbox中的Relationship工具,為創(chuàng)建好的班級(jí)實(shí)體和學(xué)生實(shí)體添加聯(lián)系,如下圖3-15所示:圖3-15為班級(jí)實(shí)體和學(xué)生實(shí)體添加聯(lián)系添加成功后,雙擊關(guān)系圖標(biāo),彈出RelationshipProperties對(duì)話框,設(shè)置班級(jí)實(shí)體與學(xué)生實(shí)體之間的屬性信息。在General選項(xiàng)卡中,設(shè)置用來(lái)標(biāo)識(shí)實(shí)體間關(guān)系名稱的Name選項(xiàng)為班級(jí)學(xué)生關(guān)系,設(shè)置用來(lái)標(biāo)識(shí)實(shí)體間關(guān)系代碼的Code選項(xiàng)為class_stu_r,設(shè)置對(duì)實(shí)體經(jīng)行注釋的Comment選項(xiàng)為班級(jí)與學(xué)生的關(guān)系,如下圖3-16所示:圖3-16關(guān)系普通屬性在Cardinalities選項(xiàng)卡中,存在一個(gè)Cardinalities選項(xiàng)組,可用來(lái)設(shè)置實(shí)體間的各種關(guān)系。班級(jí)與學(xué)生是一對(duì)多關(guān)系,我們選擇One-Many選項(xiàng),如下圖3-17所示圖3-17設(shè)置實(shí)體之間的關(guān)系單擊確定,就設(shè)置好了班級(jí)與學(xué)生實(shí)體之間的關(guān)系,如下圖3-18所示;圖3-18班級(jí)與學(xué)生實(shí)體之間的關(guān)系以同樣的方式創(chuàng)建并設(shè)置其他的實(shí)體之間的關(guān)系。學(xué)生實(shí)體與成績(jī)實(shí)體是一對(duì)一關(guān)系One-One,學(xué)生實(shí)體與獎(jiǎng)學(xué)金實(shí)體是多對(duì)多關(guān)系Many-Many,設(shè)置如下圖3-19至圖3-22所示:圖3-19關(guān)系普通屬性圖3-20設(shè)置實(shí)體之間的關(guān)系圖3-21關(guān)系普通屬性圖3-22設(shè)置實(shí)體之間的關(guān)系至此,關(guān)于獎(jiǎng)學(xué)金模塊的概念模型設(shè)計(jì)完成,如圖3-23所示圖3-23獎(jiǎng)學(xué)金模塊的概念模型(2)利用PowerDesigner軟件轉(zhuǎn)換生成物理數(shù)據(jù)模型物理數(shù)據(jù)模型,就是根據(jù)計(jì)算機(jī)系統(tǒng)的特點(diǎn),為給定的概念數(shù)據(jù)模型確定合理的存儲(chǔ)結(jié)構(gòu)和存取方法。其中合理主要指設(shè)計(jì)出的物理數(shù)據(jù)庫(kù)占用的存儲(chǔ)空間少,對(duì)數(shù)據(jù)庫(kù)上數(shù)據(jù)的操作能有更高的效率。當(dāng)概念數(shù)據(jù)模型設(shè)計(jì)完成后,我們選擇Tool->GeneratePhysicalDataModel命令,彈出”P(pán)DMGenerationOption“對(duì)話框,然后在該對(duì)話框中設(shè)置DBMS為MySQL5.0,同時(shí)設(shè)置name,Code都為scholarshipPDM,如下圖3-24所示:圖3-24選擇設(shè)計(jì)物理數(shù)據(jù)模型選項(xiàng)單擊確定,在物理模型主界面中會(huì)根據(jù)概念模型,結(jié)合所給出的數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)出合理的表和表之間的關(guān)系,具體信息如下圖3-25所示:圖3-25獎(jiǎng)學(xué)金模塊的物理數(shù)據(jù)模型至此,即完成了訂單管理模塊的物理數(shù)據(jù)模型。(3)生成數(shù)據(jù)庫(kù)創(chuàng)建腳本生成物理數(shù)據(jù)模型后,就可以利用PowerDesigner軟件,將其轉(zhuǎn)換為數(shù)據(jù)庫(kù)腳本。打開(kāi)物理數(shù)據(jù)模型scholarshipPDM,選擇Database->GenerateDatabase命令,打開(kāi)GenerateDatabase對(duì)話框,然后在對(duì)話框中設(shè)置數(shù)據(jù)庫(kù)腳本的名稱和位置,如下圖3-26所示:圖3-26設(shè)置數(shù)據(jù)庫(kù)腳本信息對(duì)話框打開(kāi)數(shù)據(jù)庫(kù)腳本文件,具體內(nèi)容如下:/*==============================================================*//*DBMSname:MySQL5.0*//*Createdon:2015/4/1819:14:24*//*==============================================================*/droptableifexistsstu_scholarship_r;droptableifexists"t_scholarship";droptableifexistst_class;droptableifexistst_grade;droptableifexistst_stu;/*==============================================================*//*Table:stu_scholarship_r*//*==============================================================*/createtablestu_scholarship_r(studentIdintnotnull,scholarshipIdintnotnull,primarykey(studentId,scholarshipId));altertablestu_scholarship_rcomment'學(xué)生與獎(jiǎng)學(xué)金之間的關(guān)系';/*==============================================================*//*Table:"t_scholarship"*//*==============================================================*/createtable"t_scholarship"(scholarshipIdintnotnull,scholarshipNamevarchar(20),departmentvarchar(40),moneyfloat(8,2),primarykey(scholarshipId));altertable"t_scholarship"comment'這是關(guān)于獎(jiǎng)學(xué)金信息的表格';/*==============================================================*//*Table:t_class*//*==============================================================*/createtablet_class(classIdintnotnull,classNamevarchar(20),classTeachervarchar(20),primarykey(classId));altertablet_classcomment'關(guān)于班級(jí)的表格';/*==============================================================*//*Table:t_grade*//*==============================================================*/createtablet_grade(gradeIdintnotnull,studentIdint,chinesesmallint,mathssmallint,extraActivitiessmallint,primarykey(gradeId));altertablet_gradecomment'這是關(guān)于成績(jī)的信息';/*==============================================================*//*Table:t_stu*//*==============================================================*/createtablet_stu(studentIdintnotnull,classIdint,gradeIdint,namevarchar(20),sexnumeric(1,0),primarykey(studentId));altertablet_stucomment'這是關(guān)于學(xué)生的信息';altertablestu_scholarship_raddconstraintFK_stu_scholarship_rforeignkey(studentId)referencest_stu(studentId)ondeleterestrictonupdaterestrict;altertablestu_scholarship_raddconstraintFK_stu_scholarship_r2foreignkey(scholarshipId)references"t_scholarship"(scholarshipId)ondeleterestrictonupdaterestrict;altertablet_gradeaddconstraintFK_stu_grade_r2foreignkey(studentId)referencest_stu(studentId)ondeleterestrictonupdaterestrict;altertablet_stuaddconstraintFK_class_stu_rforeignkey(classId)referencest_class(classId)ondeleterestrictonupdaterestrict;altertablet_stuaddconstraintFK_stu_grade_rforeignkey(gradeId)referencest_grade(gradeId)ondeleterestrictonupdaterestrict;三、設(shè)計(jì)性實(shí)驗(yàn)1、用PowerDesigner軟件為在線圖書(shū)銷售系統(tǒng)中的訂單管理模塊設(shè)計(jì)數(shù)據(jù)庫(kù)。該模塊的功能設(shè)計(jì)中有4個(gè)實(shí)體,具體信息如下表所示。用戶表(t_user)字段名稱字段說(shuō)明userId用戶編號(hào)username用戶名sex用戶性別書(shū)籍表(t_book)字段名稱字段說(shuō)明bookId書(shū)籍編號(hào)bookName書(shū)籍名稱bookPrice書(shū)籍價(jià)格訂單表(t_order)字段名稱字段說(shuō)明orderId訂單編號(hào)createTime下單時(shí)間totalPrice訂單總價(jià)格訂單明細(xì)表(t_item)字段名稱字段說(shuō)明itemId訂單明細(xì)編號(hào)bookNumber書(shū)籍?dāng)?shù)量(1)利用PowerDesigner軟件設(shè)計(jì)概念模型。=1\*GB3①創(chuàng)建實(shí)體=2\*GB3②添加屬性=3\*GB3③設(shè)置每個(gè)實(shí)體的主碼=4\*GB3④添加實(shí)體之間的聯(lián)系(2)利用PowerDesigner軟件轉(zhuǎn)換成物理數(shù)據(jù)模型。(3)利用PowerDesigner軟件生成創(chuàng)建數(shù)據(jù)庫(kù)表的SQL腳本,并在MySQL中生成數(shù)據(jù)庫(kù)。2、根據(jù)下面的“交通違章處罰通知書(shū)”設(shè)計(jì)數(shù)據(jù)庫(kù)。圖中顯示一張交通違章處罰通知單,根據(jù)這張通知單所提供的信息,設(shè)計(jì)一個(gè)存儲(chǔ)相關(guān)信息的E-R模型,并將這個(gè)E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型,要求標(biāo)注各關(guān)系模式的主鍵和外鍵(其中:一張違章通知書(shū)可能有多項(xiàng)處罰,例如:警告+罰款)。

圖3-27找出實(shí)體、實(shí)體的屬性、實(shí)體的主碼。找出實(shí)體間的聯(lián)系及聯(lián)系類型。用PowerDesigner畫(huà)出ER圖。選擇MySQL作為DBMS,把ER圖轉(zhuǎn)換成物理模型,根據(jù)日常生活中的情況合理設(shè)置數(shù)據(jù)類型,其中通知書(shū)編號(hào)長(zhǎng)度請(qǐng)參照示例“TZ11719”,警察編號(hào)長(zhǎng)度是3個(gè)字符。在MySQL中創(chuàng)建違章數(shù)據(jù)庫(kù)(wzdb),并利用PowerDesigner生成所有的數(shù)據(jù)表。3、根據(jù)提供的網(wǎng)頁(yè),設(shè)計(jì)數(shù)據(jù)庫(kù)(另外上交打印的報(bào)告)下面所提供的網(wǎng)頁(yè)是關(guān)于圖書(shū)檢索的。圖1中下拉框的數(shù)據(jù)要求從數(shù)據(jù)庫(kù)中讀取。根據(jù)圖1中的檢索條件,在圖2列表中得到符合條件的圖書(shū)列表。圖3-28檢索條件選擇圖3-29圖書(shū)列表(1)用PowerDesigner畫(huà)出ER圖,要求包含網(wǎng)頁(yè)中所需的所有屬性,設(shè)置每個(gè)實(shí)體的主碼。(2)選擇MySQL作為DBMS,轉(zhuǎn)換成物理模型,設(shè)置合理的數(shù)據(jù)類型。(3)生成建表SQL腳本,并在MySQL中創(chuàng)建readbook數(shù)據(jù)庫(kù),并生成相應(yīng)數(shù)據(jù)表。四、觀察與思考(1)使用PowerDesigner將概念模型轉(zhuǎn)換成物理模型后,實(shí)體、屬性、聯(lián)系有哪些變化?(2)PowerDesigner工具中的自動(dòng)的模型轉(zhuǎn)換是否符合模型轉(zhuǎn)換的理論規(guī)則?(3)*嘗試設(shè)計(jì)一個(gè)一對(duì)一的實(shí)體聯(lián)系,看看PowerDesigner工具將如何處理?結(jié)合模型轉(zhuǎn)換的理論規(guī)則,說(shuō)說(shuō)PowerDesigner工具這樣處理是否妥當(dāng)?你是否能想出更有創(chuàng)新的處理辦法?

實(shí)驗(yàn)4:MySQL安裝創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?)掌握在Windows平臺(tái)下安裝與配置MySQL5.7的方法。(2)掌握啟動(dòng)服務(wù)并登錄MySQL5.7數(shù)據(jù)庫(kù)的方法和步驟。(3)了解手工配置MySQL5.7的方法。(4)掌握MySQL數(shù)據(jù)庫(kù)的相關(guān)概念。(5)掌握使用MySQLWorkbench/Navicat等客戶端工具和SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)的方法。(6)掌握使用MySQLWorkbench/Navicat等客戶端工具和SQL語(yǔ)句刪除數(shù)據(jù)庫(kù)的方法。二、實(shí)驗(yàn)內(nèi)容(1)在Windows平臺(tái)下安裝與配置MySQL5.7版。(2)在服務(wù)對(duì)話框中,手動(dòng)啟動(dòng)或者關(guān)閉MySQL服務(wù)。(3)使用Net命令啟動(dòng)或關(guān)閉MySQL服務(wù)。(4)分別用MySQLWorkbench/Navicat等客戶端工具和命令行方式登錄MySQL。(5)在my.ini文件中將數(shù)據(jù)庫(kù)的存儲(chǔ)位置改為D:\MYSQL\DATA,重啟服務(wù)后,然后創(chuàng)建數(shù)據(jù)庫(kù)。(6)創(chuàng)建數(shù)據(jù)庫(kù)。=1\*GB3①使用MySQLWorkbench/Navicat等客戶端工具創(chuàng)建教學(xué)管理數(shù)據(jù)庫(kù)JXGL。=2\*GB3②使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)MyTestDB。(7)查看數(shù)據(jù)庫(kù)屬性。=1\*GB3①在MySQLWorkbench/Navicat等客戶端工具中查看創(chuàng)建后的JXGL數(shù)據(jù)庫(kù)和MyTestDB數(shù)據(jù)庫(kù)的狀態(tài),查看數(shù)據(jù)庫(kù)所在的文件夾。=2\*GB3②利用SHOWDATABASES命令顯示當(dāng)前的所有數(shù)據(jù)庫(kù)。(8)刪除數(shù)據(jù)庫(kù)。=1\*GB3①使用MySQLWorkbench/Navicat等客戶端圖形工具刪除JXGL數(shù)據(jù)庫(kù)。=2\*GB3②使用SQL語(yǔ)句刪除MyTestDB數(shù)據(jù)庫(kù)。=3\*GB3③利用SHOWDATABASES命令顯示當(dāng)前的所有數(shù)據(jù)庫(kù)。三、觀察與思考MySQL的數(shù)據(jù)庫(kù)文件有幾種?擴(kuò)展名分別是什么?

實(shí)驗(yàn)5:數(shù)據(jù)表的創(chuàng)建與修改管理實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1)掌握表的基礎(chǔ)知識(shí)。(2)掌握使用Navicat或其他第三方管理工具和SQL語(yǔ)句創(chuàng)建表的方法。(3)掌握表的修改、查看、刪除等基本操作方法。(4)掌握表中完整性約束的定義。(5)掌握完整性約束的作用二、實(shí)驗(yàn)內(nèi)容(一)表定義與修改操作在schoolInfo數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)teacherInfo表,表結(jié)構(gòu)如下:字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id編號(hào)INT(4)是否是是是num教工號(hào)INT(10)否否是是否name姓名VARCHAR(20)否否是否否sex性別VARCHAR(4)否否是否否birthday出生日期DATETIME否否否否否address家庭住址VARCHAR(50)否否否否否按照下列要求進(jìn)行表定義操作:(1)首先創(chuàng)建數(shù)據(jù)庫(kù)schoolInfo。CREATEDATABASEschoolInfo;(2)創(chuàng)建teacherInfo表。CREATETABLEteacherInfo(idINT(4)NOTNULLUNIQUEPRIMARYKEYAUTO_INCREMENT,numINT(10)NOTNULLUNIQUE,NameVARCHAR(20)NOTNULL,SexVARCHAR(4)NOTNULL,BirthdayDATETIME,AddressVARCHAR(50));(3)將teacherInfo表的name字段的數(shù)據(jù)類型改為VARCHAR(30)。ALTERTABLEteacherInfoMODIFYnameVARCHAR(30)NOTNULL;(4)將birthday寧段的位置改到sex字段的前面。ALTERTABLEteacherInfoMODIFYbirthdayDATETIMEAFTERname;(5)將num字段改名為t_id。ALTERTABLEteacherInfoCHANGEnumtidINT(10)NOTNULL;(6)將teacherInfo表的address字段刪除。ALTERTABLEteacherInfoDROPaddress;(7)在teacherInfo表中增加名為wages的字段,數(shù)據(jù)類型為FLOAT。ALTERTABLEteacherInfoADDwagesFLOAT;(8)將teacherInfo表改名為teacherInfoInfo。ALTERTABLEteacherInfoRENAMEteacherInfolnfo;(9)將teacherInfo表的存儲(chǔ)引擎更改為MyISAM類型。ALTERTABLEteacherInfoENGINE=MyISAM;(二)創(chuàng)建staffinfo數(shù)據(jù)庫(kù),并在定義department表和worker表,完成兩表之間的完整性約束。Department表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增d_id部門號(hào)INT(4)是否是是否d_name部門名VARCHAR(20)否否是是否function部門職能VARCHAR(50)否否否否否address部門位置VARCHAR(20)否否否否否Worker表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id編號(hào)INT(4)是否是是是num員工號(hào)INT(10)否否是是否d_id部門號(hào)INT(4)否是否否否name姓名VARCHAR(20)否否是否否sex性別VARCHAR(4)否否是否否birthday出生日期DATE否否否否否address家庭住址VARCHAR(50)否否否否否按照下列要求進(jìn)行表操作:(1)在staffinfo數(shù)據(jù)庫(kù)下創(chuàng)建department表和worker表。(2)刪除department表。操作如下:(1)創(chuàng)建department表,代碼如下:CREATETABLEdepartment( d_idINT(4)NOTNULLUNIQUEPRIMARYKEY, d_nameVARCHAR(20)NOTNULLUNIQUE, functionVARCHAR(50), addressVARCHAR(50) );(2)創(chuàng)建worker表,代碼如下:CREATETABLEworker( idINT(4)NOTNULLUNIQUEPRIMARYKEYAUTO_INCREMENT, numINT(10)NOTNULLUNIQUE, d_idINT(4), nameVARCHAR(20)NOTNULL, sexVARCHAR(4)NOTNULL, birthdayDATE, addressVARCHAR(50), CONSTRAINTworker_fkFOREIGNKEY(d_id) REFERENCESdepartment(d_id) );(3)刪除department表,代碼如下:DROPTABLEdepartment;(4)刪除worker表的外鍵約束,代碼如下:ALTERTABLEworkerDROPFOREIGNKEYworker_fk;(5)重新刪除department表,代碼如下:DROPTABLEdepartment;三、觀察與思考1、關(guān)于NOTNULL(1)在定義基本表語(yǔ)句時(shí),NOTNULL參數(shù)的作用是什么?(2)主碼列修改成允許NULL能否操作?為什么?2、關(guān)于外碼(1)根據(jù)下面設(shè)計(jì)的表結(jié)構(gòu),Employee表的外鍵能否設(shè)置成功?思考外碼設(shè)置需要注意哪些問(wèn)題?Department表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵dno部門號(hào)INT(4)dname部門名VARCHAR(20)Employee表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵eno員工號(hào)INT(10)dno所在部門號(hào)Char(10)√name姓名VARCHAR(20)(2)如果主表無(wú)數(shù)據(jù),從表的數(shù)據(jù)能輸入嗎?(3)先創(chuàng)建從表,再創(chuàng)建主表是否可以?3、關(guān)于主碼和唯一約束(1)唯一約束列是否允許NULL值?(2)一張表可以設(shè)置幾個(gè)主碼,可以設(shè)置幾個(gè)唯一約束?

實(shí)驗(yàn)6:MySQL數(shù)據(jù)庫(kù)表的數(shù)據(jù)插入、修改、刪除操作實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.掌握MySQL數(shù)據(jù)庫(kù)表的數(shù)據(jù)插入、修改、刪除操作SQL語(yǔ)法格式2.掌握數(shù)據(jù)表的數(shù)據(jù)的錄入、增加和刪除的方法二、驗(yàn)證性實(shí)驗(yàn)1.學(xué)校教師管理數(shù)據(jù)庫(kù)中的teacherInfo表,其表的定義如下表所示,請(qǐng)完成如下操作。字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增num教工號(hào)INT(10)是否是是否name姓名VARCHAR(20)否否是否否sex性別VARCHAR(4)否否是否否birthday出生日期DATETIME否否否否否address家庭住址VARCHAR(50)否否否否否(1)向teacherInfo表中插入記錄。寫(xiě)出INSERT語(yǔ)句的INSERTINTOteacherInfoVALUES(1001,'張龍','男','1984-11-08','北京市昌平區(qū)');INSERTINTOteacherInfoVALUES(1002,'李梅','女','1970-01-21','北京市海淀區(qū)');INSERTINTOteacherInfoVALUES(1003,'王一豐','男','1976-10-30','北京市昌平區(qū)');INSERTINTOteacherInfoVALUES(1004,'趙六','男','1980-06-05','北京市順義區(qū)');(2)更新教工號(hào)為1003的記錄,將生日(birthday)改為“1982-11-08”。UPDATE語(yǔ)句的UPDATEteacherInfoSETbirthday='1982-11-08'WHEREnum=1003;(3)將性別(sex)為“男”的記錄的家庭住址(address)都變?yōu)椤氨本┦谐?yáng)區(qū)”。UPDATE語(yǔ)句的UPDATEteacherInfoSETaddress='北京市朝陽(yáng)區(qū)'WHEREsex='男';(4)刪除教工號(hào)(num)為1002的記錄刪除。DELETE語(yǔ)句的DELETEFROMteacherInfoWHEREnum=1002;三、設(shè)計(jì)性試驗(yàn)?zāi)吵械氖称饭芾淼臄?shù)據(jù)庫(kù)的Food表,F(xiàn)ood表的定義如表所示,請(qǐng)完成插入數(shù)據(jù)、更新數(shù)據(jù)和刪除數(shù)據(jù)。Food表的定義字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增foodid食品編號(hào)INT(4)是否是是是Name食品名稱VARCHAR(20)否否是否否Company生產(chǎn)廠商VARCHAR(30)否否是否否Price價(jià)格(單位:元)FLOAT否否是否否Product_time生產(chǎn)年份YEAR否否否否否Validity_time保質(zhì)期(單位:年)INT(4)否否否否否address廠址VARCHAR(50)否否否否否按照下列要求進(jìn)行操作:(1)采用3種方式,將表的記錄插入到Food表中。方法一:不指定具體的字段,插入數(shù)據(jù):'QQ餅干','QQ餅干廠',2.5,'2018',3,'北京'。方法二:依次指定food表的字段,插入數(shù)據(jù):'MN牛奶','MN牛奶廠',3.5,'2019',1,'河北')。方法三:同時(shí)插入多條記錄,插入數(shù)據(jù): 'EE果凍','EE果凍廠',1.5,'2017',2,'北京', 'FF咖啡','FF咖啡廠',20,'2012',5,'天津', 'GG奶糖','GG奶糖',14,'2013',3,'廣東';分別寫(xiě)出相應(yīng)語(yǔ)句。(2)將“MN牛奶廠”的廠址(address)改為“內(nèi)蒙古”,并且將價(jià)格改為3.2。(3)將廠址在北京的公司的保質(zhì)期(validity_time)都改為5年。(4)刪除過(guò)期食品的記錄。若當(dāng)前時(shí)間-生產(chǎn)年份(producetime)>保質(zhì)期(validity_time),則視為過(guò)期食品。(5)刪除廠址為“北京”的食品的記錄。四、觀察與思考1.對(duì)于刪除的數(shù)據(jù),如何實(shí)現(xiàn)”邏輯刪除“(即數(shù)據(jù)庫(kù)中的數(shù)據(jù)不刪除,給用戶的感覺(jué)是刪除了)?2.DROP命令和DELETE命令的本質(zhì)區(qū)別是什么?3.利用INSERT、UPDATE和DELETE命令可以同時(shí)對(duì)多個(gè)表進(jìn)行操作嗎?實(shí)驗(yàn)7:MySQL數(shù)據(jù)庫(kù)表數(shù)據(jù)的查詢操作實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.掌握SELECT語(yǔ)句的基本語(yǔ)法格式。2.掌握SELECT語(yǔ)句的執(zhí)行方法。3.掌握SELECT語(yǔ)句的GROUPBY和ORDERBY子句的作用。二、驗(yàn)證性實(shí)驗(yàn)題目要求:在公司的部門員工管理數(shù)據(jù)庫(kù)的bumen表和yuangong表上進(jìn)行信息查詢。Bumen表和yuangong表的定義如表所示。表bumen表的定義字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增d_id部門號(hào)INT(4)是否是是否d_name部門名稱VARCHAR(20)否否是是否function部門職能VARCHAR(20)否否否否否address工作地點(diǎn)VARCHAR(30)否否否否否表yuangong表的定義字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id員工號(hào)INT(4)是否是是否name姓名VARCHAR(20)否否是否否sex性別VARCHAR(4)否否是否否birthday年齡INT(4)否否否否否d_id部門號(hào)VARCHAR(20)否是是否否salary工資Float否否否否否address家庭住址VARCHAR(50)否否否否否bumen表的練習(xí)數(shù)據(jù):1001,'人事部','人事管理','北京'1002,'科研部','研發(fā)產(chǎn)品','北京'1003,'生產(chǎn)部','產(chǎn)品生產(chǎn)','天津'1004,'銷售部','產(chǎn)品銷售','上海'yuangong表的練習(xí)數(shù)據(jù):8001,'韓鵬','男',25,1002,4000,'北京市海淀區(qū)'8002,'張峰','男',26,1001,2500,'北京市昌平區(qū)'8003,'歐陽(yáng)','男',20,1003,1500,'湖南省永州市'8004,'王武','男',30,1001,3500,'北京市順義區(qū)'8005,'歐陽(yáng)寶貝','女',21,1002,3000,'北京市昌平區(qū)'8006,'呼延','男',28,1003,1800,'天津市南開(kāi)區(qū)'然后在bumen表和yuangong表查詢記錄。查詢的要求如下:(1)查詢yuangong表的所有記錄。SELECT*FROMyuangong;或者列出yuangong表的所有字段名稱。SELECTid,name,sex,age,d_id,salary,addressFROMyuangong;(2)查詢yuangong表的第四條到第五條記錄。SELECTid,name,sex,age,d_id,salary,addressFROMyuangongLIMIT3,2;(3)從bumen表查詢部門號(hào)(d_id)、部門名稱(d_name)和部門職能(function)。SELECTd_id,d_name,functionFROMyuangong;(4)從yuangong表中查詢?nèi)耸虏亢涂蒲胁康膯T工的信息。先從bumen表查詢出人事部和科研部的部門號(hào)。然后到y(tǒng)uangong表中去查詢員工的信息。SELECT*FROMyuangong WHEREd_id=ANY( SELECTd_idFROMbumen WHEREd_nameIN('人事部','科研部'));或者使用下面的代碼。SELECT*FROMyuangong WHEREd_idIN( SELECTd_idFROMbumen WHEREd_name='人事部'ORd_name='科研部');(5)從yuangong表中查詢年齡在25到30之間的員工的信息??梢酝ㄟ^(guò)兩種方式來(lái)查詢。第一種方式:SELECT*FROMyuangongWHEREageBETWEEN25AND30;第二種方式:SELECT*FROMyuangongWHEREage>=25ANDage<=30;(6)查詢每個(gè)部門有多少員工。先按部門號(hào)進(jìn)行分組,然后用COUNT()函數(shù)來(lái)計(jì)算每組的人數(shù)。SELECTd_id,COUNT(id)FROMyuangongGROUPBYd_id;或者給COUNT(id)取名為sum。SELECTd_id,COUNT(id)ASsumFROMyuangongGROUPBYd_id;(7)查詢每個(gè)部門的最高工資。先按部門號(hào)進(jìn)行分組,然后用MAX()函數(shù)來(lái)計(jì)算最大值。SELECTd_id,MAX(salary)FROMyuangongGROUPBYd_id;(8)用左連接的方式查詢bumen表和yuangong表。使用LEFTJOINON來(lái)實(shí)現(xiàn)左連接。SELECTbumen.d_id,d_name,function,bumen.address,id,name,age,sex, salary,yuangong.address FROMbumenLEFTJOINyuangongONyuangong.d_id=bumen.d_id;(9)計(jì)算每個(gè)部門的總工資。先按部門號(hào)進(jìn)行分組,然后用SUM()函數(shù)來(lái)求和。SELECTd_id,SUM(salary)FROMyuangongGROUPBYd_id;(10)查詢yuangong表,按照工資從高到低的順序排列。SELECT*FROMyuangongORDERBYsalaryDESC;(11)從bumen表和yuangong表中查詢出部門號(hào),然后使用UNION合并查詢結(jié)果。SELECTd_idFROMyuangongUNIONSELECTd_idFROMbumen;(12)查詢家是北京市員工的姓名、年齡、家庭住址。這里使用LIKE關(guān)鍵字。SELECTname,age,addressFROMyuangongWHEREaddressLIKE'北京%';三、設(shè)計(jì)性試驗(yàn)將在student表和score表上進(jìn)行查詢。Student表和score表的定義如表所示:Student表的內(nèi)容字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增Num學(xué)號(hào)INT(10)是否是是否name姓名VARCHAR(20)否否是否否Sex性別VARCHAR(4)否否是否否birthday出生年份DATETIME否否否否否bumen院系VARCHAR(20)否否是否否address家庭住址VARCHAR(50)否否否否否score表的內(nèi)容字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增Id編號(hào)INT(10)是否是是否C_name課程名VARCHAR(20)否否否否否Stu_id學(xué)號(hào)INT(10)否是是否否grade成績(jī)INT(10)否否否否否表創(chuàng)建成功后,查看兩個(gè)表的結(jié)構(gòu)。Student練習(xí)數(shù)據(jù)如下:901,'張軍','男',1985,'計(jì)算機(jī)系','北京市海淀區(qū)'902,'張超','男',1986,'中文系','北京市昌平區(qū)'903,'張美','女',1990,'中文系','湖南省永州市'904,'李五一','男',1990,'英語(yǔ)系','遼寧省阜新市'905,'王芳','女',1991,'英語(yǔ)系','福建省廈門市'906,'王桂','男',1988,'計(jì)算機(jī)系','湖南省衡陽(yáng)市'score表練習(xí)數(shù)據(jù)如下:901,'計(jì)算機(jī)',98901,'英語(yǔ)',80902,'計(jì)算機(jī)',65902,'中文',88903,'中文',95904,'計(jì)算機(jī)',70904,'英語(yǔ)',92905,'英語(yǔ)',94906,'計(jì)算機(jī)',90906,'英語(yǔ)',85然后按照下列要求進(jìn)行表操作:(1)查詢student表的所有記錄。方法一:用”*“。方法二:列出所有的列名。(2)查詢student表的第二條到第四條記錄。(3)從student表查詢所有學(xué)生的學(xué)號(hào)、姓名和院系的信息。(4)查詢計(jì)算機(jī)系和英語(yǔ)系的學(xué)生的信息。方法一:使用IN關(guān)鍵字方法二:使用OR關(guān)鍵字(5)從student表中查詢年齡為18到22歲的學(xué)生的信息。方法一:使用BETWEENAND關(guān)鍵字來(lái)查詢方式二:使用AND關(guān)鍵字和比較運(yùn)算符。(6)student表中查詢每個(gè)院系有多少人,為統(tǒng)計(jì)的人數(shù)列取別名sum_of_bumen。(7)從score表中查詢每個(gè)科目的最高分。(8)查詢李五一的考試科目(c_name)和考試成績(jī)(grade)。(9)用連接查詢的方式查詢所有學(xué)生的信息和考試信息。(10)計(jì)算每個(gè)學(xué)生的總成績(jī)(需顯示學(xué)生姓名)。(12)計(jì)算每個(gè)考試科目的平均成績(jī)。(13)查詢計(jì)算機(jī)成績(jī)低于95的學(xué)生的信息。(14)查詢同時(shí)參加計(jì)算機(jī)和英語(yǔ)考試的學(xué)生的信息。(15)將計(jì)算機(jī)成績(jī)按從高到低進(jìn)行排序。(16)從student表和score表中查詢出學(xué)生的學(xué)號(hào),然后合并查詢結(jié)果。(17)查詢姓張或者姓王的同學(xué)的姓名、院系、考試科目和成績(jī)。(18)查詢都是湖南的同學(xué)的姓名、年齡、院系、考試科目和成績(jī)。四、觀察與思考1、LIKE的通配符有哪些?分別代表什么含義?2、知道學(xué)生的出生日期,如何求出其年齡?3、IS能用“=”來(lái)代替嗎?如何周全地考慮“空數(shù)據(jù)”的情況?4、關(guān)鍵字ALL和DISTINCT有什么不同的含義?關(guān)鍵字ALL是否可以省略不寫(xiě)?5、聚集函數(shù)能否直接使用在SELECT子句、HAVING子句、WHERE子句、GROUPBY子句中?6、WHERE子句與HAVING子句有何不同?7、count(*)、count(列名)、count(distinct列名)三者的區(qū)別是什么?通過(guò)一個(gè)實(shí)例說(shuō)明。8、內(nèi)連接與外連接有什么區(qū)別?9、“=”與IN在什么情況下作用相同?

實(shí)驗(yàn)8:索引創(chuàng)建與管理操作一、實(shí)驗(yàn)?zāi)康模?1)理解索引的概念與類型。(2)掌握創(chuàng)建、更改、刪除索引的方法。(3)掌握維護(hù)索引的方法。二、驗(yàn)證性實(shí)驗(yàn)在job數(shù)據(jù)庫(kù)中有登錄用戶信息:userlogin表和個(gè)人信息:information表。具體如表結(jié)構(gòu)所示。USERLOGIN表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id編號(hào)INT(4)是否是是是name用戶名VARCHAR(20)否否是否否Password密碼VARCHAR(20)否否是否否info附加信息TEXT否否否否否information表的結(jié)構(gòu)字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id編號(hào)INT(4)是否是是是Name姓名VARCHAR(20)否否是否否Sex性別VARCHAR(4)否否是否否Birthday出生日期DATE否否否否否Address家庭地址VARCHAR(50)否否否否否Tel電話號(hào)碼VARCHAR(20)否否否否否pic照片BLOB否否否否否請(qǐng)?jiān)谏鲜?表上完成如下操作:1、在name字段創(chuàng)建名為index_name的索引CREATEINDEXindex_nameONinformation(name(10));2、創(chuàng)建名為index_bir的多列索引CREATEINDEXindex_birONinformation(birthday,address);3、用ALTERTABLE語(yǔ)句創(chuàng)建名為index_id的惟一性索引ALTERTABLEinformationADDINDEXindex_id(idASC);4、刪除userlogin表上的index_userlogin索引DROPINDEXindex_userloginONuserlogin;5、查看userlogin表的結(jié)構(gòu)SHOWCREATETABLEuserlogin;6、刪除information表上的index_name索引DROPINDEXindex_nameONinformation;7、查看information表的結(jié)構(gòu)SHOWCREATETABLEinformation;三、設(shè)計(jì)性試驗(yàn)在數(shù)據(jù)庫(kù)job下創(chuàng)建worklnfo表。創(chuàng)建表的同時(shí)在id字段上創(chuàng)建名為index_id的唯一性索引,而且以降序的格式排列。Worklnfo表結(jié)構(gòu)信息如下:字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增id編號(hào)INT(4)是否是是是Name職位名稱VARCHAR(20)否否是否否Type職位類型VARCHAR(10)否否否否否Address工作地點(diǎn)VARCHAR(50)否否否否否Wages工資YEAR否否否否否Contents工作內(nèi)容TINYTEXT否否否否否extra附加信息TEXT否否否否否請(qǐng)完成如下操作:1、使用CREATEINDEX語(yǔ)句為name字段創(chuàng)建長(zhǎng)度為10的索引index_name。2、使用ALTERTABLE語(yǔ)句在type和address上創(chuàng)建名為index_t的索引。3、使用ALTERTABLE語(yǔ)句將workInfo表的存儲(chǔ)引擎更改為MyISAM類型。4、使用ALTERTABLE語(yǔ)句在extra字段上創(chuàng)建名為index_ext的全文索引。5、使用DROP語(yǔ)句刪除workInfo表的惟一性索引index_id。四、觀察與思考(1)數(shù)據(jù)庫(kù)中索引被破壞后會(huì)產(chǎn)生什么結(jié)果?(2)視圖上能創(chuàng)建索引嗎?(3)MySQL中組合索引創(chuàng)建的原則是什么?(4)主鍵約束和唯一約束是否會(huì)默認(rèn)創(chuàng)建唯一索引?

實(shí)驗(yàn)9:視圖創(chuàng)建與管理實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.理解視圖的概念。2.掌握創(chuàng)建、更改、刪除視圖的方法。3.掌握使用視圖來(lái)訪問(wèn)數(shù)據(jù)的方法。二、驗(yàn)證性實(shí)驗(yàn)在job數(shù)據(jù)庫(kù)中,有聘任人員信息表:Work_lnfo表,其表結(jié)構(gòu)如下表所示:字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增Id編號(hào)INT(4)是否是是否Name名稱VARCHAR(20)否否是否否Sex性別VARCHAR(4)否否是否否Age年齡INT(4)否否否否否Address家庭地址VARCHAR(50)否否否否否Tel電話號(hào)碼VARCHAR(20)否否否否否其中表中練習(xí)數(shù)據(jù)如下:1.'張明','男',19,'北京市朝陽(yáng)區(qū)','1234567'2.'李廣','男',21,'北京市昌平區(qū)','2345678'3.'王丹','女',18,'湖南省永州市','3456789'4.'趙一枚','女',24,'浙江寧波市','4567890'按照下列要求進(jìn)行操作:1.創(chuàng)建視圖info_view,顯示年齡大于20歲的聘任人員id,name,sex,address信息。CREATEVIEWinfo_view(id,name,sex,address)ASSELECTid,name,sex,addressFROMwork_infoWHEREage>20 WITHLOCALCHECKOPTION;2.查看視圖info_view的基本結(jié)構(gòu)和詳細(xì)結(jié)構(gòu)。查看基本結(jié)構(gòu):DESCinfo_view;查看詳細(xì)結(jié)構(gòu):SHOWCREATEVIEWinfo_view;3.查看視圖info_view的所有記錄。SELECT*FROMinfo_view;4.修改視圖info_view,滿足年齡小于20歲的聘任人員id,name,sex,address信息。ALTERVIEWinfo_view(id,name,sex,address)ASSELECTid,name,sex,address FROMwork_infoWHEREage<20WITHLOCALCHECKOPTION;5.更新視圖,將id號(hào)為3的聘任員的性別,由“男“改為“女”。UPDATEinfo_viewSETsex='女'WHEREid=3;6.刪除info_view視圖。DROPVIEWinfo_view;三、設(shè)計(jì)性試驗(yàn)在學(xué)生管理系統(tǒng)中,有學(xué)生信息表studentinfo表,其表結(jié)構(gòu)如下:字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增Number學(xué)號(hào)INT(4)是否是是否Name姓名VARCHAR(20)否否是否否Major專業(yè)VARCHAR(20)否否否否否age年齡INT(4)否否否否否請(qǐng)完成如下操作:1.使用CREATEVIEW語(yǔ)句來(lái)創(chuàng)建視圖college_view,顯示studentinfo表中的number,name,age,major,并將字段名顯示為:student_num,student_name,student_age,department。2.執(zhí)行SHOWCREATEVIEW語(yǔ)句來(lái)查看視圖的詳細(xì)結(jié)構(gòu)。3.更新視圖。向視圖中插入如下3條記錄:0901,'張三',20,'外語(yǔ)'0902,'李四',22,'計(jì)算機(jī)'0903,'王五',19,'計(jì)算機(jī)'4.修改視圖,使視圖中只顯示專業(yè)為“計(jì)算機(jī)”的信息。5.刪除視圖。四、觀察與思考1.通過(guò)視圖中插入的數(shù)據(jù)能進(jìn)入到基本表中去嗎?2.WITHCHECKOPTION能起什么作用?3.修改基本表的數(shù)據(jù)會(huì)自動(dòng)反映到相應(yīng)的視圖中去嗎?4.哪些視圖中的數(shù)據(jù)不可以增刪改操作?

實(shí)驗(yàn)10:存儲(chǔ)過(guò)程與函數(shù)的創(chuàng)建管理實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?.理解存儲(chǔ)過(guò)程和函數(shù)的概念。2.掌握創(chuàng)建存儲(chǔ)過(guò)程和函數(shù)的方法。3.掌握?qǐng)?zhí)行存儲(chǔ)過(guò)程和函數(shù)的方法。4.掌握游標(biāo)的定義、使用方法。二、驗(yàn)證性實(shí)驗(yàn)1.某超市的食品管理的數(shù)據(jù)庫(kù)的Food表,F(xiàn)ood表的定義如表所示,F(xiàn)ood表的定義字段名字段描述數(shù)據(jù)類型主鍵外鍵非空唯一自增foodid食品編號(hào)INT(4)是否是是是Name食品名稱VARCHAR(20)否否是否否Company生產(chǎn)廠商VARCHAR(30)否否是否否Price價(jià)格(單位:元)FLOAT否否是否否Product_time生產(chǎn)年份YEAR否否否否否Validity_time保質(zhì)期(單位:年)INT(4)否否否否否address廠址VARCHAR(50)否否否否否各列有如下數(shù)據(jù):'QQ餅干','QQ餅干廠',2.5,'2008',3,'北京''MN牛奶','MN牛奶廠',3.5,'2009',1,'河北''EE果凍','EE果凍廠',1.5,'2007',2,'北京''FF咖啡','FF咖啡廠',20,'2002',5,'天津''GG奶糖','GG奶糖',14,'2003',3,'廣東'(1)在food表上創(chuàng)建名為Pfood_price_count的存儲(chǔ)過(guò)程。其中存儲(chǔ)過(guò)程Pfood_price_count有3個(gè)參數(shù)。輸入?yún)?shù)為price_infol和price_info2,輸出參數(shù)為count。存儲(chǔ)過(guò)程的滿足:查詢food表中食品單價(jià)高于price_infol且低于price_info2的食品種數(shù),然后由count參數(shù)來(lái)輸出,并且計(jì)算滿足條件的單價(jià)的總和。代碼如下://使用“DELIMITER&&”將SQL語(yǔ)句的結(jié)束符號(hào)變成&&DELIMITER&&CREATEPROCEDUREPfood_price_count(INprice_info1FLOAT,INprice_info2FLOAT,OUTcountINT)READSSQLDATABEGIN//定義變量temp DECLAREtempFLOAT;//定義游標(biāo)match_price DECLAREmatch_priceCURSORFORSELECTpriceFROMfood;//定義條件處理。如果沒(méi)有遇到關(guān)閉游標(biāo),舊退出存儲(chǔ)過(guò)程 DECLAREEXITHANDLERFORNOTFOUNDCLOSEmatch_price;//為臨時(shí)變量sum賦值 SET@sum=0;//用SELECT…INTO語(yǔ)句來(lái)為輸出變量count賦值 SELECTCOUNT(*)INTOcountFROMfood WHEREprice>price_info1ANDprice<price_info2;//打開(kāi)游標(biāo) OPENmatch_price;//執(zhí)行循環(huán) REPEAT//使用游標(biāo)match_price FETCHmatch_priceINTOtemp;//執(zhí)行條件語(yǔ)句 IFtemp>price_info1ANDtemp<price_info2 THENSET@sum=@sum+temp; ENDIF;//結(jié)束循環(huán) UNTIL0ENDREPEAT;//關(guān)閉游標(biāo) CLOSEmatch_price;END&&//將SQL語(yǔ)句的結(jié)束符號(hào)變成“;”DELIMITER;(2)使用CALL語(yǔ)句來(lái)調(diào)用存儲(chǔ)過(guò)程。查詢價(jià)格在2至18之間的食品種數(shù)。代碼如下:CALLPfood_price_count(2,18,@count);(3)使用SELECT語(yǔ)句查看結(jié)果。代碼如下:SELECT@count,@sum;其中,count是存儲(chǔ)過(guò)程的輸出結(jié)果:sum是存儲(chǔ)過(guò)程中的變量,sum中的值滿足足條件的單價(jià)的總和。(4)使用DROP語(yǔ)句刪除存儲(chǔ)過(guò)程Pfood_price_count。代碼如下:DROPPROCEDUREPfood_price_count;(5)使用存儲(chǔ)函數(shù)來(lái)實(shí)現(xiàn)(1)的要求。存儲(chǔ)函數(shù)的代碼如下:DELIMITER&&CREATEFUNCTIONPfood_price_count1(price_info1FLOAT,price_info2FLOAT) RETURNSINTREADSSQLDATA BEGIN RETURN(SELECTCOUNT(*)FROMfood WHEREprice>price_info1ANDprice<price_info2); END&&DELIMITER;(6)調(diào)用存儲(chǔ)函數(shù)SELECTPfood_price_count1(2,18);(7)刪除存儲(chǔ)函數(shù)DROPFUNCTIONPfood_price_count1;注:存儲(chǔ)函數(shù)只能返回一個(gè)值,所以只實(shí)現(xiàn)了計(jì)算滿足條件的食品種數(shù)。使用RETURN來(lái)將計(jì)算的食品種數(shù)返回回來(lái)。調(diào)用存

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論