![云南大學(xué)數(shù)據(jù)庫(kù)期末大作業(yè)-數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書_第1頁(yè)](http://file4.renrendoc.com/view/571dde76d9b995a00f4e0350e242b8af/571dde76d9b995a00f4e0350e242b8af1.gif)
![云南大學(xué)數(shù)據(jù)庫(kù)期末大作業(yè)-數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書_第2頁(yè)](http://file4.renrendoc.com/view/571dde76d9b995a00f4e0350e242b8af/571dde76d9b995a00f4e0350e242b8af2.gif)
![云南大學(xué)數(shù)據(jù)庫(kù)期末大作業(yè)-數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書_第3頁(yè)](http://file4.renrendoc.com/view/571dde76d9b995a00f4e0350e242b8af/571dde76d9b995a00f4e0350e242b8af3.gif)
![云南大學(xué)數(shù)據(jù)庫(kù)期末大作業(yè)-數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書_第4頁(yè)](http://file4.renrendoc.com/view/571dde76d9b995a00f4e0350e242b8af/571dde76d9b995a00f4e0350e242b8af4.gif)
![云南大學(xué)數(shù)據(jù)庫(kù)期末大作業(yè)-數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書_第5頁(yè)](http://file4.renrendoc.com/view/571dde76d9b995a00f4e0350e242b8af/571dde76d9b995a00f4e0350e242b8af5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/XX大學(xué)軟件學(xué)院實(shí)驗(yàn)報(bào)告課程:數(shù)據(jù)庫(kù)原理與實(shí)用技術(shù)實(shí)驗(yàn)學(xué)期:任課教師:專業(yè):學(xué)號(hào):姓名:成績(jī):期末大作業(yè):ElectronicVentor數(shù)據(jù)庫(kù)設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康摹?掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的基本方法〔2掌握各種數(shù)據(jù)庫(kù)對(duì)象的設(shè)計(jì)方法〔3熟練掌握DBA必須具備的技能二、實(shí)驗(yàn)內(nèi)容根據(jù)項(xiàng)目的應(yīng)用和項(xiàng)目的需求說(shuō)明文檔,進(jìn)行詳細(xì)的需求分析,給出需求分析的結(jié)果。客戶可以在網(wǎng)站上注冊(cè),注冊(cè)的客戶要提供客戶的姓名、電話、地址,以方便售后和聯(lián)系,姓名即作為用戶名,和密碼一起用于注冊(cè)和登錄,客戶編號(hào)可唯一識(shí)別用戶,卡號(hào)可網(wǎng)上支付。其中地址、電話以方便聯(lián)系和寄貨;網(wǎng)站管理員可以登記各種商品,供客戶查詢,訂購(gòu)。登記商品時(shí)要提供商品的名稱、價(jià)格,商店中現(xiàn)有商品量,商品編號(hào)可唯一識(shí)別商品;類別表示商品所屬類別,類別編號(hào)可唯一識(shí)別類別,其中包含了,商品類別名稱和制造廠商,可以對(duì)商品進(jìn)行分類售賣;客戶可以在網(wǎng)上下訂單,也可以到實(shí)體店購(gòu)物,其在訂單上所選擇的支付方式不同〔信用卡、借記卡、現(xiàn)金,現(xiàn)金代表實(shí)體店購(gòu)物,網(wǎng)站管理員可以查看訂單,并及時(shí)將訂單的處理情況更新〔比如貨物已寄出的信息,訂單狀態(tài):0:未處理,1:已處理,2:已發(fā)貨;訂單編號(hào)可唯一識(shí)別訂單,訂單中包含訂單產(chǎn)生時(shí)間,訂單狀態(tài),支付方式和支付總額;實(shí)體商店有自己的店名,賣多種商品,每個(gè)商店都有固定的地址,顧客可以到店中買商品,〔注:在實(shí)體店中購(gòu)買商品的顧客一律將顧客名默認(rèn)為佚名,當(dāng)商店中的庫(kù)存量小于10時(shí)會(huì)有提醒到倉(cāng)庫(kù)中拿貨;配送單中包含查詢號(hào)可唯一識(shí)別配送單,配送人,聯(lián)系方式;倉(cāng)庫(kù)中倉(cāng)庫(kù)編號(hào)可唯一識(shí)別倉(cāng)庫(kù),其中每個(gè)倉(cāng)庫(kù)都有區(qū)號(hào),代表其地址。各實(shí)體間關(guān)系一個(gè)客戶可以購(gòu)買多種商品,一種商品可以被多個(gè)客戶購(gòu)買;一個(gè)商品屬于且僅屬于一種類別,一種類別的商品可以包含多個(gè)商品或沒(méi)有;一種商品放在多個(gè)商店中銷售,一個(gè)商店至少銷售一種或銷售多種商品;一個(gè)訂單對(duì)應(yīng)一個(gè)客戶,一個(gè)客戶對(duì)應(yīng)多個(gè)訂單;一個(gè)訂單對(duì)應(yīng)至少有一件商品或多件,一個(gè)商品對(duì)應(yīng)多個(gè)訂單;一個(gè)訂單可以有一個(gè)商品配送單一個(gè)倉(cāng)庫(kù)可以存放多種商品,一種商品可以存放在一個(gè)倉(cāng)庫(kù);數(shù)據(jù)庫(kù)邏輯設(shè)計(jì):用文字簡(jiǎn)要描述實(shí)體之間的聯(lián)系,畫出E-R圖〔標(biāo)出各聯(lián)系中實(shí)體的基數(shù)??蛻?商品:n-n;商品-類別:n-1;商品-商店:n-n;客戶-訂單:1-n;訂單-商品:1-n;訂單-配送當(dāng):1-1;倉(cāng)庫(kù)-商品:1-n3、數(shù)據(jù)庫(kù)物理設(shè)計(jì):將E-R圖轉(zhuǎn)換為數(shù)據(jù)表。需要給出詳細(xì)的轉(zhuǎn)換規(guī)則,對(duì)應(yīng)生成的表,屬性〔主屬性、描述性屬性,多值屬性,符合屬性等,主鍵,外鍵,約束〔取值是否NULL等,索引〔三種類型的索引至少每種出現(xiàn)一次等。在客戶,配送單,類別中建立索引,語(yǔ)句在4題中如3中,有2個(gè)n-n關(guān)系,分生成訂購(gòu)表和銷售表4、SQL中創(chuàng)建語(yǔ)句的使用:根據(jù)第二步中的結(jié)果,將相應(yīng)的表,屬性,主鍵,外鍵,約束等使用標(biāo)準(zhǔn)的SQLCREATE語(yǔ)句實(shí)現(xiàn)?!惨蠼o出創(chuàng)建的標(biāo)準(zhǔn)語(yǔ)句,以及創(chuàng)建之后在SQL數(shù)據(jù)庫(kù)中的腳本和截圖。createtable客戶<客戶編號(hào)char<5>notnullunique,姓名varchar<10>,密碼varchar<15>,電話numeric<11>,地址varchar<20>,卡號(hào)char<19>,constraintPK_客戶primarykey<客戶編號(hào)>>;createtable類別<類別編號(hào)char<5>notnullunique,類別名稱varchar<10>,制造商varchar<10>,constraintPK_類別primarykey<類別編號(hào)>>;createuniqueindex類別_PKon類別<類別編號(hào)ASC>;createtable倉(cāng)庫(kù)<倉(cāng)庫(kù)編號(hào)char<5>notnullunique,倉(cāng)庫(kù)區(qū)號(hào)varchar<5>,constraintPK_倉(cāng)庫(kù)primarykey<倉(cāng)庫(kù)編號(hào)>>;createtable商品<商品編號(hào)char<5>notnullunique,倉(cāng)庫(kù)編號(hào)char<5>notnull,類別編號(hào)char<5>notnull,商品名稱varchar<50>,價(jià)格float,constraintPK_商品primarykey<商品編號(hào)>,constraintfk_倉(cāng)庫(kù)編號(hào)foreignkey<倉(cāng)庫(kù)編號(hào)>references倉(cāng)庫(kù),constraintfk_類別編號(hào)foreignkey<類別編號(hào)>references類別>;createuniqueclusteredindex客戶_PKon客戶<客戶編號(hào)ASC>;createtable訂單<訂單編號(hào)char<5>notnull,客戶編號(hào)char<5>,訂購(gòu)時(shí)間varchar<10>,支付方式varchar<10>,訂單狀態(tài)numeric,總額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>,numeric<11>,constraintPK_配送單primarykey<查詢號(hào)>,constraintfk_訂單編號(hào)foreignkey<訂單編號(hào)>references訂單>;createclusteredindex配送_FKon配送單<訂單編號(hào)ASC>;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,庫(kù)存量int,constraintPK_銷售primarykey<商店號(hào),商品編號(hào)>>;createtable訂購(gòu)<訂單編號(hào)char<5>notnull,商品編號(hào)char<5>notnull,數(shù)量int,金額float,constraintPK_訂購(gòu)primarykey<訂單編號(hào),商品編號(hào)>>;5、存儲(chǔ)過(guò)程、觸發(fā)器和視圖:根據(jù)需要給數(shù)據(jù)庫(kù)添加至少六個(gè)實(shí)用的存儲(chǔ)過(guò)程、觸發(fā)器和視圖,并說(shuō)明它們各自的功能?!残枰o出語(yǔ)句執(zhí)行的結(jié)果示意圖<1>創(chuàng)建視圖,查找商品名為'蘋果'的商品createviewfind_goodsasselect商品編號(hào),商品名稱,價(jià)格from商品where商品名稱like'蘋果%'〔2創(chuàng)建視圖,查找價(jià)格在3000-6000的商品createviewpriceasselect商品編號(hào),商品名稱from商品where價(jià)格>3000and價(jià)格<6000<3>創(chuàng)建觸發(fā)器,提醒店鋪中庫(kù)存量小于10的商品createtriggertrigger_alarmon銷售afterupdateasif<select庫(kù)存量from銷售where庫(kù)存量<10><10print'triggerout:'select商品編號(hào),庫(kù)存量from銷售where庫(kù)存量<10return創(chuàng)建觸發(fā)器,當(dāng)刪除配送單中的數(shù)據(jù)時(shí)顯示出所刪信息createtriggertrigger_delon配送單afterdeleteasprint'delete'<5>創(chuàng)建存儲(chǔ)過(guò)程,根據(jù)商品編號(hào),查詢?cè)撋唐返挠嗁?gòu)量createprocsp_find_quantity@商品編號(hào)char<5>,@sumqintoutputasselect商品編號(hào),sum<數(shù)量>from訂購(gòu)groupby商品編號(hào)having商品編號(hào)=@商品編號(hào)declare@sumqintexecsp_find_quantity@商品編號(hào)='s0001',@sumq=@sumqoutputprint'thesumquantityis:'+convert<varchar<5>,@sumq〔6創(chuàng)建存儲(chǔ)過(guò)程,通過(guò)商品名稱尋找商品信息createprocsp_find_price@namechar<10>asselect*from商品where商品名稱like@name+'%'execsp_find_price@name='戴爾6、分析常見的業(yè)務(wù)流程,列舉出至少五種SQLSELECT語(yǔ)句。實(shí)現(xiàn)的語(yǔ)句要滿足如下要求:在五種語(yǔ)句中的查詢能反映正常的業(yè)務(wù)需求;分析中至少要分別出現(xiàn)一次ORDERBY、GROUPBY…HAVING子句;分析中至少使用一次聚集函數(shù);分析中至少使用一次嵌套查詢;分析中至少使用一次UNION或INTERSECT運(yùn)算;給出每一種語(yǔ)句執(zhí)行的結(jié)果。<1>計(jì)算并查找訂購(gòu)單中相同訂單訂購(gòu)超過(guò)5000的總額select訂單編號(hào),sum<金額>as總額from訂購(gòu)groupby訂單編號(hào)havingsum<金額>>5000查找即購(gòu)買了商品編號(hào)為s0001又買了s0002的客戶select姓名from客戶b,訂單o,訂購(gòu)swheres.商品編號(hào)='s0001'andb.客戶編號(hào)=o.客戶編號(hào)ando.訂單編號(hào)=s.訂單編號(hào)intersectselect姓名from客戶b,訂單o,訂購(gòu)swheres.商品編號(hào)='s0002'andb.客戶編號(hào)=o.客戶編號(hào)ando.訂單編號(hào)=s.訂單編號(hào)<3>按照顧客c0002消費(fèi)的總額大小順序排訂單編號(hào)select訂單編號(hào),總額from訂單where客戶編號(hào)='c0001'orderby總額desc<4>查詢訂單編號(hào)為00003的配送信息selecto.訂單編號(hào),配送人,from訂單o,配送單swhereo.訂單編號(hào)=s.訂單編號(hào)ands.訂單編號(hào)='00003'<5>查找同樣買了商品編號(hào)為s0002的客戶信息select客戶編號(hào),姓名,電話from客戶where客戶編號(hào)in<select客戶編號(hào)from訂單,訂購(gòu)where訂單.訂單編號(hào)=訂購(gòu).訂單編號(hào)and訂購(gòu).商品編號(hào)='s0002'><6>查詢當(dāng)日銷售總額select訂購(gòu)時(shí)間,sum<總額>as營(yíng)業(yè)額from訂單groupby訂購(gòu)時(shí)間〔選做完成數(shù)據(jù)庫(kù)的設(shè)計(jì)之后,根據(jù)自己所熟悉的編程語(yǔ)言〔C、C++、JAVA,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的程序,能夠在程序中組裝SELECT語(yǔ)句,鏈接創(chuàng)建的數(shù)據(jù)庫(kù),進(jìn)行查詢,并顯示查詢結(jié)果。若完成,請(qǐng)?zhí)峁┰敿?xì)的代碼清單〔代碼作為附件,附在本報(bào)告的最后。用JSP頁(yè)面編寫實(shí)現(xiàn)如下:8、實(shí)驗(yàn)小結(jié)。在本次實(shí)驗(yàn)中一共建立了9個(gè)表,完成了6條Select語(yǔ)句,6條關(guān)于視圖、觸發(fā)器和存儲(chǔ)過(guò)程,在語(yǔ)句實(shí)現(xiàn)過(guò)程中,因?yàn)樯婕皟?nèi)容比較廣,差不多把數(shù)據(jù)庫(kù)語(yǔ)句全部復(fù)習(xí)了一遍才開始做,所花的時(shí)間較長(zhǎng),但也收益頗豐,對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)也有了總體了解。最后在做選做時(shí),選擇了通過(guò)網(wǎng)頁(yè)的方式實(shí)現(xiàn),因?yàn)樵谧鰧I(yè)實(shí)訓(xùn)時(shí)也用了JavaEE這項(xiàng)技術(shù),所以實(shí)現(xiàn)起來(lái)頗為得心應(yīng)手。附件packagecom.ynu.myBusiness.db;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.ResultSet;importjava.sql.Statement;importcom.devdaily.opensource.database.DDConnectionBroker;publicclassConnectionBrokerimplementsBuildConnection{ privateStringdriver=null; privateStringurl=null; privateStringusername=null; privateStringpassword=null; privateintminConnections=0; privateintmaxConnections=0; privatelongtimeout=0; privatelongleaseTime=0; privateStringlogFile=null; privateDDConnectionBrokerbroker=null; voidsetUp<>{//驅(qū)動(dòng)包driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//連接到數(shù)據(jù)庫(kù)businessurl="jdbc:sqlserver://:1433;DatabaseName=business"; username="sa"; password="yym"; minConnections=3; maxConnections=6; timeout=100; leaseTime=60000;//日志文件存儲(chǔ)位置 logFile="C:/D/DDConnectionBroker.log"; broker=null; } publicConnectiongetConnection<>throwsSQLException{ try{ //construct〔建立thebroker〔中間人 broker=newDDConnectionBroker<driver,url,username,password, minConnections,maxConnections,timeout,leaseTime,logFile>; } catch<SQLExceptionse>{ //couldnotgetabroker;notmuchreasontogoon System.out.println<se.getMessage<>>; System.out.println<"Couldnotconstructabroker,quitting.">; } //建立broker成功 returnbroker.getConnection<>; } publicvoidfreeConnection<Connectionconn>throwsSQLException{ try{ broker.freeConnection<conn>; } catch<Exceptione>{ System.out.println<"ThrewanexceptiontryingtofreemyConnection:"+e.getMessage<>>; } } publicintgetNumberConnections<>throwsSQLException{ if<broker!=null> returnbroker.getNumberConnections<>; else return-1; } publicConnectionBroker<>{ super<>; setUp<>; }}<%@pagelanguage="java"contentType="text/html;charset=GB2312"pageEncoding="GB2312"%>atement,java.sql.ResultSet,java.sql.Statement"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><body><p>數(shù)據(jù)庫(kù)實(shí)驗(yàn)大作業(yè)</p><p>搜索配送單中的數(shù)據(jù)</p><%//從工廠中得到連接 ConnectionFactoryfa
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)隱形滲透性密封劑行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 山東省日照市高三上學(xué)期期末考試語(yǔ)文試卷(含答案)
- 2025會(huì)議 展覽合同
- 2025機(jī)動(dòng)車買賣合同模板
- 運(yùn)輸類合同范本
- 南寧房屋租賃服務(wù)合同模板
- 2025建筑施工物資租賃合同示范文本無(wú)擔(dān)保方
- 雞蛋供貨采購(gòu)合同
- 借款用于投資合同
- 技能培訓(xùn)中的表達(dá)技巧訓(xùn)練
- 2024年資格考試-對(duì)外漢語(yǔ)教師資格證筆試參考題庫(kù)含答案
- 2024年4月自考02382管理信息系統(tǒng)答案及評(píng)分參考
- (蘇版)初三化學(xué)上冊(cè):第2單元課題1空氣
- 2023年12月廣東珠海市軌道交通局公開招聘工作人員1人筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 腹腔鏡腎上腺腫瘤切除術(shù)查房護(hù)理課件
- 燃?xì)庹质綘t應(yīng)急預(yù)案
- 專題23平拋運(yùn)動(dòng)臨界問(wèn)題相遇問(wèn)題類平拋運(yùn)和斜拋運(yùn)動(dòng)
- 超聲科醫(yī)德醫(yī)風(fēng)制度內(nèi)容
- 高三開學(xué)收心班會(huì)課件
- 蒸汽換算計(jì)算表
- 四年級(jí)計(jì)算題大全(列豎式計(jì)算,可打印)
評(píng)論
0/150
提交評(píng)論