客戶訂購(gòu)登記系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩30頁(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)介

1、<p><b>  《網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)》</b></p><p><b>  課 程 設(shè) 計(jì)</b></p><p>  題 目 客戶訂購(gòu)登記系統(tǒng) </p><p>  班 級(jí) </p><p>  學(xué) 號(hào)

2、</p><p>  姓 名 </p><p>  指導(dǎo)老師 </p><p>  2012年 12 月 22 日</p><p><b>  目 錄</b></p><p><b>  一、概述3</b

3、></p><p>  1.1 課程設(shè)計(jì)的目的3</p><p>  1.2 課程設(shè)計(jì)的內(nèi)容3</p><p>  1.3 課程設(shè)計(jì)的要求4</p><p><b>  二、需求分析5</b></p><p>  2.1 系統(tǒng)需求5</p><p>  2.

4、2 數(shù)據(jù)字典7</p><p>  三、系統(tǒng)總體設(shè)計(jì)9</p><p>  3.1系統(tǒng)總體設(shè)計(jì)思路9</p><p>  3.2 概念模型設(shè)計(jì)10</p><p>  3.2.1 局部E-R圖10</p><p>  3.2.2 全局E-R圖14</p><p>  3.3 邏輯結(jié)構(gòu)

5、設(shè)計(jì)14</p><p>  3.4 數(shù)據(jù)庫(kù)建立實(shí)施19</p><p>  3.4.1 建立數(shù)據(jù)庫(kù)19</p><p>  3.4.2 建立關(guān)系表19</p><p><b>  四、系統(tǒng)實(shí)現(xiàn)25</b></p><p><b>  五、系統(tǒng)評(píng)價(jià)27</b>&l

6、t;/p><p>  六、課程設(shè)計(jì)心得、總結(jié)28</p><p><b>  參考文獻(xiàn):29</b></p><p><b>  一.概述</b></p><p>  1.1課程設(shè)計(jì)的目的</p><p>  通過(guò)課程設(shè)計(jì),使學(xué)生具備將數(shù)據(jù)庫(kù)系統(tǒng)與現(xiàn)實(shí)世界密切、協(xié)調(diào)一致結(jié)合起

7、來(lái)的能力,掌握數(shù)據(jù)庫(kù)設(shè)計(jì)中的需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)的方法,并能夠用具體的數(shù)據(jù)庫(kù)和編程語(yǔ)言來(lái)解決實(shí)際的問(wèn)題。此外還要求學(xué)生具備實(shí)驗(yàn)結(jié)果分析、總結(jié)及撰寫(xiě)技術(shù)報(bào)告的能力。</p><p>  1.2課程設(shè)計(jì)的內(nèi)容</p><p><b>  客戶訂購(gòu)登記系統(tǒng)</b></p><p>  現(xiàn)有一個(gè)公司希望為其客戶訂購(gòu)行為建立一個(gè)數(shù)據(jù)庫(kù)。

8、</p><p>  如果一個(gè)客戶可以有一份或多份訂單,每份訂單可以訂購(gòu)一種或多種商品。每份訂單有一個(gè)發(fā)票,可以通過(guò)多種方式來(lái)支付,例如支票,信用卡或者現(xiàn)金。處理這個(gè)客戶訂購(gòu)登記的職工的名字要被記錄下來(lái)。</p><p>  部門工作人員負(fù)責(zé)整理訂單并根據(jù)庫(kù)存情況處理訂單。如果訂單上的產(chǎn)品在庫(kù)存中有,就可以直接發(fā)貨,發(fā)貨方式也有多種;如果訂單上的產(chǎn)品在庫(kù)存中沒(méi)有,就不需要登記或者訂購(gòu)其它產(chǎn)

9、品。</p><p>  1.3課程設(shè)計(jì)的要求</p><p>  1、根據(jù)題目查找資料及調(diào)研,寫(xiě)出數(shù)據(jù)庫(kù)系統(tǒng)的需求分析報(bào)告;</p><p>  2、根據(jù)需求分析,設(shè)計(jì)系統(tǒng)的功能結(jié)構(gòu),畫(huà)出系統(tǒng)的功能結(jié)構(gòu)圖,設(shè)計(jì)的功能要全面、正確,能解決現(xiàn)實(shí)世界各類用戶的實(shí)際需要;</p><p>  3、根據(jù)需求分析,確定所設(shè)計(jì)的系統(tǒng)涉及到的實(shí)體、各實(shí)體的

10、屬性以及各實(shí)體之間的聯(lián)系,用E-R圖完成系統(tǒng)的概念模型設(shè)計(jì),設(shè)計(jì)的概念模型要能全面、真實(shí)的反應(yīng)現(xiàn)實(shí)世界,能滿足系統(tǒng)功能的需要;</p><p>  4、根據(jù)E-R圖轉(zhuǎn)換為DBMS支持的關(guān)系模型;</p><p>  5、根據(jù)邏輯模型、系統(tǒng)環(huán)境和用戶需求,設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。</p><p>  6、采用B/S模式,使用Java、ASP、JSP、PHP或ASP.NE

11、T程序設(shè)計(jì)語(yǔ)言之一進(jìn)行相應(yīng)前臺(tái)主要模塊和菜單的設(shè)計(jì),選擇Mysql、Oracle或者SQL Server數(shù)據(jù)庫(kù)作為后臺(tái)服務(wù)器。</p><p>  7、設(shè)計(jì)一組數(shù)據(jù)庫(kù)表的測(cè)試實(shí)例,對(duì)各項(xiàng)功能進(jìn)行簡(jiǎn)單的測(cè)試并寫(xiě)出測(cè)試結(jié)果。</p><p><b>  二.需求分析</b></p><p><b>  2.1系統(tǒng)需求</b>&

12、lt;/p><p>  客戶訂購(gòu)登記數(shù)據(jù)流圖 </p><p>  客戶實(shí)體的描述屬性有:</p><p>  客戶編號(hào),客戶名,郵編,電話號(hào),傳真號(hào),銀行帳號(hào)。</p><p>  產(chǎn)品實(shí)體的描述屬性有:</p><p>  產(chǎn)品編號(hào),產(chǎn)品名,型號(hào),規(guī)格,單價(jià),重量。</p><p>  訂單實(shí)體

13、的描述屬性有:</p><p>  訂單編號(hào),客戶編號(hào),訂貨日期,交貨日期,發(fā)貨方式編號(hào),職工編號(hào),執(zhí)行狀態(tài)。</p><p>  訂單細(xì)節(jié)實(shí)體的描述屬性有:</p><p>  訂單編號(hào),產(chǎn)品編號(hào),訂貨數(shù)量。</p><p>  發(fā)票實(shí)體的描述屬性有:</p><p>  發(fā)票編號(hào),開(kāi)票日期,付款日期,訂單編號(hào),客戶

14、編號(hào),付款方式編號(hào)。</p><p>  發(fā)貨實(shí)體的描述屬性有:</p><p>  發(fā)貨編號(hào),訂單編號(hào),產(chǎn)品編號(hào),數(shù)量,發(fā)貨日期,發(fā)貨方式編號(hào),完成狀態(tài),職工編號(hào)。</p><p>  職工實(shí)體的描述屬性有:</p><p>  職工編號(hào),姓名,性別,出生年月,地址,辦公電話,住宅電話,EMAIL,職務(wù),職稱。</p><

15、;p>  付款方式實(shí)體的描述屬性有:</p><p>  付款方式編號(hào),付款方式。 </p><p>  發(fā)貨方式實(shí)體的描述屬性有:</p><p>  發(fā)貨方式編號(hào),發(fā)貨方式。</p><p><b>  2.2數(shù)據(jù)字典</b></p><p><b>  (一)客戶表<

16、/b></p><p><b>  (二)產(chǎn)品表</b></p><p><b>  (三)訂單表</b></p><p><b>  (四)訂單細(xì)節(jié)表</b></p><p><b>  (五)發(fā)票表</b></p><p>

17、;<b>  (六)發(fā)貨表</b></p><p><b>  (七)職工信息表</b></p><p><b>  (八)付款方式表</b></p><p>  (九)發(fā)貨方式表三.系統(tǒng)總體設(shè)計(jì)</p><p>  3.1.系統(tǒng)總體設(shè)計(jì)思路</p><p

18、><b>  3.2概念模型設(shè)計(jì)</b></p><p>  3.2.1局部E-R圖</p><p>  客戶實(shí)體和訂單實(shí)體通過(guò)提交訂單發(fā)生聯(lián)系。每個(gè)客戶可以提交多份訂單,而每份訂單只對(duì)應(yīng)一個(gè)客戶。因此,客戶實(shí)體和訂單實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。</p><p>  產(chǎn)品實(shí)體和訂單細(xì)節(jié)實(shí)體通過(guò)訂購(gòu)產(chǎn)品發(fā)生聯(lián)系。每個(gè)訂單細(xì)節(jié)可以訂購(gòu)一種

19、產(chǎn)品,而每種產(chǎn)品可以被不同的訂單訂購(gòu)。因此,產(chǎn)品實(shí)體和訂單細(xì)節(jié)實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。</p><p>  訂單細(xì)節(jié)實(shí)體是訂單實(shí)體的組成部分,故必存在聯(lián)系。一份訂單可以訂購(gòu)多種產(chǎn)品,也就是可以有多個(gè)訂單細(xì)節(jié),而每個(gè)訂單細(xì)節(jié)只對(duì)應(yīng)一份訂單。因此,訂單實(shí)體和訂單細(xì)節(jié)實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。</p><p>  職工實(shí)體通過(guò)處理訂單和訂單實(shí)體發(fā)生聯(lián)系。每個(gè)職工可以處理多份訂單,而

20、每份訂單只能由一個(gè)職工處理。因此,職工實(shí)體和訂單實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。 </p><p>  付款方式是發(fā)票的組成部分,故必存在聯(lián)系。每張發(fā)票對(duì)應(yīng)一種付款方式,而每種付款方式可以用于不同的發(fā)票中。因此,付款方式實(shí)體和發(fā)票實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。</p><p>  發(fā)貨實(shí)體與訂單細(xì)節(jié)實(shí)體通過(guò)發(fā)貨打包發(fā)生聯(lián)系。每個(gè)訂單細(xì)節(jié)對(duì)應(yīng)多次發(fā)貨,而每次發(fā)貨只對(duì)應(yīng)一個(gè)訂單細(xì)節(jié)。因此,發(fā)

21、貨實(shí)體和訂單細(xì)節(jié)實(shí)體之間是一對(duì)多聯(lián)系,如圖所示。</p><p>  發(fā)貨方式是發(fā)貨的組成部分,故必存在聯(lián)系。每個(gè)發(fā)貨對(duì)應(yīng)一種發(fā)貨方式,而每種發(fā)貨方式可以用于不同的發(fā)貨中。因此,發(fā)貨方式實(shí)體和發(fā)貨實(shí)體之間是一對(duì)多聯(lián)系,如圖所示</p><p>  訂單實(shí)體和發(fā)票實(shí)體通過(guò)開(kāi)具發(fā)票發(fā)生聯(lián)系。每份訂單開(kāi)具一張發(fā)票,而每張發(fā)票也只對(duì)應(yīng)一份訂單。因此,訂單實(shí)體和發(fā)票實(shí)體之間是一對(duì)一聯(lián)系,如圖所示。&

22、lt;/p><p>  3.2.2全局E-R圖</p><p>  3.3 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  客戶(客戶編號(hào),客戶名,郵編,電話號(hào),傳真號(hào),銀行帳號(hào))</p><p><b>  主鍵:客戶編號(hào)。</b></p><p>  候補(bǔ)鍵:電話號(hào),傳真號(hào),銀行帳號(hào)。</p>&

23、lt;p><b>  函數(shù)依賴集F:</b></p><p>  客戶編號(hào){客戶名,郵編,電話號(hào),傳真號(hào),銀行帳號(hào)},</p><p>  電話號(hào){客戶編號(hào),郵編,傳真號(hào),銀行帳號(hào)},</p><p>  傳真號(hào){客戶編號(hào),客戶名,郵編,電話號(hào),銀行帳號(hào)},</p><p>  銀行帳號(hào){客戶編號(hào),客戶名,郵編,電

24、話號(hào),傳真號(hào)}</p><p>  雖然,客戶編號(hào)電話號(hào),電話號(hào)傳真號(hào),但由于電話號(hào)客戶編號(hào)也成立,所以,客戶編號(hào)傳真號(hào)不是傳遞函數(shù)依賴。</p><p>  客戶關(guān)系中不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以客戶關(guān)系滿足第3范式。 </p><p>  產(chǎn)品(產(chǎn)品編號(hào),產(chǎn)品名,型號(hào),規(guī)格,單價(jià),重量)</p><p><b

25、>  主鍵:產(chǎn)品編號(hào)。</b></p><p><b>  函數(shù)依賴集F:</b></p><p>  產(chǎn)品編號(hào){產(chǎn)品名,型號(hào),規(guī)格,單價(jià),重量}。</p><p>  產(chǎn)品關(guān)系不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以產(chǎn)品關(guān)系滿足第3范式。 </p><p>  訂單(訂單編號(hào),客戶編號(hào),訂

26、貨日期,交貨日期,發(fā)貨方式編號(hào),職工編號(hào),執(zhí)行狀態(tài))</p><p><b>  主鍵:訂單編號(hào)。</b></p><p>  外鍵:客戶編號(hào),引用了客戶關(guān)系中的客戶編號(hào);</p><p>  發(fā)貨方式編號(hào),引用了發(fā)貨方式關(guān)系中的發(fā)貨方式編號(hào);</p><p>  職工編號(hào),引用了職工關(guān)系中的職工編號(hào)。</p>

27、;<p><b>  函數(shù)依賴集F:</b></p><p>  訂單編號(hào){客戶編號(hào),訂貨日期,交貨日期,發(fā)貨方式編號(hào),職工編號(hào),執(zhí)行狀態(tài)}。</p><p>  訂單關(guān)系中不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以訂單關(guān)系滿足第3范式。 </p><p>  訂單細(xì)節(jié)(訂單編號(hào),產(chǎn)品編號(hào),訂貨數(shù)量)</p>

28、<p>  主鍵:訂單編號(hào)+產(chǎn)品編號(hào)。</p><p><b>  函數(shù)依賴集F:</b></p><p>  {訂單編號(hào),產(chǎn)品編號(hào)}訂貨數(shù)量。</p><p>  訂單細(xì)節(jié)關(guān)系中不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以訂單細(xì)節(jié)關(guān)系滿足第3范式。</p><p>  發(fā)票(發(fā)票編號(hào),開(kāi)票日期,付

29、款日期,訂單編號(hào),</p><p>  客戶編號(hào),付款方式編號(hào))</p><p><b>  主鍵:發(fā)票編號(hào)。</b></p><p><b>  候選鍵:訂單編號(hào)。</b></p><p>  外鍵:訂單編號(hào),引用了訂單關(guān)系中的訂單編號(hào);</p><p>  客戶編號(hào),引用

30、了客戶關(guān)系中的客戶編號(hào);</p><p>  付款方式編號(hào),引用了付款方式關(guān)系中的付款方式編號(hào)。</p><p><b>  函數(shù)依賴集F:</b></p><p>  發(fā)票編號(hào){開(kāi)票日期,付款日期,訂單編號(hào),客戶編號(hào),付款方式編號(hào)},</p><p>  訂單編號(hào){發(fā)票編號(hào),開(kāi)票日期,付款日期,客戶編號(hào),付款方式編號(hào)}

31、。</p><p>  發(fā)票關(guān)系中不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以發(fā)票關(guān)系滿足第3范式。</p><p>  發(fā)貨(發(fā)貨編號(hào),數(shù)量,發(fā)貨日期,訂單編號(hào),</p><p>  產(chǎn)品編號(hào),發(fā)貨方式編號(hào),完成狀態(tài),職工編號(hào))</p><p><b>  主鍵:發(fā)貨編號(hào)。</b></p><

32、;p>  外鍵:訂單編號(hào),引用了訂單關(guān)系中的訂單編號(hào);</p><p>  產(chǎn)品編號(hào),引用了產(chǎn)品關(guān)系中的產(chǎn)品編號(hào);</p><p>  發(fā)貨方式編號(hào),引用了發(fā)貨方式關(guān)系中的發(fā)貨方式編號(hào)。</p><p><b>  函數(shù)依賴集F:</b></p><p>  發(fā)貨編號(hào){數(shù)量,發(fā)貨日期,訂單編號(hào),產(chǎn)品編號(hào),發(fā)貨方式編

33、號(hào),完成狀態(tài),職工編號(hào)}。</p><p>  發(fā)貨關(guān)系中不存在非主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以發(fā)貨關(guān)系滿足第3范式。 </p><p>  職工(職工編號(hào),姓名,性別,出生年月,地址,辦公電話,住宅電話,EMAIL,職務(wù),職稱)</p><p><b>  主鍵:職工編號(hào)。</b></p><p>  候

34、選鍵:EMAIL。</p><p><b>  函數(shù)依賴集F:</b></p><p>  職工編號(hào){姓名,性別,出生年月,地址,辦公電話,住宅電話,EMAIL,職務(wù),職稱},</p><p>  EMAIL{職工編號(hào),姓名,性別,出生年月,地址,辦公電話,住宅電話,職務(wù),職稱}。</p><p>  職工關(guān)系中不存在非

35、主屬性與候選鍵之間的部分與傳遞函數(shù)依賴,所以職工關(guān)系滿足第3范式。 </p><p>  付款方式(付款方式編號(hào),付款方式)</p><p>  主鍵:付款方式編號(hào)。</p><p><b>  函數(shù)依賴集F:</b></p><p>  付款方式編號(hào)付款方式。</p><p>  付款方式關(guān)系滿

36、足第3范式。</p><p>  發(fā)貨方式(發(fā)貨方式編號(hào),發(fā)貨方式)</p><p>  主鍵:發(fā)貨方式編號(hào)。</p><p><b>  函數(shù)依賴集F:</b></p><p>  發(fā)貨方式編號(hào)發(fā)貨方式。</p><p>  發(fā)貨方式關(guān)系滿足第3范式。</p><p> 

37、 所有關(guān)系都滿足較高的范式要求,故客戶訂購(gòu)登記管理的數(shù)據(jù)庫(kù)設(shè)計(jì)是合理的。</p><p>  3.4 數(shù)據(jù)庫(kù)建立實(shí)施</p><p>  3.4.1 建立數(shù)據(jù)庫(kù)</p><p>  CREATE DATABASE `customer_db`;</p><p>  USE `customer_db`;</p><p> 

38、 3.4.2 建立關(guān)系表</p><p><b>  建立賬單表:</b></p><p>  CREATE TABLE `t_bill` (</p><p>  `bill_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '發(fā)票編號(hào)',</p><p>  `ra

39、iseddate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '開(kāi)票日期',</p><p>  `paydate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '付款日期',&

40、lt;/p><p>  `o_id` int(11) NOT NULL COMMENT '訂單編號(hào)',</p><p>  `c_id` int(11) NOT NULL COMMENT '客戶編號(hào)',</p><p>  `pay_id` int(11) NOT NULL COMMENT '付款方式編號(hào)',</p&

41、gt;<p>  PRIMARY KEY (`bill_id`),</p><p>  KEY `fk_bill_order` (`o_id`),</p><p>  KEY `fk_bill_customer` (`c_id`),</p><p>  KEY `fk_bill_pay` (`pay_id`),</p><p>

42、  CONSTRAINT `fk_bill_customer` FOREIGN KEY (`c_id`) REFERENCES `t_customer` (`id`),</p><p>  CONSTRAINT `fk_bill_order` FOREIGN KEY (`o_id`) REFERENCES `t_order` (`id`),</p><p>  CONSTRAINT `fk

43、_bill_pay` FOREIGN KEY (`pay_id`) REFERENCES `t_pay` (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立客戶表:</b></p><p>  CREATE TABLE `t_customer` (<

44、;/p><p>  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '客戶編號(hào)',</p><p>  `name` varchar(20) NOT NULL COMMENT '姓名',</p><p>  `zip` varchar(50) NOT NULL COMMENT '郵編

45、9;,</p><p>  `tel` varchar(20) NOT NULL COMMENT '電話',</p><p>  `fax` varchar(20) NOT NULL COMMENT '傳真',</p><p>  `bankno` varchar(20) NOT NULL COMMENT '銀行帳號(hào)'

46、,</p><p>  PRIMARY KEY (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立職工表:</b></p><p>  CREATE TABLE `t_employee` (</p><p>

47、;  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '職工編號(hào)',</p><p>  `name` varchar(20) NOT NULL COMMENT '姓名',</p><p>  `sex` varchar(20) NOT NULL COMMENT '性別',</p>&l

48、t;p>  `dob` date NOT NULL COMMENT '出生日期',</p><p>  `address` varchar(50) NOT NULL COMMENT '地址',</p><p>  `worktel` varchar(20) NOT NULL COMMENT '辦公電話',</p><

49、p>  `hometel` varchar(20) NOT NULL COMMENT '住宅電話',</p><p>  `email` varchar(20) NOT NULL COMMENT '郵箱',</p><p>  `position` varchar(20) NOT NULL COMMENT '職位',</p>

50、<p>  `title` varchar(20) NOT NULL COMMENT '職稱',</p><p>  PRIMARY KEY (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立訂單表:</b></p&g

51、t;<p>  CREATE TABLE `t_order` (</p><p>  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單編號(hào)',</p><p>  `p_id` int(11) NOT NULL COMMENT '客戶編號(hào)哦',</p><p>  `ord

52、er_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '訂貨日期',</p><p>  `jiao_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '交貨日期',

53、</p><p>  `sm_id` int(11) NOT NULL COMMENT '發(fā)貨方式編號(hào)',</p><p>  `e_id` int(11) NOT NULL COMMENT '職工編號(hào)',</p><p>  `state` varchar(50) NOT NULL COMMENT '執(zhí)行狀態(tài)',&l

54、t;/p><p>  PRIMARY KEY (`id`),</p><p>  KEY `fk_order_customer` (`p_id`),</p><p>  KEY `fk_order_shipmentmethod` (`sm_id`),</p><p>  KEY `fk_order_employee` (`e_id`),</

55、p><p>  CONSTRAINT `fk_order_customer` FOREIGN KEY (`p_id`) REFERENCES `t_product` (`id`),</p><p>  CONSTRAINT `fk_order_employee` FOREIGN KEY (`e_id`) REFERENCES `t_employee` (`id`),</p>&l

56、t;p>  CONSTRAINT `fk_order_shipmentmethod` FOREIGN KEY (`sm_id`) REFERENCES `t_shipmentmethod` (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立訂單細(xì)節(jié)表:</b></p

57、><p>  CREATE TABLE `t_order_details` (</p><p>  `o_id` int(11) NOT NULL COMMENT '訂單號(hào)',</p><p>  `p_id` int(11) NOT NULL COMMENT '產(chǎn)品號(hào)',</p><p>  `numer` in

58、t(11) NOT NULL COMMENT '訂貨數(shù)量',</p><p>  PRIMARY KEY (`o_id`,`p_id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立付款表:</b></p><p>  R

59、EATE TABLE `t_pay` (</p><p>  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '付款方式編號(hào)',</p><p>  `method` varchar(20) NOT NULL COMMENT '付款方式',</p><p>  PRIMARY KEY (`id

60、`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立產(chǎn)品表:</b></p><p>  CREATE TABLE `t_product` (</p><p>  `id` int(11) NOT NULL AUTO_INCREMENT C

61、OMMENT '產(chǎn)品編號(hào)',</p><p>  `name` varchar(20) NOT NULL COMMENT '產(chǎn)品名',</p><p>  `moder` varchar(20) NOT NULL COMMENT '型號(hào)',</p><p>  `norm` varchar(20) NOT NULL C

62、OMMENT '規(guī)格',</p><p>  `price` float NOT NULL COMMENT '單價(jià)',</p><p>  `weight` float NOT NULL COMMENT '重量',</p><p>  PRIMARY KEY (`id`)</p><p>  )

63、 ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立發(fā)貨表:</b></p><p>  CREATE TABLE `t_shipment` (</p><p>  `shipment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '發(fā)貨編號(hào)

64、',</p><p>  `o_id` int(11) NOT NULL COMMENT '訂單號(hào)',</p><p>  `p_id` int(11) NOT NULL COMMENT '產(chǎn)品號(hào)',</p><p>  `number` int(11) NOT NULL COMMENT '數(shù)量',</p

65、><p>  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '發(fā)貨日期',</p><p>  `sm_id` int(11) NOT NULL COMMENT '發(fā)貨方式編號(hào)',</p><p>  `sta

66、te` varchar(20) NOT NULL COMMENT '完成狀態(tài)',</p><p>  `e_id` int(11) NOT NULL COMMENT '職工編號(hào)',</p><p>  PRIMARY KEY (`shipment_id`),</p><p>  KEY `fk_shipment_order` (`o_

67、id`),</p><p>  KEY `fk_shipment_product` (`p_id`),</p><p>  KEY `fk_shipment_shipmentmethod` (`sm_id`),</p><p>  KEY `fk_shipment_employee` (`e_id`),</p><p>  CONSTRAIN

68、T `fk_shipment_employee` FOREIGN KEY (`e_id`) REFERENCES `t_employee` (`id`),</p><p>  CONSTRAINT `fk_shipment_order` FOREIGN KEY (`o_id`) REFERENCES `t_order` (`id`),</p><p>  CONSTRAINT `fk_sh

69、ipment_product` FOREIGN KEY (`p_id`) REFERENCES `t_product` (`id`),</p><p>  CONSTRAINT `fk_shipment_shipmentmethod` FOREIGN KEY (`sm_id`) REFERENCES `t_shipmentmethod` (`id`)</p><p>  ) ENGINE=

70、InnoDB DEFAULT CHARSET=utf8;</p><p><b>  建立發(fā)貨方式表:</b></p><p>  CREATE TABLE `t_shipmentmethod` (</p><p>  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '發(fā)貨方式編號(hào)',&

71、lt;/p><p>  `method` varchar(20) NOT NULL COMMENT '發(fā)貨方式',</p><p>  PRIMARY KEY (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b>  四 系統(tǒng)實(shí)現(xiàn)</b

72、></p><p>  數(shù)據(jù)庫(kù)實(shí)現(xiàn):在使用mysql創(chuàng)建好數(shù)據(jù)庫(kù)后,對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,在設(shè)置好數(shù)據(jù)源與JDBC的連接,就能使用數(shù)據(jù)庫(kù)了。在此程序中,數(shù)據(jù)源設(shè)置為customer_db。</p><p><b>  數(shù)據(jù)庫(kù)的連接:</b></p><p>  Class.forName(com.mysql.jdbc.Driver);<

73、/p><p>  Connection conn = DriverManager.getConnection(jdbc:mysql:///customer_db);</p><p><b>  登陸界面:</b></p><p><b>  登陸時(shí)的驗(yàn)證:</b></p><p>  String na

74、me = request.getParameter("admin");</p><p>  String pwd = request.getParameter("pwd")</p><p>  AdminDao dao = new AdminDao();</p><p>  Admin admin = dao.findByNa

75、meAndPassword(name, pwd);</p><p>  if(admin!=null){</p><p>  if(admin.getName().equals(name)&&admin.getPassword().equals(pwd)){</p><p>  request.setAttribute("admin&quo

76、t;, admin);</p><p>  request.getRequestDispatcher("show.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  }else{</b></p><p

77、>  response.sendRedirect("index.jsp");</p><p><b>  }</b></p><p><b>  主界面:</b></p><p><b>  五 系統(tǒng)評(píng)價(jià)</b></p><p>  此次設(shè)計(jì)的網(wǎng)站完成

78、了本次課程設(shè)計(jì)的任務(wù)要求,實(shí)現(xiàn)了客戶、訂單等相關(guān)信息的管理,并實(shí)現(xiàn)了各種信息的查詢,能夠正確的提示各類錯(cuò)誤,例如修改密碼時(shí)兩次密碼輸入不正確,創(chuàng)建新客戶時(shí)沒(méi)有輸入姓名等。登錄界面的設(shè)置為數(shù)據(jù)的安全提供了一定的保障。網(wǎng)站的使用比較簡(jiǎn)單,能使使用者方便的使用。軟件的不足之處也很多,例如數(shù)據(jù)操作還不是很完善,窗口界面太過(guò)單調(diào),界面不夠美觀,有些功能還沒(méi)有實(shí)現(xiàn)等等。</p><p>  六 課程設(shè)計(jì)心得、總結(jié)</p

79、><p>  通過(guò)設(shè)計(jì)客戶訂購(gòu)登記系統(tǒng),從需求分析開(kāi)始,逐步的進(jìn)行概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)以及實(shí)現(xiàn)等,掌握了數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的整個(gè)流程。在設(shè)計(jì)過(guò)程中,首先將系統(tǒng)中的實(shí)體找出來(lái),然后再建立系統(tǒng)的E-R圖,這是概念結(jié)構(gòu)設(shè)計(jì)的內(nèi)容。在邏輯設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系模式,這里涉及到對(duì)聯(lián)系的處理。我們可以按照習(xí)慣將聯(lián)系作為一個(gè)單獨(dú)的關(guān)系模式,也可以將聯(lián)系與n端對(duì)應(yīng)的關(guān)系模式合并。該設(shè)計(jì)中,就采用了這兩種不同的方式。物理設(shè)計(jì)

80、主要是完成數(shù)據(jù)庫(kù)在實(shí)際物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法的選取。我選用了聚簇方法應(yīng)用到訂單和商品關(guān)系,這樣,進(jìn)行商品查詢或訂單查詢時(shí),就比較方便、也省去了對(duì)結(jié)果的再排序等麻煩。而對(duì)系統(tǒng)中其他關(guān)系的存取方法的選取還有待研究。由于對(duì)物理設(shè)計(jì)掌握的不夠好,這里設(shè)計(jì)的也并不全面。最后的實(shí)現(xiàn)中,用jsp和SQL 實(shí)現(xiàn)了用戶注冊(cè)這個(gè)模塊。通過(guò)與數(shù)據(jù)庫(kù)連接,可以在程序中對(duì)數(shù)據(jù)庫(kù)中的表直接操作。從而實(shí)現(xiàn)了將用戶的注冊(cè)信息插入數(shù)據(jù)庫(kù)。</p>

81、<p>  當(dāng)然,由于是第一次進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),這次課程設(shè)計(jì)中也存在一些不足,。這些都是需要改進(jìn)的地方。</p><p>  總的來(lái)說(shuō),通過(guò)對(duì)系統(tǒng)的設(shè)計(jì),我對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)的處理過(guò)程、對(duì)數(shù)據(jù)的分析、對(duì)SQL語(yǔ)言的運(yùn)用等都有了進(jìn)一步的掌握和提高。</p><p><b>  參考文獻(xiàn):</b></p><p>  1.《HeadFist J

82、ava》中國(guó)電力出版社</p><p>  2.《HeadFirst Servlet & JSP》中國(guó)電力出版社</p><p>  3. 《JavaScript高級(jí)程序設(shè)計(jì)(第2版)》.(美)澤卡斯. </p><p>  4.《精通CSS 高級(jí)web標(biāo)準(zhǔn)解決方案(第二版)</p><p>  5.《HeadFirst Html》中

溫馨提示

  • 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ù)僅提供信息存儲(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)論