倉庫管理系統(tǒng)(典型數(shù)據(jù)庫)_第1頁
倉庫管理系統(tǒng)(典型數(shù)據(jù)庫)_第2頁
倉庫管理系統(tǒng)(典型數(shù)據(jù)庫)_第3頁
倉庫管理系統(tǒng)(典型數(shù)據(jù)庫)_第4頁
倉庫管理系統(tǒng)(典型數(shù)據(jù)庫)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南城建學院典型數(shù)據(jù)庫課程設計報告課程名稱: 典型數(shù)據(jù)庫課程設計 設計題目: 倉庫管理系統(tǒng) 指導教師: 班 級: 學 號: 學生姓名: 同組人員: 計算機科學與工程學院2016 年 1 月 10 日成 績: 評 語: 典型數(shù)據(jù)庫課程設計報告 - 1 -目 錄第 1 章 概述.21.1 選題的背景與意義.21.2 相關(guān)技術(shù)分析.3第 2 章 系統(tǒng)功能設計.42.1 系統(tǒng)總體結(jié)構(gòu)設計圖.42.2 系統(tǒng)功能模塊.41.2.1 登錄模塊.41.2.2 基本信息管理模塊.51.2.3 貨物信息管理模塊.51.2.4 倉庫貨物管理模塊.61.2.5 查詢信息信息模塊.61.2.6 倉庫警報功能模塊.71.

2、2.7 信息導出功能模塊.7第 3 章 數(shù)據(jù)庫設計.83.1 需求分析.83.1.1 數(shù)據(jù)流程圖.83.1.2 數(shù)據(jù)字典.103.2 數(shù)據(jù)庫概念結(jié)構(gòu)設計.123.2.1 E-R 圖設計方法.123.2.2 全局 E-R 圖.123.2.3 局部 E-R 圖.133.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計.153.4 安全性和完整性設計.17第 4 章 數(shù)據(jù)庫維護與查詢.184.1 序列.184.2 觸發(fā)器.18第 5 章 UI 設計與代碼實現(xiàn).205.1 UI 設計 .205.1.1 倉庫管理員.205.1.2 系統(tǒng)管理員.225.2 代碼實現(xiàn).245.2.1 倉庫管理員.245.3.2 系統(tǒng)管理員.28第

3、6 章 結(jié)束語.31參考文獻.33 典型數(shù)據(jù)庫課程設計報告 - 2 -第 1 章 概述1.1 選題的背景與意義1、背景:隨著信息技術(shù)的發(fā)展和國內(nèi)外互聯(lián)網(wǎng)技術(shù)應用水平的逐步提高,在企業(yè)管理過程中,傳統(tǒng)的工作方式和管理模式已經(jīng)難以滿足現(xiàn)代社會的必然需求,實現(xiàn)企業(yè)現(xiàn)代化綜合管理已經(jīng)是提高國家政府機關(guān)和企事業(yè)單位各部門工作效率、規(guī)范化管理的必然發(fā)展趨勢。隨著經(jīng)濟全球化、信息網(wǎng)絡化和物流現(xiàn)代化進程的全面推進,倉儲供需量呈現(xiàn)爆炸式的增長,傳統(tǒng)的倉庫管理模式和管理系統(tǒng),已根本滿足不了現(xiàn)代社會全面信息化的嚴峻挑戰(zhàn),如何加強以信息化為指導的現(xiàn)代倉庫管理技術(shù)已成為物流現(xiàn)代化走向成功的有效途徑,如何將互聯(lián)網(wǎng)技術(shù)和倉

4、儲物流的信息化技術(shù)緊密結(jié)合起來,開發(fā)出適應當前社會發(fā)展需要的、先進的現(xiàn)代化物流倉儲管理技術(shù)平臺,是現(xiàn)代化物流發(fā)展技術(shù)中一項基礎的、又是很關(guān)鍵的、特別值得研究的子課題。ASP 技術(shù)是面向?qū)ο缶幊痰募夹g(shù),可實現(xiàn)復雜數(shù)據(jù)庫的操作;用 ASP 開發(fā)的 Web 應用程序安裝在網(wǎng)絡服務器上,運行在網(wǎng)絡服務器上,因而 ASP 源程序的隱密安全系數(shù)性高;而 ASP 又是基于 B/S 模型架構(gòu)的、開放式的 Web 服務器的應用程序開發(fā)技術(shù),因此,采用 ASP 技術(shù)開發(fā)運行在服務器端的倉庫管理信息系統(tǒng)平臺是眾多軟件設計與開發(fā)人士的首要選擇。本文比較全面地闡述了與 ASP、ADO、B/S 模式有關(guān)的理論技術(shù),為構(gòu)建

5、 Web 倉庫管理信息系統(tǒng)提供了必要的理論支持。首先分析了 ASP 技術(shù)的優(yōu)勢、特點及其工作原理,剖析了ASP 工作的核心內(nèi)涵,搭建了 ASP 技術(shù)的工作環(huán)境,為開發(fā)系統(tǒng)功能提供的必需的技術(shù)運行環(huán)境;分析了目前 Web 數(shù)據(jù)庫最佳訪問組件 ADO 技術(shù)的對象與數(shù)據(jù)集之間的關(guān)系,直接搭建了 Web 應用程序與數(shù)據(jù)庫訪問的聯(lián)系梁;根據(jù)現(xiàn)代倉儲市場的需求特點,對擬開發(fā)系統(tǒng)的功能進行了細致地分析與設計,建立了倉儲數(shù)據(jù)管理的 E-R 模型圖、數(shù)據(jù)庫結(jié)構(gòu),分析了 B/S 架構(gòu)模式的三層框架,構(gòu)建了以該框架為模型的倉庫管理信息系統(tǒng),重點分析介紹了有關(guān)功能模塊的 ASP 實現(xiàn)過程,成功地實現(xiàn)了基于 ASP 運

6、行環(huán)境的倉庫管理信息系統(tǒng)的開發(fā)與設計;并對本系統(tǒng)的各項功能進行了測試與分析,發(fā)現(xiàn)系統(tǒng)運行狀態(tài)良好,人機交互友好,程序設計實現(xiàn)合理,達到了項目設計的目的和要求。最后,對本次的項目設計進行了總結(jié)與展望,發(fā)現(xiàn)了系統(tǒng)的構(gòu)架模式關(guān)系著程序開發(fā)效率,對開發(fā)系統(tǒng)有著重要的影響意義,好馬配好鞍,優(yōu)秀的軟件必然有優(yōu)秀的構(gòu)架。作為軟件開發(fā)設計人員既要努力學好軟件技術(shù)又要重視相關(guān)模式的學習,這 典型數(shù)據(jù)庫課程設計報告 - 3 -樣,就能達到事半功倍的效果,設計開發(fā)出更加優(yōu)秀的應用系統(tǒng)來。2、意義 倉庫管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護,以及前端應用程序的開發(fā)兩個方面。對于前

7、者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫,而對于后者則要求應用程序功能完備、易使用等特點。經(jīng)過分析,我們使用 Microsoft 公司的數(shù)據(jù)庫開發(fā)工具 SQL Server2008 和 Microsoft Visual Studio 2010,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具和數(shù)據(jù)庫的結(jié)合比較方便,我們開發(fā)了這套庫存管理系統(tǒng),包括倉庫管理、入庫管理、出庫管理、庫存管理以及查詢等模塊。倉庫管理可用于配置企業(yè)的倉庫信息;出庫、入庫管理可以使管理人員管理各種類型的貨物進出;庫存管理可提供便捷的庫存查詢管理。倉庫管理系統(tǒng)實現(xiàn)了企業(yè)對貨物的管理,用來控制存儲貨物的數(shù)量,以保證穩(wěn)定的貨物支持正

8、常的運轉(zhuǎn),但又最小限度地占用資本。它是一種相關(guān)的、動態(tài)的及真實的庫存控制系統(tǒng)。它能夠結(jié)合、滿足相關(guān)部門的需求,隨時間變化動態(tài)地調(diào)整庫存,精確地反映庫存現(xiàn)狀,加強庫存環(huán)節(jié)管理,有效地控制貨物收發(fā),降低了庫存,優(yōu)化了庫存結(jié)構(gòu);能夠及時了解貨物狀態(tài),全方位的倉庫管理可以及時了解貨物分布,避免了貨物短缺、積壓、過期變質(zhì),及時了解貨物的收發(fā)成本,貨物數(shù)據(jù)共享。1.2 相關(guān)技術(shù)分析 此系統(tǒng)采用了成熟且完善的 oracle 11g 及 Microsoft Visual Studio 2010 軟件開發(fā)工具來進行后臺數(shù)據(jù)庫的管理、操作和維護。該軟件功能強大,可用性強,完全可以滿足我們開發(fā)項目的要求。 典型數(shù)據(jù)

9、庫課程設計報告 - 4 -第 2 章 系統(tǒng)功能設計2.1 系統(tǒng)總體結(jié)構(gòu)設計圖系統(tǒng)要具備如下功能:登錄界面統(tǒng)一,用戶登錄系統(tǒng)時進行身份驗證,如不是系統(tǒng)用戶則禁止登錄; 添加新員工時,通過系統(tǒng)管理員進行添加,并能采集員工的基本信息;倉庫貨品信息的管理,系統(tǒng)包括倉庫管理、入庫、出庫和一些統(tǒng)計查詢等幾部分組成。倉庫管理系統(tǒng)實現(xiàn)對貨品信息的管理和總體的統(tǒng)計等,倉庫信息,供貨單位和操作員信息的查看及維護。倉庫管理人員可以瀏覽、查詢、添加、刪除等產(chǎn)品的基本信息。不 不 不 不 不 不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不圖 2.1 系統(tǒng)功能圖2.2 系統(tǒng)功能模塊

10、1.2.1 登錄模塊登錄模塊可以分為系統(tǒng)管理員登錄和管理員登錄。如果用戶要進行登陸時,系統(tǒng)會進去數(shù)據(jù)庫進行帳號密碼匹配,同時也要進行權(quán)限匹配,如果匹配成功才可以登錄。根據(jù)其選擇的用戶不同,輸入不同的用戶與密碼,接入不同的用戶界面,管理不同的界面。 典型數(shù)據(jù)庫課程設計報告 - 5 -不 不 不 不不不不不不不不不不不不不不不圖 1.2.1 登陸模塊1.2.2 基本信息管理模塊基本信息模塊分為倉庫基本信息,操作員基本信息,客戶基本信息,倉庫基本信息又分為管理員管理,提貨員管理,采購員管理。不 不 不 不 不 不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不圖 1.2.2 基本

11、信息管理模塊1.2.3 貨物信息管理模塊貨物信息管理模塊分為添加貨物信息,修改貨物信息,刪除貨物信息。 典型數(shù)據(jù)庫課程設計報告 - 6 -不 不 不 不 不 不不不不不不不不不不不不不不不不不不不圖 1.2.3 貨物信息管理1.2.4 倉庫貨物管理模塊倉庫貨物管理模塊分為入庫操作和出庫操作。不 不 不 不 不 不不不不不不不不不圖 1.2.4 倉庫貨物管理1.2.5 查詢信息信息模塊查詢信息管理模塊分為查詢貨物信息,查詢倉庫信息,查詢客戶信息。 典型數(shù)據(jù)庫課程設計報告 - 7 -不 不 不 不 不 不不不不不不不不不不不不不不不不不不不圖 1.2.5 查詢信息管理1.2.6 倉庫警報功能模塊倉

12、庫警報功能模塊在貨物不足時提示。不 不 不 不 不 不不不不不不不圖 1.2.6 警報功能1.2.7 信息導出功能模塊信息導出功能模塊分為導出貨物信息,導出入庫信息,導出出庫信息。 典型數(shù)據(jù)庫課程設計報告 - 8 -不 不 不 不 不 不不不不不不不不不不不不不不不不不不不圖 1.2.7 信息導出功能第 3 章 數(shù)據(jù)庫設計3.1 需求分析3.1.1 數(shù)據(jù)流程圖倉庫客戶貨物操作員倉庫管理系統(tǒng)出貨進貨出庫入庫查詢操作返回結(jié)果購貨供貨圖 3.1.1 頂層數(shù)據(jù)流圖 典型數(shù)據(jù)庫課程設計報告 - 9 -圖 3.1.2 系統(tǒng)數(shù)據(jù)流圖詳細設計圖 3.1.3 管理員-貨物 典型數(shù)據(jù)庫課程設計報告 - 10 -圖

13、 3.1.4 管理員-入庫、出庫圖 3.1.5 管理員-客戶 典型數(shù)據(jù)庫課程設計報告 - 11 -圖 3.1.6 管理員-倉庫3.1.2 數(shù)據(jù)字典(1)倉庫表字段名稱數(shù)據(jù)類型描述Snoint倉庫編號,主鍵Snamevarchar2(10)倉庫名稱Sadressvarchar2(50)倉庫地址Sbignumber倉庫大小Anovarchar2(10)管理員編號 外鍵(2)入庫表字段名稱數(shù)據(jù)類型描述GnoInt貨物編號 外鍵Bnoint采購員編號 外鍵SnoInt倉庫編號 外鍵IdateDate采購日期InumInt采購數(shù)量Anovarchar2(10)管理員編號 外鍵(3)出庫表字段名稱數(shù)據(jù)類型

14、描述GnoInt貨物編號 外鍵Pnoint提貨員編號 外鍵Snoint倉庫編號 外鍵Anovarchar2(10)管理員編號 外鍵Odatedate采購日期OnumInt采購數(shù)量(4)客戶表字段名稱數(shù)據(jù)類型描述CnoInt客戶號,主鍵CnameVarchar2(10)客戶名CtypeVarchar2(10)客戶類型CmethodVarchar2(11)聯(lián)系地址CcodeVarchar2(7)郵政編號CbzVarchar2(50)備注Pnoint提貨員編號 外鍵(5)庫存表字段名稱數(shù)據(jù)類型描述GnoInt貨物編號 外鍵Snoint倉庫編號 外鍵KnumInt貨物數(shù)量Kdatedate清點時間(6

15、)提貨員表字段名稱數(shù)據(jù)類型描述PnoInt提貨員編號,主鍵 典型數(shù)據(jù)庫課程設計報告 - 12 -PnameVarchar2(11)提貨員姓名Psexvarchar2(3)提貨員性別Pmethodvarchar2(11)提貨員聯(lián)系方式Paddressvarchar2(50)提貨員聯(lián)系地址(7)用戶表字段名稱數(shù)據(jù)類型描述UnameVarchar2(10)用戶名UpassVarchar2(10)密碼UgradeInt權(quán)限(8)管理員表字段名稱數(shù)據(jù)類型描述AnoVarchar2(10)管理員編號,主鍵AnameVarchar2(10)管理員姓名AsexVarchar2(3)管理員性別Amethodva

16、rchar2(11)管理員聯(lián)系方式Aaddressvarchar2(50)管理員地址(9)貨物表字段名稱數(shù)據(jù)類型描述Gnoint貨物編號 主鍵Gnamevarchar2(10)貨物名稱Snonchar(10)倉庫編號Gdatedate生產(chǎn)日期Gfactoryvarchar2(10)生產(chǎn)廠家Pnonchar(10)采購員編號Gpricenumber(7,2)貨物單價Idatedate入庫時間(10)采購員表字段名稱數(shù)據(jù)類型描述BnoInt提貨員編號,主鍵Bnamevarchar2(10)提貨員姓名Bsexvarchar2(3)提貨員性別Bmethodvarchar2(11)提貨員聯(lián)系方式Badd

17、ressvarchar2(50)提貨員聯(lián)系地址3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設計3.2.1 E-R 圖設計方法 1).屬性必須是不可分的數(shù)據(jù)項。2).屬性不能與其他實體具有聯(lián)系,聯(lián)系只能發(fā)生在實體之間。3.2.2 全局 E-R 圖 典型數(shù)據(jù)庫課程設計報告 - 13 -不 不 不不 不 不不 不不 不 不不 不不 不不 不不 不不 不不 不不 不不 不不 不1N11NNNNNMMMNM圖 3.2.1 全局 E-R 圖3.2.3 局部 E-R 圖3.1、倉庫-貨物-采購員不 不 不不 不不 不不 不不 不 不 不不 不 不 不1NMMN不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不不

18、 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不 不不 不不 不不 不 不 不不 不 不 不圖 3.1 倉庫-貨物-采購員3.2、倉庫-貨物-提貨員 典型數(shù)據(jù)庫課程設計報告 - 14 -1不 不 不不 不不 不不 不不 不 不 不不 不 不 不1NMMN不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不 不不 不不 不不 不 不 不不 不 不 不圖 3.2 倉庫-貨物-提貨員3.3、倉庫-貨物(存儲情況)不 不不 不不 不MN不 不 不 不不 不 不 不不 不

19、 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不圖 3.3 倉庫-貨物(存儲情況)3.4、客戶-提貨員 典型數(shù)據(jù)庫課程設計報告 - 15 -不 不不 不 不不 不1N不 不 不不 不 不不 不 不 不不 不 不 不不 不不 不不 不 不 不 不不 不 不 不 不不 不不 不 不 不不 不圖 3.4 客戶-提貨員3.5、系統(tǒng)管理員-采購員不 不 不不 不N1不 不 不 不 不不 不不 不不 不 不 不不 不 不 不不 不 不 不 不不 不 不 不 不不 不 不 不 不不 不 不 不 不不 不不 不 不 不不 不圖 3.5 管

20、理員-采購員3.6、管理員-倉庫不 不 不不 不11不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不不 不 不 不 不不 不 不 不 不不 不 不 不 不不 不不 不 不 不不 不圖 3.6 管理員-倉庫 典型數(shù)據(jù)庫課程設計報告 - 16 -3.7、系統(tǒng)管理員-提貨員不 不N1不 不 不不 不 不 不 不不 不 不 不 不不 不不 不 不 不不 不不 不 不 不 不不 不 不 不 不不 不 不 不 不不 不 不 不 不不 不不 不 不 不不 不圖 3.7 系統(tǒng)管理員-提貨員3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計1、倉庫-貨物-采購員(入庫) (M-N)Tb_Storage(Sn

21、o,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_InStorage(Gno, Sno ,Idate,Inum,Bno);2、倉庫-貨物-提貨員(出庫) (M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);3、倉庫-貨物(存儲情況) (M-N)Tb_Storage(Sno,Sname,Sad

22、ress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_Kc(Gno, Sno ,Knum,Kdate);4、客戶-提貨員(N-M)Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);5、管理員-倉庫(1-N) 典型數(shù)據(jù)庫課程設計報告 - 17 -Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);Tb_Storage(Sno,Sname,Sadr

23、ess,Sbig,Ano); 倉庫/Tb_Storage(Sno,Sname,Sadress,Sbig,Ano); 入庫Tb_InStorage(Gno, Sno ,Idate,Inum,Bno); 出庫Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno); 客戶/Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno); 庫存Tb_Kc(Gno, Sno ,Knum,Kdate); 提貨員/Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress); 用戶/Tb_User(Uname,U

24、pass,Ugrade); 管理員/Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress); 貨物/Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate) 采購員/Tb_Buyer(Bno,Bname,Bsex,Bmethod,Badress);3.4 安全性和完整性設計1.外鍵約束:管理員表中作為主鍵的管理員編號在倉庫表中作為外鍵使用:constraint gly_key foreign key(Ano) references Tb_Admin(Ano)提貨員表中作為主鍵的提貨員編號在客戶表中作為外鍵使用:constraint

25、 thy_key foreign key(Pno) references Tb_Picker(Pno)貨物表中作為主鍵的貨物編號在庫存表中作為外鍵使用:constraint hw_key foreign key(Gno) references Tb_Good(Gno) 典型數(shù)據(jù)庫課程設計報告 - 18 -倉庫表中作為主鍵的的倉庫編號在庫存表中作為外鍵使用:constraint ck_key foreign key(Sno) references Tb_Storage(Sno)貨物編號,倉庫編號,提貨員編號,管理員編號在出庫表中作為外鍵使用:constraint hw1_key foreign

26、key(Gno) references Tb_Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint thy1_key foreign key(Pno) references Tb_Picker(Pno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)貨物編號,倉庫編號,采貨員編號,管理員編號在出庫表中作為外鍵使用:constraint hw1_key foreign key(Gno) references Tb_

27、Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint cgy2_key foreign key(Bno) references Tb_Buyer(Bno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)2.check 約束check 約束:Bsex varchar2(3) check (Bsex in(男,女), Psex varchar2(3) check (Psex in(男,女), 3.primary ke

28、y 約束 管理員表:Ano varchar2(10) primary key, 倉庫表 :Sno int primary key, 采購員表:Bno int primary key, 提貨員表:Pno int primary key, 貨物表 :Gno int primary key, 客戶表 :Cno int primary key,第 4 章 數(shù)據(jù)庫維護與查詢4.1 序列 1.提貨員序列create sequence Picker_seqstart with 1001increment by 1 2.采購員序列 create sequence Buyer_seqstart with 200

29、1increment by 1; 典型數(shù)據(jù)庫課程設計報告 - 19 - 3.貨物序列 create sequence Good_seqstart with 3001increment by 1; 4.倉庫序列create sequence Storage_seqstart with 4001increment by 1 5.客戶序列create sequence Client_seqstart with 5001increment by 1;4.2 觸發(fā)器1.提貨員觸發(fā)器create or replace trigger add_Picker_triggerbefore inserton TB

30、_Pickerfor each rowbeginif :new.Pno is null thenselect Picker_seq.nextval into :new.Pno from dual;end if;end add_Picker_trigger; 2.采購員觸發(fā)器create or replace trigger add_Buyer_triggerbefore inserton TB_Buyerfor each rowbeginif :new.Bno is null thenselect Buyer_seq.nextval into :new.Bno from dual;end if

31、;end add_Buyer_trigger; 3.貨物觸發(fā)器create or replace trigger add_Good_triggerbefore inserton TB_Goodfor each rowbeginif :new.Gno is null thenselect Good_seq.nextval into :new.Gno from dual;end if; 典型數(shù)據(jù)庫課程設計報告 - 20 -end add_Good_trigger; 4.倉庫觸發(fā)器create or replace trigger add_Storage_triggerbefore inserton

32、 TB_Storagefor each rowbeginif :new.Sno is null thenselect Storage_seq.nextval into :new.Sno from dual;end if;end add_Storage_trigger; 5.客戶觸發(fā)器create or replace trigger add_Client_triggerbefore inserton TB_Clientfor each rowbeginif :new.Cno is null thenselect Client_seq.nextval into :new.Cno from dua

33、l;end if;end add_Client_trigger;第 5 章 UI 設計與代碼實現(xiàn)5.1 UI 設計5.1.1 倉庫管理員1. 登錄界面設計登錄模塊可以分為系統(tǒng)管理員登錄和管理員登錄。如果用戶要進行登陸時,系統(tǒng)會進去數(shù)據(jù)庫進行帳號密碼匹配,同時也要進行權(quán)限匹配,如果匹配成功才可以登錄。 典型數(shù)據(jù)庫課程設計報告 - 21 -根據(jù)其選擇的用戶不同,輸入不同的用戶與密碼,接入不同的用戶界面,管理不同的界面。2. 基本信息模塊設計基本信息模塊包含倉庫基本信息,客戶基本信息,操作員基本信息。倉庫基本信息設置有修改和刪除的功能。客戶基本信息設置了添加,刪除和修改的功能。操作員基本信息設置了修

34、改功能。因為客戶信息為常變實體屬性,因此設置了添加,修改和刪除的功能。倉庫信息為不常變實體屬性,因此設置了修改和刪除屬性。操作員因為是管理員,不能修改同一等級權(quán)限的信息,因此只給添加了修改基本信息的功能。3. 貨物信息模塊設計貨物信息模塊包含對貨物信息的添加,貨物信息的刪除,貨物信息的修改對應現(xiàn)實世界的引進新貨物,貨物信息的更新和清倉處理。 典型數(shù)據(jù)庫課程設計報告 - 22 -4. 出庫入庫模塊設計出庫入庫模塊包含了貨物出庫和入庫模塊。對于入庫信息來說,當系統(tǒng)開始入庫時,先判斷貨物是否存在,如果不存在的話這直接將貨物信息插入庫存表,然后在入庫表中插入記錄,提示入庫成功。如果貨物存在的話則看對應

35、的倉庫是否存在如果存在的話則在原來的貨物基礎上只更新貨物數(shù)量提示入庫成功,如果倉庫不匹配的話則插入該貨物信息,然后在入庫表中插入記錄,提示入庫成功。出庫信息,當系統(tǒng)開始出庫時,先判斷貨物是否存在如果存在的話則看需要出貨的倉庫是否存在,如果存在的話再看貨物數(shù)量是否滿足出貨數(shù),如果滿足則出庫成功同時對庫存表和出庫表進行更新,提示出庫成功,否則則出庫失敗。5. 信息查詢模塊設計信息查詢模塊包含貨物信息查詢,倉庫信息查詢,客戶信息查詢。通過對客戶表,倉庫表和貨物表的主鍵進行匹配唯一的確定一行數(shù)據(jù)返回 GridView 進行顯示。 典型數(shù)據(jù)庫課程設計報告 - 23 -6. 警報信息模塊設計警報信息功能,

36、是當庫存中貨物數(shù)量少于 10 的時候自動提醒管理員要進行及時的補貨,以免貨物短缺,造成損失。7. 信息導出模塊設計信息導出模塊包含了導出貨物信息,導出出庫信息,導出入庫信息功能,方便倉庫人員進行報表打印和倉庫流水信息。5.1.2 系統(tǒng)管理員1. 管理員信息模塊設計管理員信息模塊包含對管理員的添加修改和刪除的功能,因為倉庫管理系統(tǒng)由管理員進行管理,因此當添加管理員信息時,在給管理員表添加基本信息的同時也給用戶表中添加了信息,帳號為管理員編號,密碼默認為 123. 典型數(shù)據(jù)庫課程設計報告 - 24 -2. 采購員信息模塊設計采購員信息管理(對采購員信息的添加,修改,刪除)3. 提貨員信息模塊設計提

37、貨員信息管理(對提貨員信息的添加,修改,刪除)5.2 代碼實現(xiàn)5.2.1 倉庫管理員1. 登錄界面登錄匹配關(guān)鍵代碼 典型數(shù)據(jù)庫課程設計報告 - 25 -protected void Button1_Click(object sender, EventArgs e) var qx = -1 ; if (DropDownList1.SelectedValue.ToString() = 倉庫管理員) qx = 1; else qx = 0; OracleCommand mycommand = new OracleCommand(select * from Tb_User where Uname= +

38、 this.TextBox1.Text.ToString() + and Upass= + this.TextBox2.Text.ToString() + and Ugrade= + qx, conn); conn.Open(); OracleDataReader recu = mycommand.ExecuteReader(); if (recu.Read() if (qx=1) SessionAname = TextBox1.Text; Response.Redirect(jbxx.aspx); else if (qx = 0) Response.Redirect(gly.aspx); e

39、lse Response.Write(alert(后勤處用戶名或密碼錯誤!);); TextBox2.Text = ; 2. 基本信息添加客戶信息關(guān)鍵代碼protected void Button1_Click(object sender, EventArgs e) OracleCommand mycomm = new OracleCommand(insert into Tb_Client(Cname,Ctype,Cmethod,Ccode,Caddress,Cbz,Pno) values( + this.TextBox2.Text.ToString() + , + this.TextBox3

40、.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox5.Text.ToString() + , + this.TextBox4.Text.ToString() + , + this.TextBox7.Text.ToString() + , + this.TextBox8.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my = new OracleCommand(s

41、elect * from Tb_Client where Cname= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; th

42、is.TextBox7.Text = ; 典型數(shù)據(jù)庫課程設計報告 - 26 - this.TextBox8.Text = ; else Response.Write(alert(添加失?。?;); conn.Close(); protected void Button2_Click(object sender, EventArgs e) /this.TextBox1.Text = ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.

43、Text = ; this.TextBox7.Text = ; this.TextBox8.Text = ; 3. 貨物信息添加貨物信息關(guān)鍵代碼 protected void Button1_Click(object sender, EventArgs e) OracleCommand mycomm = new OracleCommand(insert into Tb_Good(Gname,Gdate,Gfactory,Gprice,Idate) values( + this.TextBox2.Text.ToString() + ,+ TextBox3.Text.ToString()+, +

44、this.TextBox4.Text.ToString() + ,+TextBox5.Text+ ,+TextBox6.Text.ToString()+), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my = new OracleCommand(select * from Tb_Good where Gname= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu = my.Execut

45、eReader(); if (recu.Read() Response.Write(alert(添加成功!);); this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; else Response.Write(alert(添加失??!);); conn.Close(); protected void Button2_Click(object sender, EventArgs e) /this.TextBox1.Text

46、= ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; 典型數(shù)據(jù)庫課程設計報告 - 27 -4. 出庫入庫信息出庫入庫關(guān)鍵代碼protected void Button1_Click(object sender, EventArgs e) OracleCommand my = new OracleCommand(select * from Tb_Kc where ( Gno= + this.TextBox1.Tex

47、t.ToString() + and Knum= + this.TextBox4.Text + and Sno= + this.TextBox2.Text.ToString() + ), conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); if (recu.Read() conn.Close(); OracleCommand mycomm = new OracleCommand(insert into Tb_OutStorage values( + this.TextBox1.Text.ToString() + , +

48、 this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my1 = new OracleCommand(update Tb_Kc SET Knum=(Knum- + th

49、is.TextBox4.Text + ) where (Gno= + this.TextBox1.Text.ToString() + and Sno= + this.TextBox2.Text.ToString() + ), conn); conn.Open(); my1.ExecuteNonQuery(); conn.Close(); Response.Write(alert(出庫成功!);); else conn.Close(); Response.Write(alert(貨物不存在或者貨物不足出庫失??!);); protected void Button2_Click(object se

50、nder, EventArgs e) this.TextBox1.Text = ; this.TextBox2.Text = ; / this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ;protected void Button1_Click(object sender, EventArgs e) OracleCommand my = new OracleCommand(select * from Tb_Kc where Gno= + this.TextBox1.T

51、ext.ToString() + and Sno= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); if (recu.Read() conn.Close(); OracleCommand my1 = new OracleCommand(update Tb_Kc SET Knum=(Knum+ + this.TextBox4.Text + ) where Gno= + this.TextBox1.Text.ToString() + and Sno

52、= + this.TextBox2.Text.ToString() + , conn); conn.Open(); my1.ExecuteNonQuery(); conn.Close(); 典型數(shù)據(jù)庫課程設計報告 - 28 - else conn.Close(); OracleCommand my2 = new OracleCommand(insert into Tb_Kc(Gno,Sno,Knum) values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox4.T

53、ext + ), conn); conn.Open(); my2.ExecuteNonQuery(); conn.Close(); OracleCommand my3 = new OracleCommand(select * from Tb_Kc where Gno= + this.TextBox1.Text.ToString() + and Sno= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu1 = my.ExecuteReader(); if (recu1.Read() conn

54、.Close(); OracleCommand mycomm = new OracleCommand(insert into Tb_InStorage values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + ), conn); con

55、n.Open(); mycomm.ExecuteNonQuery(); conn.Close(); Response.Write(alert(入庫成功!);); else conn.Close(); Response.Write(alert(入庫失敗!);); protected void Button2_Click(object sender, EventArgs e) this.TextBox1.Text = ; this.TextBox2.Text = ; /this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text

56、= ; this.TextBox6.Text = ; 5. 信息查詢查詢倉庫信息關(guān)鍵代碼protected void Button1_Click(object sender, EventArgs e) Label2.Text = TextBox1.Text; GridView1.Visible = true; if (GridView1.Rows.Count = 0) Label3.Text = 倉庫信息不存在!; else GridView1.Visible = true; 典型數(shù)據(jù)庫課程設計報告 - 29 - 6. 警報功能顯示警報信息關(guān)鍵代碼 protected void Button1

57、_Click(object sender, EventArgs e) Label1.Text = 以下貨物庫存不足,請及時補充; OracleDataAdapter dataAdapter2 = new OracleDataAdapter(select * from tb_kc where Knum=10, conn); DataSet setS = new DataSet(); dataAdapter2.Fill(setS, AAA); this.GridView1.DataSource = setS.TablesAAA; this.GridView1.DataBind(); 7. 信息導出

58、導出入庫信息關(guān)鍵代碼 protected void Button1_Click(object sender, EventArgs e) Response.Clear(); Response.BufferOutput = true; /設定輸出的字符集 Response.Charset = GB2312; /假定導出的文件名為 aFileName.doc Response.AppendHeader(Content-Disposition, attachment;filename=Statement.doc); Response.ContentEncoding = System.Text.Enco

59、ding.GetEncoding(GB2312); /設置導出文件的格式 Response.ContentType = application/ms-word; /關(guān)?閉?ViewState GridView1.EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(ZH-CN, true); System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultur

60、eInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); GridView1.RenderControl(textWriter); /把 HTML 寫回瀏覽器 Response.Write(stringWriter.ToString(); Response.End(); 5.3.2 系統(tǒng)管理員1. 添加管理員信息關(guān)鍵代碼protected void Button1_Click(object sender, EventArgs e) OracleCommand

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論