版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶訂購(gòu)登記系統(tǒng)課程設(shè)計(jì)
- 客戶訂購(gòu)登記系統(tǒng)軟件設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)-- 商品訂購(gòu)系統(tǒng)設(shè)計(jì)
- 基于javaweb客戶訂購(gòu)登記管理
- 快餐訂購(gòu)系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 酒店客戶入住登記管理課程設(shè)計(jì)
- 客戶消費(fèi)管理系統(tǒng)_課程設(shè)計(jì)
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告---商品訂購(gòu)系統(tǒng)設(shè)計(jì)
- 客戶關(guān)系管理系統(tǒng)課程設(shè)計(jì)
- 酒店客戶管理系統(tǒng)課程設(shè)計(jì)
- 客戶信息管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理系統(tǒng)
- javaweb課程設(shè)計(jì)--客戶信息管理系統(tǒng)
- javaweb課程設(shè)計(jì)--客戶信息管理系統(tǒng)
- c++客戶信息管理系統(tǒng)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)--客戶關(guān)系管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 客戶消費(fèi)積分系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---客戶信息管理系統(tǒng)
- 客戶關(guān)系管理課程設(shè)計(jì)
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理
評(píng)論
0/150
提交評(píng)論