云南大學(xué)數(shù)據(jù)庫期末大作業(yè)數(shù)據(jù)庫設(shè)計(jì)_第1頁
云南大學(xué)數(shù)據(jù)庫期末大作業(yè)數(shù)據(jù)庫設(shè)計(jì)_第2頁
云南大學(xué)數(shù)據(jù)庫期末大作業(yè)數(shù)據(jù)庫設(shè)計(jì)_第3頁
云南大學(xué)數(shù)據(jù)庫期末大作業(yè)數(shù)據(jù)庫設(shè)計(jì)_第4頁
云南大學(xué)數(shù)據(jù)庫期末大作業(yè)數(shù)據(jù)庫設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、云南大學(xué)軟件學(xué)院實(shí)驗(yàn)報(bào)告課程:數(shù)據(jù)庫原理與實(shí)用技術(shù)實(shí)驗(yàn)學(xué)期:任課教師:專業(yè):學(xué)號(hào):姓名:成績(jī):期末大作業(yè):ElectronicVentor數(shù)據(jù)庫設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?1)掌握數(shù)據(jù)庫設(shè)計(jì)的基本方法(2)掌握各種數(shù)據(jù)庫對(duì)象的設(shè)計(jì)方法(3)熟練掌握DBA必須具備的技能二、實(shí)驗(yàn)內(nèi)容1、根據(jù)項(xiàng)目的應(yīng)用和項(xiàng)目的需求說明文檔,進(jìn)行詳細(xì)的需求分析,給出需求分析的結(jié)果。(1)客戶可以在網(wǎng)站上注冊(cè),注冊(cè)的客戶要提供客戶的姓名、電話、地址,以方便售后和聯(lián)系,姓名即作為用戶名,和密碼一起用于注冊(cè)和登錄,客戶編號(hào)可唯一識(shí)別用戶,卡號(hào)可網(wǎng)上支付。其中地址、電話以方便聯(lián)系和寄貨;(2)網(wǎng)站管理員可以登記各種商品,供客戶查詢,訂

2、購。登記商品時(shí)要提供商品的名稱、價(jià)格,商店中現(xiàn)有商品量,商品編號(hào)可唯一識(shí)別商品;(3)類別表示商品所屬類別,類別編號(hào)可唯一識(shí)別類別,其中包含了,商品類別名稱和制造廠商,可以對(duì)商品進(jìn)行分類售賣;(4)客戶可以在網(wǎng)上下訂單,也可以到實(shí)體店購物,其在訂單上所選擇的支付方式不同(信用卡、借記卡、現(xiàn)金,現(xiàn)金代表實(shí)體店購物),網(wǎng)站管理員可以查看訂單,并及時(shí)將訂單的處理情況更新(比如貨物已寄出的信息,訂單狀態(tài):0:未處理,1:已處理,2:已發(fā)貨);訂單編號(hào)可唯一識(shí)別訂單,訂單中包含訂單產(chǎn)生時(shí)間,訂單狀態(tài),支付方式和支付總額;(5)實(shí)體商店有自己的店名,賣多種商品,每個(gè)商店都有固定的地址,顧客可以到店中買商品

3、,(注:在實(shí)體店中購買商品的顧客一律將顧客名默認(rèn)為佚名),當(dāng)商店中的庫存量小于10時(shí)會(huì)有提醒到倉庫中拿貨;(6)配送單中包含查詢號(hào)可唯一識(shí)別配送單,配送人,聯(lián)系方式;(7)倉庫中倉庫編號(hào)可唯一識(shí)別倉庫,其中每個(gè)倉庫都有區(qū)號(hào),代表其地址。(8)各實(shí)體向關(guān)系1) 一個(gè)客戶可以購買多種商品,一種商品可以被多個(gè)客戶購買;2) 一個(gè)商品屬于且僅屬于一種類別,一種類別的商品可以包含多個(gè)商品或沒有;3) 一種商品放在多個(gè)商店中銷售,一個(gè)商店至少銷售一種或銷售多種商品;4) 一個(gè)訂單對(duì)應(yīng)一個(gè)客戶,一個(gè)客戶對(duì)應(yīng)多個(gè)訂單;5) 一個(gè)訂單對(duì)應(yīng)至少有一件商品或多件,一個(gè)商品對(duì)應(yīng)多個(gè)訂單;6) 一個(gè)訂單可以有一個(gè)商品配

4、送單7) 一個(gè)倉庫可以存放多種商品,一種商品可以存放在一個(gè)倉庫;2、數(shù)據(jù)庫邏輯設(shè)計(jì):用文字簡(jiǎn)要描述實(shí)體之間的聯(lián)系,畫出E-R圖(標(biāo)出各聯(lián)系中實(shí)體的基數(shù))羯:號(hào) dVar j kb 】 cJmr勝彥 1: ar b (51S碼博址號(hào)-一士_-.三Vuiablt Ehurtcttri 5?.g*iEB,tle, zlkars.ciers 1 15 Nhi Sx (11JYaz-iatle z.haSzt*Tfi .It ?ZkuractiTi (20)窖口黃號(hào)魯直卷關(guān)汜尸?:r-.Hr-二.一支訂.-Hr t .工二 -:zDute & Tim=V&riable thu之 魚(5Float客戶-商

5、品:n-n;商品-類別:n-1;商品-商店:n-n;客戶-訂單:1-n;訂單-商品:1-n;訂單-配送當(dāng):1-1;倉庫-商品:1-n3、數(shù)據(jù)庫物理設(shè)計(jì):將E-R圖轉(zhuǎn)換為數(shù)據(jù)表。需要給出詳細(xì)的轉(zhuǎn)換規(guī)則,對(duì)應(yīng)生成的表,屬性(主屬性、描述性屬性,多值屬性,符合屬性等),主鍵,外鍵,約束(取值是否NULL等),索引(三種類型的索引至少每種出現(xiàn)一次)等。7一三一5.-vurc ur i5)VBTGMT 151 ni3ie-?iE 11 DEd1ax 附eka- 2 白宜岳符號(hào)金惠inteccT float宜* 號(hào) vueur 10- 訂用材W iiatf t 二4 史利若式EFcJlU 斤三根春nizn

6、rriz 感里 floa-t在客戶,配送單,類別中建立索引,有店金鵬靖號(hào)v1mkacOJW 啊區(qū)號(hào) vckar(5)語句在 4題中如3中,有2個(gè)n-n關(guān)系,分生成訂購表和銷售表4、SQL中創(chuàng)建語句的使用:根據(jù)第二步中的結(jié)果,將相應(yīng)的表,屬性,主鍵,外鍵,約束等使用標(biāo)準(zhǔn)的SQLCREATE語句實(shí)現(xiàn)。(要求給出創(chuàng)建的標(biāo)準(zhǔn)語句,以及創(chuàng)建之后在SQL數(shù)據(jù)庫中的腳本和截圖)。createtable客戶(客戶編號(hào)char(5)notnullunique,姓名varchar(10),密碼varchar(15),電話numeric(11),地址varchar(20),卡號(hào)char(19),constraint

7、PK_客戶primarykey(客戶編號(hào));createtable類別(類別編號(hào)char(5)notnullunique,類別名稱varchar(10),制造商varchar(10),constraintPK_類別primarykey(類別編號(hào));createuniqueindex類別_PKon類別(類別編號(hào)ASC);createtable倉庫(倉庫編號(hào)char(5)notnullunique,倉庫區(qū)號(hào)varchar(5),constraintPK_倉庫primarykey(倉庫編號(hào));createtable商品商品編號(hào)char(5)notnullunique,倉庫編號(hào)char(5)notnu

8、ll,類別編號(hào)char(5)notnull,商品名稱varchar(50),價(jià)格float,constraintPK_商品primarykey(商品編號(hào)),constraintfk_倉庫編號(hào)foreignkey(倉庫編號(hào))references倉庫,constraintfk_類別編號(hào)foreignkey(類別編號(hào))references類別);createuniqueclusteredindex客戶_PKon客戶(客戶編號(hào)ASC);createtable訂單(訂單編號(hào)char(5)notnull,客戶編號(hào)char(5),訂購時(shí)間varchar(10),支付方式varchar(10),訂單狀態(tài)num

9、eric,總額float,constraintPK_訂單primarykey(訂單編號(hào)),constraintfk_客戶編號(hào)foreignkey(客戶編號(hào))references客戶);createtable配送單(查詢號(hào)char(10)notnullunique,訂單編號(hào)char(5)notnull,配送人varchar(10),聯(lián)系電話numeric(11),constraintPK_配送單primarykey(查詢號(hào)),constraintfk_訂單編號(hào)foreignkey(訂單編號(hào))references訂單);createclusteredindex配送_FKon配送單(訂單編號(hào)ASC)

10、;createuniqueindex配送單_PKon配送單(查詢號(hào)ASC);createtable商店(商店號(hào)char(5)notnullunique,商店名char(10),地址varchar(20),constraintPK_商店primarykey(商店號(hào));createtable銷售(商店號(hào)char(5)notnull,商品編號(hào)char(5)notnull,庫存量int,constraintPK_銷售primarykey(商店號(hào),商品編號(hào));createtable訂購(訂單編號(hào)char(5)notnull,商品編號(hào)char(5)notnull,數(shù)量int,金額float,constra

11、intPK_訂購primarykey(訂單編號(hào),商品編號(hào));0口E素統(tǒng)裴ndba合面十三dbe,訂單0口dbm訂購+ndbo,客戶國(guó)dbd蝴+3dba配送單Jdb。商店工_dBd商品Edb0檔售?!JtiI5、存儲(chǔ)過程、觸發(fā)器和視圖:根據(jù)需要給數(shù)據(jù)庫添加至少六個(gè)實(shí)用的存儲(chǔ)過程、觸發(fā)器和視圖,并說明它們各自的功能。(需要給出語句執(zhí)行的結(jié)果示意圖)創(chuàng)建視圖,查找商品名為蘋果的商品createviewfind_goodsasselect商品編號(hào),商品名稱,價(jià)格from商品where商品名稱like蘋果createviewfinci_oad3百國(guó)selecl:商品編號(hào)f商品名稱,僑格fxorr,商品L

12、whem商品名稱,蘋果為1|_j消息命令已成功完而日二J視圜國(guó)LjMMH-Idbo.find.goods日U列ijl商品(char(5),notnullH商界名稱(varcharfSOlnull)囿價(jià)格田口或null)(2)創(chuàng)建視圖,查找價(jià)格在3000-6000的商品createviewpriceasselect商品編號(hào),商品名稱from商品where價(jià)格3000and價(jià)格6000日createviewprice商品編號(hào).商品名稱工匚口皿商品Lwiiere價(jià)格3000-:.:!價(jià)格-.60。命叁已成功完成,,dbc.prKe日口列國(guó)商品編號(hào)(ehar(5Xnetnull)S商品名稱tvarcb

13、sn(50)Fnull)(3)創(chuàng)建觸發(fā)器,提醒店鋪中庫存量小于10的商品createtriggertrigger_alarmon銷售afterupdateasif(select庫存量from銷售where庫存量10)10printtriggerout:select商品編號(hào),庫存量from銷售where庫存量10returnSQLQuury3,ql-(y號(hào)ny口npc($&)*BM、-觸發(fā)露與ql-未連播SQLQu”ift3型Im三/庫存量fxorn鞘售.庫存量二工口5000S-QLQueryl sql V/O (yanyanpc (54)”訂單編號(hào)金額as總額工nm訂購roupby訂單編號(hào)-3

14、中工ng金額-5DOO|結(jié)果D消息訂單墉號(hào)總的1!0WD100002!211220023(NXID422SOT4(N006SW0SODODS730060001021700(2)查找即購買了商品編號(hào)為S0001又買了S0002的客戶select姓名from客戶b,訂單o,訂購swheres.商品編號(hào)=s0001andb.客戶編號(hào)=o.客戶編號(hào)and。.訂單編號(hào)=s.訂單編號(hào)intersectselect姓名from客戶b,訂單o,訂購swheres.商品編號(hào)=s0002andb.客戶編號(hào)=o.客戶編號(hào)and。.訂單編號(hào)=s.訂單編號(hào)QLQueryl.ql-YA.S(yanyanpc(54)*0s

15、elect姓名IE工皿客戶已,訂單露訂購wheres.商品編號(hào)=20門口1,ab.客戶編號(hào)”.客戶編號(hào)andg.訂單編號(hào)=3.訂單編號(hào)intersectSelect姓名fmm客戶端訂單明訂購3where小商品編號(hào)=港???1一ab.客戶編號(hào)=.客戶編號(hào)and0.訂單編號(hào)七.訂單編號(hào)(3)按照顧客c0002消費(fèi)的總額大小順序排訂單編號(hào)select訂單編號(hào),總額from訂單where客戶編號(hào)=c0001orderby總額descVAN/AN.business-dbO.訂單SQLQueryl|章童冢ftE訂單where客戶編號(hào)=E(M)L-ordertoy,總,額desc也結(jié)果上消息一衛(wèi)里隔號(hào)總額1

16、;D0OO41228004iimnii-Miiiiiiia!mri2DOOQ21220D30037800d000113400(4)查詢訂單編號(hào)為00003的配送信息selecto.訂單編號(hào),配送人,聯(lián)系電話from訂單o,配送單swhereo.訂單編號(hào)=s.訂單編號(hào)ands訂單編號(hào)=00003YANVAN.business-dbd訂單SQLQutryXfql-YA-J(yaHyaHpe(54)*一1二D二訂單裝百曲送入F聯(lián)系電話from訂單口,配送單a-whereci.訂單編號(hào)道.訂單編號(hào)and4訂單編號(hào)二,0??诳诙ri查找同樣買了商品編號(hào)為s0002的客戶信息select客戶編號(hào),姓名,

17、電話from客戶where客戶編號(hào)in(select客戶編號(hào)where訂單.訂單編號(hào)=訂購.訂單編號(hào)and訂購.商品編號(hào)=s0002)(6)查詢當(dāng)日銷售總額select訂購時(shí)間,sum(總額)as營(yíng)業(yè)額from訂單groupby訂購時(shí)間臼亨789訂購時(shí)間口皿1總額營(yíng)業(yè)額from訂單-iroupby訂購時(shí)間|fnr3結(jié)果11消息訂解宿營(yíng)it頡ilia-im-iHiiafUHiiini4i|12014/7/11J371002201477/12-7363032014/71334007、(選做)完成數(shù)據(jù)庫的設(shè)計(jì)之后,根據(jù)自己所熟悉的編程語言(C、C+、JAVA),實(shí)現(xiàn)一個(gè)簡(jiǎn)單的程序,能夠在程序中組裝S

18、ELECT語句,鏈接創(chuàng)建的數(shù)據(jù)庫,進(jìn)行查詢,并顯示查詢結(jié)果。若完成,請(qǐng)?zhí)峁┰敿?xì)的代碼清單(代碼作為附件,附在本報(bào)告的最后)用JSP頁面編寫實(shí)現(xiàn)如下:.27business&JAX-WSWebServices由DeploymentDesqriptpr;bu5j急JavaResources中arcjtiom.ynG.myBusin&ss.;團(tuán)BuildConnertionje|J|ConnectionBroleerJConne-ctionFactory片.LibrariesJavaScriptResource?&buildj2WebContent0META-INFWEB-LNF,busine5s.

19、jsp/4business及JAX-WSWebServices血De-ploymentDescriptor;bu$學(xué)JavaResources港srej出土匕而,yHU,myButiridTiBjildConnectionjE|jConnectionBroke-rpCoinne-ctionFactoriLibraries瞰JavaScriptResources:build已WebContentlBMETA-INFbWEBrCNF卜buine3sjsp8、實(shí)驗(yàn)小結(jié)。在本次實(shí)驗(yàn)中一共建立了9個(gè)表,完成了6條Select語句,6條關(guān)于視圖、觸發(fā)器和存儲(chǔ)過程,在語句實(shí)現(xiàn)過程中,因?yàn)樯婕皟?nèi)容比較廣,差不

20、多把數(shù)據(jù)庫語句全部復(fù)習(xí)了一遍才開始做,所花的時(shí)間較長(zhǎng),但也收益頗豐,對(duì)數(shù)據(jù)庫的設(shè)計(jì)和實(shí)現(xiàn)也有了總體了解。最后在做選做時(shí),選擇了通過網(wǎng)頁的方式實(shí)現(xiàn),因?yàn)樵谧鰧I(yè)實(shí)訓(xùn)時(shí)也用了JavaEE這項(xiàng)技術(shù),所以實(shí)現(xiàn)起來頗為得心應(yīng)手。附件packagecom.ynu.myBusiness.db;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.ResultSet;importjava.sql.Statement;importcom.devdaily.opensource.database.DDConnectionBroke

21、r;publicclassConnectionBrokerimplementsBuildConnectionprivateStringdriver=null;privateStringurl=null;privateStringusername=null;privateStringpassword=null;privateintminConnections=0;privateintmaxConnections=0;privatelongtimeout=0;privatelongleaseTime=0;privateStringlogFile=null;privateDDConnectionBr

22、okerbroker=null;voidsetUp()/驅(qū)動(dòng)包driver=com.microsoft.sqlserver.jdbc.SQLServerDriver/連接到數(shù)據(jù)庫businessurl=jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=business;username=sa;password=yym;minConnections=3;maxConnections=6;timeout=100;leaseTime=60000;/日志文件存儲(chǔ)位置logFile=C:/D/DDConnectionBroker.log;broker=null;publicConnectiongetConnection()throwsSQLExceptiontry/construct(建立)thebroker(中間人)broker=newDDConnectionBroker(driver,url,username,password,minConnections

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論