版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、互聯(lián)網(wǎng)絡(luò) 河南城建學(xué)院 典型數(shù)據(jù)庫課程設(shè)計報告 課程名稱: 典型數(shù)據(jù)庫課程設(shè)計 設(shè)計題目: 倉庫管理系統(tǒng) 指導(dǎo)教師: 班 級: 學(xué) 號: 學(xué)生姓名: 同組人員: 計算機科學(xué)與工程學(xué)院 2016 年 1 月 10 日 成 績: 評 語: 互聯(lián)網(wǎng)絡(luò) 目 錄 第 1 章 概述.2 1.1 選題的背景與意義.2 1.2 相關(guān)技術(shù)分析.3 第 2 章 系統(tǒng)功能設(shè)計.4 2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計圖.4 2.2 系統(tǒng)功能模塊.4 1.2.1 登錄模塊.4 1.2.2 基本信息管理模塊.5 1.2.3 貨物信息管理模塊.5 1.2.4 倉庫貨物管理模塊.6 1.2.5 查詢信息信息模塊.6 1.2.6 倉庫警
2、報功能模塊.7 1.2.7 信息導(dǎo)出功能模塊.7 第 3 章 數(shù)據(jù)庫設(shè)計.8 3.1 需求分析.8 3.1.1 數(shù)據(jù)流程圖.8 3.1.2 數(shù)據(jù)字典.10 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計.12 3.2.1 E-R 圖設(shè)計方法.12 3.2.2 全局 E-R 圖.12 3.2.3 局部 E-R 圖.13 3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計.15 3.4 安全性和完整性設(shè)計.17 第 4 章 數(shù)據(jù)庫維護與查詢.18 4.1 序列.18 4.2 觸發(fā)器.18 第 5 章 UI 設(shè)計與代碼實現(xiàn).20 5.1 UI 設(shè)計 .20 5.1.1 倉庫管理員.20 5.1.2 系統(tǒng)管理員.22 5.2 代碼實現(xiàn).24 5
3、.2.1 倉庫管理員.24 5.3.2 系統(tǒng)管理員.28 第 6 章 結(jié)束語.31 參考文獻.33 互聯(lián)網(wǎng)絡(luò) 第 1 章 概述 1.1 選題的背景與意義 1、背景: 隨著信息技術(shù)的發(fā)展和國內(nèi)外互聯(lián)網(wǎng)技術(shù)應(yīng)用水平的逐步提高,在企業(yè)管理過程中, 傳統(tǒng)的工作方式和管理模式已經(jīng)難以滿足現(xiàn)代社會的必然需求,實現(xiàn)企業(yè)現(xiàn)代化綜合 管理已經(jīng)是提高國家政府機關(guān)和企事業(yè)單位各部門工作效率、規(guī)范化管理的必然發(fā)展 趨勢。隨著經(jīng)濟全球化、信息網(wǎng)絡(luò)化和物流現(xiàn)代化進程的全面推進,倉儲供需量呈現(xiàn) 爆炸式的增長,傳統(tǒng)的倉庫管理模式和管理系統(tǒng),已根本滿足不了現(xiàn)代社會全面信息 化的嚴(yán)峻挑戰(zhàn),如何加強以信息化為指導(dǎo)的現(xiàn)代倉庫管理技術(shù)
4、已成為物流現(xiàn)代化走向 成功的有效途徑,如何將互聯(lián)網(wǎng)技術(shù)和倉儲物流的信息化技術(shù)緊密結(jié)合起來,開發(fā)出 適應(yīng)當(dāng)前社會發(fā)展需要的、先進的現(xiàn)代化物流倉儲管理技術(shù)平臺,是現(xiàn)代化物流發(fā)展 技術(shù)中一項基礎(chǔ)的、又是很關(guān)鍵的、特別值得研究的子課題。ASP 技術(shù)是面向?qū)ο缶幊?的技術(shù),可實現(xiàn)復(fù)雜數(shù)據(jù)庫的操作;用 ASP 開發(fā)的 Web 應(yīng)用程序安裝在網(wǎng)絡(luò)服務(wù)器上, 運行在網(wǎng)絡(luò)服務(wù)器上,因而 ASP 源程序的隱密安全系數(shù)性高;而 ASP 又是基于 B/S 模 型架構(gòu)的、開放式的 Web 服務(wù)器的應(yīng)用程序開發(fā)技術(shù),因此,采用 ASP 技術(shù)開發(fā)運行 在服務(wù)器端的倉庫管理信息系統(tǒng)平臺是眾多軟件設(shè)計與開發(fā)人士的首要選擇。本文
5、比 較全面地闡述了與 ASP、ADO、B/S 模式有關(guān)的理論技術(shù),為構(gòu)建 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 應(yīng)用程序與數(shù)據(jù)庫訪問的聯(lián)系梁;根據(jù)現(xiàn)代倉儲市場的需求特點,對 擬開發(fā)系統(tǒng)的功能進行了細(xì)致地分析與設(shè)計,建立了倉儲數(shù)據(jù)管理的 E-R 模型圖、數(shù) 據(jù)庫結(jié)構(gòu),分析了 B/S 架構(gòu)模式的三層框架,構(gòu)建了以該框架為模型的倉庫管理信
6、息 系統(tǒng),重點分析介紹了有關(guān)功能模塊的 ASP 實現(xiàn)過程,成功地實現(xiàn)了基于 ASP 運行環(huán) 境的倉庫管理信息系統(tǒng)的開發(fā)與設(shè)計;并對本系統(tǒng)的各項功能進行了測試與分析,發(fā) 現(xiàn)系統(tǒng)運行狀態(tài)良好,人機交互友好,程序設(shè)計實現(xiàn)合理,達(dá)到了項目設(shè)計的目的和 互聯(lián)網(wǎng)絡(luò) 要求。最后,對本次的項目設(shè)計進行了總結(jié)與展望,發(fā)現(xiàn)了系統(tǒng)的構(gòu)架模式關(guān)系著程 序開發(fā)效率,對開發(fā)系統(tǒng)有著重要的影響意義,好馬配好鞍,優(yōu)秀的軟件必然有優(yōu)秀 的構(gòu)架。作為軟件開發(fā)設(shè)計人員既要努力學(xué)好軟件技術(shù)又要重視相關(guān)模式的學(xué)習(xí),這 樣,就能達(dá)到事半功倍的效果,設(shè)計開發(fā)出更加優(yōu)秀的應(yīng)用系統(tǒng)來。 2、意義 倉庫管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其
7、開發(fā)主要包括后臺數(shù)據(jù)庫的建立和 維護,以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、 數(shù)據(jù)安全性好的庫,而對于后者則要求應(yīng)用程序功能完備、易使用等特點。經(jīng)過分析, 我們使用 Microsoft 公司的數(shù)據(jù)庫開發(fā)工具 SQL Server2008 和 Microsoft Visual Studio 2010,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具和數(shù)據(jù)庫的結(jié)合比較方便,我們開 發(fā)了這套庫存管理系統(tǒng),包括倉庫管理、入庫管理、出庫管理、庫存管理以及查詢等模 塊。倉庫管理可用于配置企業(yè)的倉庫信息;出庫、入庫管理可以使管理人員管理各種類 型的貨物進出;庫存管理可提供便捷的庫存查詢管
8、理。倉庫管理系統(tǒng)實現(xiàn)了企業(yè)對貨物 的管理,用來控制存儲貨物的數(shù)量,以保證穩(wěn)定的貨物支持正常的運轉(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ā)工具來
9、進行后臺數(shù)據(jù)庫的管理、操作和維護。該軟件功能強大,可用性強,完全 可以滿足我們開發(fā)項目的要求。 互聯(lián)網(wǎng)絡(luò) 第 2 章 系統(tǒng)功能設(shè)計 2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計圖 系統(tǒng)要具備如下功能:登錄界面統(tǒng)一,用戶登錄系統(tǒng)時進行身份驗證,如不是系 統(tǒng)用戶則禁止登錄; 添加新員工時,通過系統(tǒng)管理員進行添加,并能采集員工的基本 信息;倉庫貨品信息的管理,系統(tǒng)包括倉庫管理、入庫、出庫和一些統(tǒng)計查詢等幾部 分組成。倉庫管理系統(tǒng)實現(xiàn)對貨品信息的管理和總體的統(tǒng)計等,倉庫信息,供貨單位 和操作員信息的查看及維護。倉庫管理人員可以瀏覽、查詢、添加、刪除等產(chǎn)品的基 本信息。 不 不 不 不 不 不 不 不 不 不 不 不 不
10、不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 2.1 系統(tǒng)功能圖 2.2 系統(tǒng)功能模塊 1.2.1 登錄模塊 登錄模塊可以分為系統(tǒng)管理員登錄和管理員登錄。如果用戶要進行登陸時,系統(tǒng) 會進去數(shù)據(jù)庫進行帳號密碼匹配,同時也要進行權(quán)限匹配,如果匹配成功才可以登錄。 根據(jù)其選擇的用戶不同,輸入不同的用戶與密碼,接入不同的用戶界面,管理不同的 界面。 互聯(lián)網(wǎng)絡(luò) 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.1 登陸模塊 1.2.2 基本信息管理模塊 基本信息模塊分為倉庫
11、基本信息,操作員基本信息,客戶基本信息,倉庫基本信 息又分為管理員管理,提貨員管理,采購員管理。 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.2 基本信息管理模塊 1.2.3 貨物信息管理模塊 貨物信息管理模塊分為添加貨物信息,修改貨物信息,刪除貨物信息。 互聯(lián)網(wǎng)絡(luò) 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.3 貨物信息管理 1.2.4 倉庫貨物管理模塊 倉庫貨物管理模塊分為入庫操作和出庫操作。 不 不
12、 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.4 倉庫貨物管理 1.2.5 查詢信息信息模塊 查詢信息管理模塊分為查詢貨物信息,查詢倉庫信息,查詢客戶信息。 互聯(lián)網(wǎng)絡(luò) 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.5 查詢信息管理 1.2.6 倉庫警報功能模塊 倉庫警報功能模塊在貨物不足時提示。 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.6 警報功能 1.2.7 信息導(dǎo)出功能模塊 信息導(dǎo)出功能模塊分為導(dǎo)出貨物信息,導(dǎo)出入庫信息,導(dǎo)出出庫信息。 互聯(lián)網(wǎng)絡(luò) 不 不 不 不 不 不 不 不 不 不 不 不
13、 不 不 不 不 不 不 不 不 不 不 不 不 圖 1.2.7 信息導(dǎo)出功能 第 3 章 數(shù)據(jù)庫設(shè)計 3.1 需求分析 3.1.1 數(shù)據(jù)流程圖 倉庫 客戶貨物 操作員 倉庫管理系統(tǒng) 出貨 進貨 出庫 入庫 查詢操作 返回結(jié)果 購貨 供貨 圖 3.1.1 頂層數(shù)據(jù)流圖 互聯(lián)網(wǎng)絡(luò) 圖 3.1.2 系統(tǒng)數(shù)據(jù)流圖詳細(xì)設(shè)計 圖 3.1.3 管理員-貨物 互聯(lián)網(wǎng)絡(luò) 圖 3.1.4 管理員-入庫、出庫 圖 3.1.5 管理員-客戶 互聯(lián)網(wǎng)絡(luò) 圖 3.1.6 管理員-倉庫 3.1.2 數(shù)據(jù)字典 (1)倉庫表 字段名稱數(shù)據(jù)類型描述 Snoint倉庫編號,主鍵 Snamevarchar2(10)倉庫名稱 Sad
14、ressvarchar2(50)倉庫地址 Sbignumber倉庫大小 Anovarchar2(10)管理員編號 外鍵 (2)入庫表 字段名稱數(shù)據(jù)類型描述 GnoInt貨物編號 外鍵 Bnoint采購員編號 外鍵 SnoInt倉庫編號 外鍵 IdateDate采購日期 InumInt采購數(shù)量 Anovarchar2(10)管理員編號 外鍵 (3)出庫表 字段名稱數(shù)據(jù)類型描述 GnoInt貨物編號 外鍵 Pnoint提貨員編號 外鍵 Snoint倉庫編號 外鍵 Anovarchar2(10)管理員編號 外鍵 Odatedate采購日期 OnumInt采購數(shù)量 (4)客戶表 字段名稱數(shù)據(jù)類型描述
15、CnoInt客戶號,主鍵 CnameVarchar2(10)客戶名 CtypeVarchar2(10)客戶類型 CmethodVarchar2(11)聯(lián)系地址 互聯(lián)網(wǎng)絡(luò) CcodeVarchar2(7)郵政編號 CbzVarchar2(50)備注 Pnoint提貨員編號 外鍵 (5)庫存表 字段名稱數(shù)據(jù)類型描述 GnoInt貨物編號 外鍵 Snoint倉庫編號 外鍵 KnumInt貨物數(shù)量 Kdatedate清點時間 (6)提貨員表 字段名稱數(shù)據(jù)類型描述 PnoInt提貨員編號,主鍵 PnameVarchar2(11)提貨員姓名 Psexvarchar2(3)提貨員性別 Pmethodvarc
16、har2(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)管理員性別 Amethodvarchar2(11)管理員聯(lián)系方式 Aaddressvarchar2(50)管理員地址 (9)貨物表 字段名稱數(shù)據(jù)類型描述 Gnoint貨物編號 主鍵 Gnamevarchar2
17、(10)貨物名稱 Snonchar(10)倉庫編號 Gdatedate生產(chǎn)日期 Gfactoryvarchar2(10)生產(chǎn)廠家 Pnonchar(10)采購員編號 Gpricenumber(7,2)貨物單價 Idatedate入庫時間 (10)采購員表 字段名稱數(shù)據(jù)類型描述 BnoInt提貨員編號,主鍵 Bnamevarchar2(10)提貨員姓名 互聯(lián)網(wǎng)絡(luò) Bsexvarchar2(3)提貨員性別 Bmethodvarchar2(11)提貨員聯(lián)系方式 Baddressvarchar2(50)提貨員聯(lián)系地址 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 3.2.1 E-R 圖設(shè)計方法 1).屬性必須是不可分的
18、數(shù)據(jù)項。 2).屬性不能與其他實體具有聯(lián)系,聯(lián)系只能發(fā)生在實體之間。 3.2.2 全局 E-R 圖 不 不 不 不 不 不 不 不不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 1 N 1 1 N N NNN M M M N M 圖 3.2.1 全局 E-R 圖 3.2.3 局部 E-R 圖 3.1、倉庫-貨物-采購員 互聯(lián)網(wǎng)絡(luò) 不 不 不 不 不不 不 不 不 不 不 不 不不 不 不 不 1 NM M N 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不
19、 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.1 倉庫-貨物-采購員 3.2、倉庫-貨物-提貨員 1 不 不 不 不 不不 不 不 不 不 不 不 不不 不 不 不 1 N M M N 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.2 倉庫-貨物-提貨員 互聯(lián)網(wǎng)絡(luò) 3.3、倉庫-貨物(存儲情況) 不 不不 不不 不 MN 不 不 不 不不 不 不 不 不 不 不 不
20、不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.3 倉庫-貨物(存儲情況) 3.4、客戶-提貨員 不 不不 不 不不 不 1 N 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.4 客戶-提貨員 3.5、系統(tǒng)管理員-采購員 不 不 不不 不 N 1 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不
21、不 不 不 不 不 圖 3.5 管理員-采購員 互聯(lián)網(wǎng)絡(luò) 3.6、管理員-倉庫 不 不 不不 不 1 1 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.6 管理員-倉庫 3.7、系統(tǒng)管理員-提貨員 不 不 N 1 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 圖 3.7 系統(tǒng)管理員-提貨員 3.3 數(shù)據(jù)庫邏
22、輯結(jié)構(gòu)設(shè)計 1、倉庫-貨物-采購員(入庫) (M-N) Tb_Storage(Sno,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) 互聯(lián)網(wǎng)絡(luò) Tb_OutStorage(Gno, Sno ,Odate,O
23、num,Pno); 3、倉庫-貨物(存儲情況) (M-N) Tb_Storage(Sno,Sname,Sadress,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) Tb_Admin(Ano,Aname,Asex,A
24、method,Aaddress); Tb_Storage(Sno,Sname,Sadress,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
25、,Pname,Psex,Pmethod,Paddress); 用戶 /Tb_User(Uname,Upass,Ugrade); 管理員 互聯(lián)網(wǎng)絡(luò) /Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress); 貨物 /Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate) 采購員 /Tb_Buyer(Bno,Bname,Bsex,Bmethod,Badress); 3.4 安全性和完整性設(shè)計 1.外鍵約束: 管理員表中作為主鍵的管理員編號在倉庫表中作為外鍵使用: constraint gly_key foreign key(Ano)
26、 references Tb_Admin(Ano) 提貨員表中作為主鍵的提貨員編號在客戶表中作為外鍵使用: constraint thy_key foreign key(Pno) references Tb_Picker(Pno) 貨物表中作為主鍵的貨物編號在庫存表中作為外鍵使用: constraint hw_key foreign key(Gno) references Tb_Good(Gno) 倉庫表中作為主鍵的的倉庫編號在庫存表中作為外鍵使用: constraint ck_key foreign key(Sno) references Tb_Storage(Sno) 貨物編號,倉庫編號,
27、提貨員編號,管理員編號在出庫表中作為外鍵使用: constraint hw1_key foreign 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) 貨物編號,倉庫編號,采貨員編號,管理員編號在出庫表中作為
28、外鍵使用: constraint hw1_key foreign key(Gno) references Tb_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 (Bse
29、x in(男,女), Psex varchar2(3) check (Psex in(男,女), 3.primary key 約束 互聯(lián)網(wǎng)絡(luò) 管理員表: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_seq start w
30、ith 1001 increment by 1 2.采購員序列 create sequence Buyer_seq start with 2001 increment by 1; 3.貨物序列 create sequence Good_seq start with 3001 increment by 1; 4.倉庫序列 create sequence Storage_seq start with 4001 increment by 1 5.客戶序列 create sequence Client_seq start with 5001 increment by 1; 4.2 觸發(fā)器 1.提貨員觸
31、發(fā)器 create or replace trigger add_Picker_trigger before insert on TB_Picker for each row begin 互聯(lián)網(wǎng)絡(luò) if :new.Pno is null then select Picker_seq.nextval into :new.Pno from dual; end if; end add_Picker_trigger; 2.采購員觸發(fā)器 create or replace trigger add_Buyer_trigger before insert on TB_Buyer for each row b
32、egin if :new.Bno is null then select Buyer_seq.nextval into :new.Bno from dual; end if; end add_Buyer_trigger; 3.貨物觸發(fā)器 create or replace trigger add_Good_trigger before insert on TB_Good for each row begin if :new.Gno is null then select Good_seq.nextval into :new.Gno from dual; end if; end add_Good
33、_trigger; 4.倉庫觸發(fā)器 create or replace trigger add_Storage_trigger before insert on TB_Storage for each row begin if :new.Sno is null then select Storage_seq.nextval into :new.Sno from dual; end if; end add_Storage_trigger; 5.客戶觸發(fā)器 create or replace trigger add_Client_trigger before insert on TB_Client
34、 for each row begin if :new.Cno is null then select Client_seq.nextval into :new.Cno from dual; 互聯(lián)網(wǎng)絡(luò) end if; end add_Client_trigger; 第 5 章 UI 設(shè)計與代碼實現(xiàn) 5.1 UI 設(shè)計 5.1.1 倉庫管理員 1. 登錄界面設(shè)計 登錄模塊可以分為系統(tǒng)管理員登錄和管理員登錄。如果用戶要進行登陸時,系統(tǒng) 會進去數(shù)據(jù)庫進行帳號密碼匹配,同時也要進行權(quán)限匹配,如果匹配成功才可以登錄。 根據(jù)其選擇的用戶不同,輸入不同的用戶與密碼,接入不同的用戶界面,管理不同的 界面。 2
35、. 基本信息模塊設(shè)計 基本信息模塊包含倉庫基本信息,客戶基本信息,操作員基本信息。倉庫基本信 息設(shè)置有修改和刪除的功能??蛻艋拘畔⒃O(shè)置了添加,刪除和修改的功能。操作員 基本信息設(shè)置了修改功能。因為客戶信息為常變實體屬性,因此設(shè)置了添加,修改和 刪除的功能。倉庫信息為不常變實體屬性,因此設(shè)置了修改和刪除屬性。操作員因為 互聯(lián)網(wǎng)絡(luò) 是管理員,不能修改同一等級權(quán)限的信息,因此只給添加了修改基本信息的功能。 3. 貨物信息模塊設(shè)計 貨物信息模塊包含對貨物信息的添加,貨物信息的刪除,貨物信息的修改對應(yīng)現(xiàn) 實世界的引進新貨物,貨物信息的更新和清倉處理。 4. 出庫入庫模塊設(shè)計 出庫入庫模塊包含了貨物出庫
36、和入庫模塊。對于入庫信息來說,當(dāng)系統(tǒng)開始入庫時, 先判斷貨物是否存在,如果不存在的話這直接將貨物信息插入庫存表,然后在入庫表 中插入記錄,提示入庫成功。如果貨物存在的話則看對應(yīng)的倉庫是否存在如果存在的 話則在原來的貨物基礎(chǔ)上只更新貨物數(shù)量提示入庫成功,如果倉庫不匹配的話則插入 該貨物信息,然后在入庫表中插入記錄,提示入庫成功。 出庫信息,當(dāng)系統(tǒng)開始出庫時,先判斷貨物是否存在如果存在的話則看需要出貨的 倉庫是否存在,如果存在的話再看貨物數(shù)量是否滿足出貨數(shù),如果滿足則出庫成功同 互聯(lián)網(wǎng)絡(luò) 時對庫存表和出庫表進行更新,提示出庫成功,否則則出庫失敗。 5. 信息查詢模塊設(shè)計 信息查詢模塊包含貨物信息查
37、詢,倉庫信息查詢,客戶信息查詢。通過對客戶表, 倉庫表和貨物表的主鍵進行匹配唯一的確定一行數(shù)據(jù)返回 GridView 進行顯示。 6. 警報信息模塊設(shè)計 警報信息功能,是當(dāng)庫存中貨物數(shù)量少于 10 的時候自動提醒管理員要進行及時的 補貨,以免貨物短缺,造成損失。 互聯(lián)網(wǎng)絡(luò) 7. 信息導(dǎo)出模塊設(shè)計 信息導(dǎo)出模塊包含了導(dǎo)出貨物信息,導(dǎo)出出庫信息,導(dǎo)出入庫信息功能,方便倉 庫人員進行報表打印和倉庫流水信息。 5.1.2 系統(tǒng)管理員 1. 管理員信息模塊設(shè)計 管理員信息模塊包含對管理員的添加修改和刪除的功能,因為倉庫管理系統(tǒng)由管 理員進行管理,因此當(dāng)添加管理員信息時,在給管理員表添加基本信息的同時也給
38、用 戶表中添加了信息,帳號為管理員編號,密碼默認(rèn)為 123. 2. 采購員信息模塊設(shè)計 采購員信息管理(對采購員信息的添加,修改,刪除) 互聯(lián)網(wǎng)絡(luò) 3. 提貨員信息模塊設(shè)計 提貨員信息管理(對提貨員信息的添加,修改,刪除) 5.2 代碼實現(xiàn) 5.2.1 倉庫管理員 1. 登錄界面登錄匹配關(guān)鍵代碼 protected void Button1_Click(object sender, EventArgs e) var qx = -1 ; if (DropDownList1.SelectedValue.ToString() = 倉庫管理員) qx = 1; else qx = 0; OracleC
39、ommand mycommand = new OracleCommand(select * from Tb_User where Uname= + this.TextBox1.Text.ToString() + and Upass= + this.TextBox2.Text.ToString() + and Ugrade= + qx, conn); conn.Open(); 互聯(lián)網(wǎng)絡(luò) OracleDataReader recu = mycommand.ExecuteReader(); if (recu.Read() if (qx=1) SessionAname = TextBox1.Text;
40、 Response.Redirect(jbxx.aspx); else if (qx = 0) Response.Redirect(gly.aspx); else 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,Ccod
41、e,Caddress,Cbz,Pno) values( + this.TextBox2.Text.ToString() + , + this.TextBox3.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();
42、 mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my = new OracleCommand(select * 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.T
43、ext = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; this.TextBox7.Text = ; this.TextBox8.Text = ; else Response.Write(alert(添加失??!);); conn.Close(); protected void Button2_Click(object sender, EventArgs e) /this.TextBox1.Text = ; this.TextBox2.Text = ; 互聯(lián)網(wǎng)絡(luò) this.TextBox3.Text
44、 = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.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( +
45、 this.TextBox2.Text.ToString() + ,+ TextBox3.Text.ToString()+, + 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.ToS
46、tring() + , 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 = ; else Response.Write(alert(添加失?。?;); conn.Close(); protected vo
47、id Button2_Click(object sender, EventArgs e) /this.TextBox1.Text = ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; 4. 出庫入庫信息出庫入庫關(guān)鍵代碼 protected void Button1_Click(object sender, EventArgs e) OracleCommand my = new OracleCommand(sele
48、ct * from Tb_Kc where ( Gno= + this.TextBox1.Text.ToString() + and Knum= + this.TextBox4.Text + and Sno= + this.TextBox2.Text.ToString() + ), conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); 互聯(lián)網(wǎng)絡(luò) if (recu.Read() conn.Close(); OracleCommand mycomm = new OracleCommand(insert into Tb_Out
49、Storage 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); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my1
50、= new OracleCommand(update Tb_Kc SET Knum=(Knum- + this.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(貨物不存在或
51、者貨物不足出庫失??!);); 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.Text = ; protected void Button1_Click(object sender, EventArgs e) OracleCommand my = new OracleCo
52、mmand(select * from Tb_Kc where Gno= + this.TextBox1.Text.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 +
53、) where Gno= + this.TextBox1.Text.ToString() + and Sno= + this.TextBox2.Text.ToString() + , conn); conn.Open(); my1.ExecuteNonQuery(); conn.Close(); else conn.Close(); OracleCommand my2 = new OracleCommand(insert into Tb_Kc(Gno,Sno,Knum) values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Te
54、xt.ToString() + , + 互聯(lián)網(wǎng)絡(luò) this.TextBox4.Text + ), 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 = m
55、y.ExecuteReader(); if (recu1.Read() conn.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.
56、TextBox6.Text.ToString() + ), conn); conn.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 = ; th
57、is.TextBox4.Text = ; this.TextBox5.Text = ; 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; 6. 警報功能顯示警報信息關(guān)鍵代碼
58、互聯(lián)網(wǎng)絡(luò) protected void Button1_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.Gr
59、idView1.DataBind(); 7. 信息導(dǎo)出導(dǎo)出入庫信息關(guān)鍵代碼 protected void Button1_Click(object sender, EventArgs e) Response.Clear(); Response.BufferOutput = true; /設(shè)定輸出的字符集 Response.Charset = GB2312; /假定導(dǎo)出的文件名為 aFileName.doc Response.AppendHeader(Content-Disposition, attachment;filename=Statement.doc); Response.Content
60、Encoding = System.Text.Encoding.GetEncoding(GB2312); /設(shè)置導(dǎo)出文件的格式 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 Sy
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年車押貸款合同范本
- 2024年限定版茶葉種植苗協(xié)議條款集版
- 2024年環(huán)保產(chǎn)業(yè)咨詢服務(wù)與管理全面合作協(xié)議6篇
- 2023-2024年注冊巖土工程師之巖土基礎(chǔ)知識題庫(附帶答案)
- 2024年規(guī)范化商品車運送協(xié)議樣本
- 2022年中考化學(xué)考前查漏補缺提分訓(xùn)練:微觀圖示題(三)(解析版)
- 2022-2024年山東中考英語試題匯編:短文選詞填空
- 2022年食品行業(yè)人員業(yè)務(wù)知識考核試卷A卷 附答案
- 2024版影視制作合作合同協(xié)議
- 2022-2024年高考英語分類匯編:完形填空(15空)含解析
- 2024年醫(yī)院副院長工作總結(jié)范文(2篇)
- UL1017標(biāo)準(zhǔn)中文版-2018吸塵器UL中文版標(biāo)準(zhǔn)
- 【MOOC】診斷學(xué)-山東大學(xué) 中國大學(xué)慕課MOOC答案
- 人體寄生蟲表格總結(jié)超全(原蟲部分)
- 病歷質(zhì)控流程
- 合作投資酒店意向合同范例
- 2024年度新能源汽車充電物流合同
- 2024年學(xué)校意識形態(tài)工作總結(jié)模版(3篇)
- 機械設(shè)備招投標(biāo)授權(quán)委托書模板
- 科研年終總結(jié)匯報
- 汽車維修安全應(yīng)急預(yù)案范文(5篇)
評論
0/150
提交評論