




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 .目 錄設(shè)計(jì)思想IV關(guān)鍵字IV第一章選題說明1第二章數(shù)據(jù)庫解構(gòu)2.1概念解構(gòu)設(shè)計(jì)32.2邏輯結(jié)構(gòu)設(shè)計(jì)72.3物理結(jié)構(gòu)設(shè)計(jì)7第三章數(shù)據(jù)庫設(shè)計(jì)3.1安全控制93.2數(shù)據(jù)操作功能103.3視圖設(shè)計(jì)113.4存儲(chǔ)過程設(shè)計(jì)123.5代碼實(shí)現(xiàn)13第四章系統(tǒng)初始化19第五章系統(tǒng)界面演示23第六章總結(jié)28致謝30參考文獻(xiàn)30 .頁腳. 【設(shè)計(jì)思想】經(jīng)過一學(xué)期來對(duì)數(shù)據(jù)庫系統(tǒng)概論這一課程的學(xué)習(xí),我學(xué)到了很多管理各類數(shù)據(jù)的科學(xué)方法,也學(xué)會(huì)了如何在學(xué)習(xí)的過程中不斷的去實(shí)踐,根據(jù)已知去探索未知,這次設(shè)計(jì)就是一個(gè)很好的例子。由于本人很早就有了網(wǎng)絡(luò)創(chuàng)業(yè)的想法,也有很多計(jì)劃,其中以O(shè)2O(Online to Offline
2、)為經(jīng)營模式的網(wǎng)上超市虛擬商店,最為完備?,F(xiàn)在我就借此數(shù)據(jù)庫課程設(shè)計(jì)的機(jī)會(huì)開始虛擬商店的管理系統(tǒng)設(shè)計(jì)過程。由于水平有限,對(duì)數(shù)據(jù)庫功能的掌握還不完善,因此本次課程設(shè)計(jì)就以虛擬商店管理系統(tǒng)中的倉庫管理部分為主,以倉庫的數(shù)據(jù)庫建立過程為重點(diǎn)進(jìn)行設(shè)計(jì),力求在完成這一部分的同時(shí)更加深入地學(xué)習(xí)數(shù)據(jù)庫及相關(guān)知識(shí),為今后系統(tǒng)的完成、乃至創(chuàng)業(yè)的成功打牢基礎(chǔ)。我的大體設(shè)計(jì)思想如下:管理系統(tǒng)的數(shù)據(jù)庫部分采用MS SQL Server,界面部分為了方便日后開發(fā)而采用JSP技術(shù)。即使用JDBC技術(shù)對(duì)接JSP界面和SQL Server數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計(jì)方面面向?qū)嶋H完成基本的建表、關(guān)聯(lián)、視圖、存儲(chǔ)過程等;界面部分以驅(qū)動(dòng)接口
3、實(shí)現(xiàn)與數(shù)據(jù)庫的動(dòng)態(tài)相連,并以簡(jiǎn)潔卻不失詳細(xì)的界面實(shí)現(xiàn)常用的、個(gè)性化的功能。整個(gè)工程采用結(jié)構(gòu)化的方式進(jìn)行推進(jìn),逐步完善系統(tǒng)功能。不論設(shè)計(jì)成功與否,我都要感謝老師給予我這次實(shí)踐的機(jī)會(huì),讓我能夠正規(guī)、完善、系統(tǒng)化地開發(fā)自己需要的軟件,為即將面臨的畢業(yè)設(shè)計(jì)、工作實(shí)習(xí)做好充分的準(zhǔn)備。關(guān)鍵字:O2O;虛擬商店;數(shù)據(jù)庫;倉庫管理系統(tǒng)第一章選題說明O2O對(duì)許多人來說也許還是一個(gè)陌生的詞,但在電子商務(wù)蓬勃發(fā)展的今天,O2O越來越活躍地出現(xiàn)在人們眼前。O2O即Online to Offline,也即將線下商務(wù)的機(jī)會(huì)與互聯(lián)網(wǎng)結(jié)合在了一起,讓互聯(lián)網(wǎng)成為線下交易的前臺(tái)。該模式可以實(shí)現(xiàn)顧客在網(wǎng)媒上對(duì)商品或服務(wù)進(jìn)行消費(fèi),在
4、線下便可獲取商品或享受服務(wù),這極大地縮短了人們的購物流程、便利了人們的生活。虛擬商店便是這樣一種產(chǎn)物,他將傳統(tǒng)的超市與B2C結(jié)合起來,用戶只用花費(fèi)很短的時(shí)間,在虛擬商店上選購好商品完成支付后,便可享受到虛擬商店的打包、配送服務(wù),用戶可到超市店面、派發(fā)點(diǎn)、甚至自家門口(派送)領(lǐng)取到所需的商品虛擬商店快速購買方式虛擬商店條碼掃面方式可見,虛擬商店的經(jīng)營模式?jīng)Q定了,要想實(shí)現(xiàn)這一流程,一個(gè)好的貨倉管理系統(tǒng)是最基礎(chǔ)的,因?yàn)橛脩舻乃羞x購操作都是直接與倉庫對(duì)話的,而且如今的倉庫作業(yè)和庫存控制作業(yè)已十分復(fù)雜化多樣化,僅靠人工記憶和手工錄入,不但費(fèi)時(shí)費(fèi)力,而且容易出錯(cuò),給企業(yè)帶來巨大損失。使用倉庫管理系統(tǒng),對(duì)
5、倉庫各環(huán)節(jié)實(shí)施全過程控制管理,并可對(duì)貨物進(jìn)行貨位、批次、保質(zhì)期、配送等管理,對(duì)整個(gè)收貨、發(fā)貨、補(bǔ)貨、集貨、送貨等各個(gè)環(huán)節(jié)的規(guī)范化作業(yè)。本次課程設(shè)計(jì)就以其倉庫管理系統(tǒng)部分為課題,力求為虛擬商店構(gòu)想的實(shí)現(xiàn)打下堅(jiān)實(shí)的基礎(chǔ)。第二章數(shù)據(jù)庫解構(gòu)該倉庫管理系統(tǒng)部分需要完成的主要功能包含:a) 基本資料管理:1 供貨單位管理:設(shè)置并管理供貨商檔案,檔案信息包括客戶編號(hào)、客戶名稱、地址、聯(lián)系人、聯(lián)系電話和備注信息。2 收貨單位管理:設(shè)置并管理收貨單位檔案,檔案信息包括客戶編號(hào)、客戶名稱、地址、聯(lián)系人、聯(lián)系電話和備注信息。3 貨品檔案管理:檔案信息包括貨品名稱、編號(hào)、貨品描述、計(jì)量單位、備注說明。4 庫管人員設(shè)置
6、:設(shè)置并管理倉庫管理人員。b) 倉庫貨物進(jìn)出管理:1 貨品入倉管理:可以自動(dòng)生成入庫單號(hào),貨品及客戶選擇方便快捷,不限制每筆入庫單貨物筆數(shù)。2 貨品出倉管理:可以自動(dòng)生成出庫單號(hào),貨品及客戶選擇方便快捷,不限制每筆出貨單貨物筆數(shù)。3 貨品盤點(diǎn)管理:可以自動(dòng)生成盤點(diǎn)單號(hào),貨品選擇方便快捷。c) 庫存查詢及統(tǒng)計(jì):1 庫存查詢:可以隨時(shí)查詢各種貨品庫存,貨品自動(dòng)分類匯總統(tǒng)計(jì)。2 單據(jù)查詢:可以隨時(shí)查詢?nèi)霂?、出庫、盤點(diǎn)等各種貨物單據(jù)。3 綜合查詢:可以隨時(shí)查詢不同時(shí)間段、憑證號(hào)、客戶、貨品等查詢條件查詢?nèi)?、出、盤等數(shù)據(jù),并能對(duì)查詢數(shù)據(jù)進(jìn)行統(tǒng)計(jì)匯總。d) 庫存分析報(bào)警:1 庫存上下限設(shè)置:可以設(shè)定倉庫庫
7、存中各項(xiàng)貨品的庫存上下限。2 庫存異常情況自動(dòng)報(bào)警:自動(dòng)對(duì)低于庫存下限或高于上限的品種進(jìn)行報(bào)警提示。2.1概念結(jié)構(gòu)設(shè)計(jì)倉庫管理系統(tǒng)可以劃分的實(shí)體有:供貨單位信息實(shí)體、收貨單位信息實(shí)體、貨品信息實(shí)體、計(jì)量單位信息實(shí)體、倉管人員信息實(shí)體、貨品入倉信息實(shí)體、貨品出倉信息實(shí)體、庫存上下限信息實(shí)體。供貨單位信息實(shí)體E-R圖:供貨單位實(shí)體客戶編號(hào)客戶名稱 地 址聯(lián)系人聯(lián)系電話備注說明 圖2-1供貨單位實(shí)體E-R圖收貨單位信息實(shí)體E-R圖:收貨單位實(shí)體客戶編號(hào)客戶名稱 地 址聯(lián)系人聯(lián)系電話備注說明圖2-2收貨單位實(shí)體E-R圖貨品檔案信息實(shí)體E-R圖:貨品檔案實(shí)體貨品名稱貨品編號(hào)貨品描述計(jì)量單位備注說明圖2-
8、3貨品檔案實(shí)體E-R圖計(jì)量單位信息實(shí)體E-R圖:計(jì)量單位實(shí)體 編 號(hào)計(jì)量單位計(jì)量描述圖2-4計(jì)量單位實(shí)體E-R圖庫管人員信息實(shí)體E-R圖:庫管人員實(shí)體姓名登錄帳號(hào)登錄密碼用戶類型備注說明圖2-5庫管人員實(shí)體E-R圖貨品入倉信息實(shí)體E-R圖:貨品入倉信息實(shí)體貨品入倉單號(hào)貨品名稱計(jì)量單位入倉數(shù)量入倉日期庫管人員供貨單位圖2-6貨品入倉信息實(shí)體E-R圖貨品出倉信息實(shí)體E-R圖:貨品出倉信息實(shí)體貨品出倉單號(hào)貨品名稱 計(jì) 量 單 位出倉數(shù)量出倉日期庫管人員收貨單位圖2-7貨品出倉信息實(shí)體E-R圖貨品盤點(diǎn)信息實(shí)體E-R圖:貨品盤點(diǎn)信息實(shí)體貨品盤點(diǎn)單號(hào)貨品名稱 計(jì) 量 單 位盤點(diǎn)數(shù)量盤點(diǎn)日期庫管人員名稱圖2
9、-8貨品盤點(diǎn)信息實(shí)體E-R圖庫存上下限信息實(shí)體E-R圖:庫存上下限實(shí)體貨品名稱計(jì)量單位庫存上限庫存下限圖2-9庫存上下限實(shí)體E-R圖2.2邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)基本E-R圖,確定倉管系統(tǒng)關(guān)系模式為:客戶客戶編號(hào),客戶標(biāo)志,客戶名稱,地址,聯(lián)系人,聯(lián)系電話,備注說明,主鍵是客戶編號(hào)。貨品貨品編號(hào),貨品名稱,計(jì)量單位編號(hào),貨品描述,備注說明,主鍵是貨品編號(hào)。計(jì)量單位計(jì)量單位編號(hào),計(jì)量單位,計(jì)量描述,主鍵是計(jì)量單位編號(hào)。庫管人員庫管人員編號(hào),登錄帳號(hào),登錄密碼,姓名,用戶類型,備注說明,主鍵是庫管人員編號(hào)。貨品入倉信息貨品入倉單號(hào),貨品編號(hào),入倉數(shù)量,入倉日期,庫管人員編號(hào),客戶編號(hào),主鍵是貨品入倉單號(hào)。
10、貨品出倉信息貨品出倉單號(hào),貨品編號(hào),出倉數(shù)量,出倉日期,庫管人員編號(hào),客戶編號(hào),主鍵是貨品出倉單號(hào)。貨品盤點(diǎn)信息貨品盤點(diǎn)單號(hào),貨品編號(hào),盤點(diǎn)數(shù)量,盤點(diǎn)日期,庫管人員編號(hào),主鍵是貨品盤點(diǎn)單號(hào)。庫存上下限信息貨品編號(hào),庫存上限,庫存下限,主鍵是貨品編號(hào)。2.3物理結(jié)構(gòu)設(shè)計(jì)表1:Customer 客戶信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明CustomerId數(shù)值型否客戶編號(hào)CustomerType數(shù)值型1否客戶類型CustomerName文本型60否客戶名稱Address文本型180否地址Contact文本型20否聯(lián)系人ContactPhone文本型60否聯(lián)系電話Memo文本型800是備注說明表2:
11、Goods 貨品信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明GoodsId數(shù)值型否貨品編號(hào)GoodsName文本型60否貨品名稱MeasureId數(shù)值型否計(jì)量單位編號(hào)Describe文本型180是貨品描述Memo文本型800是備注說明表3:Measure 計(jì)量單位信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明MeasureId數(shù)值型否計(jì)量單位編號(hào)MeasureName文本型20否計(jì)量單位名稱Describe文本型180是計(jì)量描述表4:Storeman 庫管人員信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明StoremanId數(shù)值型否庫管人員編號(hào)LoginName文本型16否登錄帳號(hào)LoginPassword文本型8
12、否登錄密碼Name文本型20否姓名UserType數(shù)值型1否用戶類型Memo文本型800是備注說明表5:EntryInfo 貨品入倉信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明EntryId數(shù)值型否貨品入倉單號(hào)GoodsId數(shù)值型否貨品編號(hào)EntryAmount數(shù)值型否入倉數(shù)量EntryDate日期型否入倉日期StoremanId數(shù)值型否庫管人員編號(hào)CustomerId數(shù)值型否供貨客戶編號(hào)表6:ExportInfo 貨品出倉信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明ExportId數(shù)值型否貨品出倉單號(hào)GoodsId數(shù)值型否貨品編號(hào)ExportIdAmount數(shù)值型否出倉數(shù)量ExportDate日期型否出
13、倉日期StoremanId數(shù)值型否庫管人員編號(hào)CustomerId數(shù)值型否收貨客戶編號(hào)表7:CheckInfo 貨品盤點(diǎn)信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明CheckId數(shù)值型否貨品盤點(diǎn)單號(hào)GoodsId數(shù)值型否貨品編號(hào)CheckAmount數(shù)值型否盤點(diǎn)數(shù)量CheckDate日期型否盤點(diǎn)日期StoremanId數(shù)值型否庫管人員編號(hào)表8:StorehouseAlert 庫存上下限信息表設(shè)計(jì)列名數(shù)據(jù)類型長度是否為空說明GoodsId數(shù)值型否貨品編號(hào)UpAlert數(shù)值型否庫存上限D(zhuǎn)ownAlert數(shù)值型否庫存下限第三章數(shù)據(jù)庫設(shè)計(jì)3.1安全控制倉管系統(tǒng)的用戶分如下幾類:系統(tǒng)管理員:具有系統(tǒng)的全部權(quán)限
14、。庫管員:具有貨品出、入倉數(shù)據(jù)的維護(hù)權(quán)。盤點(diǎn)員:具有設(shè)置庫存上下限信息,貨品盤點(diǎn)數(shù)據(jù)的維護(hù)權(quán)。在實(shí)現(xiàn)時(shí),將每一類用戶作為一個(gè)角色實(shí)現(xiàn),這樣在授權(quán)時(shí)只需對(duì)角色授權(quán),而無需對(duì)每個(gè)具體的用戶授權(quán)。3.2數(shù)據(jù)操作功能數(shù)據(jù)操作功能包括對(duì)這些數(shù)據(jù)進(jìn)行錄入、刪除、修改功能,具體如下:(1) 數(shù)據(jù)錄入包括對(duì)這8張表的數(shù)據(jù)的錄入,只有具有相應(yīng)權(quán)限的用戶才能錄入相應(yīng)表中的數(shù)據(jù)。(2) 數(shù)據(jù)刪除包括對(duì)這8張表的數(shù)據(jù)的刪除,只有具有相應(yīng)權(quán)限的用戶才能刪除相應(yīng)表中的數(shù)據(jù),刪除數(shù)據(jù)時(shí)要注意表之間的關(guān)聯(lián)關(guān)系,比如刪除計(jì)量單位信息表中的數(shù)據(jù),必須貨品信息表中沒有貨品引用到該計(jì)量單位。另外,在實(shí)際進(jìn)行刪除之前應(yīng)該提醒用戶確認(rèn)是
15、否真的要?jiǎng)h除此數(shù)據(jù)。(3) 數(shù)據(jù)修改當(dāng)某些數(shù)據(jù)發(fā)生變化或某些數(shù)據(jù)錄入不正確時(shí),應(yīng)該允許用戶對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修改,進(jìn)行修改數(shù)據(jù)的操作時(shí),一般時(shí)先根據(jù)一定條件查詢出要修改的記錄,然后再對(duì)其中的某些記錄進(jìn)行修改,修改完后再寫回到數(shù)據(jù)庫中去,同數(shù)據(jù)的錄入與刪除一樣,只有具有相應(yīng)權(quán)限的用戶才能修改相應(yīng)表中的數(shù)據(jù)。(4) 數(shù)據(jù)查詢?cè)跀?shù)據(jù)庫應(yīng)用系統(tǒng)中,數(shù)據(jù)查詢時(shí)最常用的功能,倉管系統(tǒng)應(yīng)具有的查詢要求有:庫存查詢,查詢各種貨品實(shí)時(shí)庫存情況。單據(jù)查詢,查詢?nèi)霂?、出庫、盤點(diǎn)等各種貨物單據(jù)。綜合查詢,查詢不同時(shí)間段、憑證號(hào)、客戶、貨品等查詢條件查詢?nèi)?、出、盤等數(shù)據(jù)。庫存異常情況查詢,查詢低于庫存下限或高于上限的
16、貨品數(shù)據(jù)。3.3視圖設(shè)計(jì)對(duì)入倉操作,客戶只能選擇供貨客戶標(biāo)志的客戶,對(duì)于出倉操作,客戶只能選擇收貨客戶標(biāo)志的客戶,考慮到還有既是供貨客戶,又是收貨客戶的情況,設(shè)計(jì)上用1代表供貨客戶標(biāo)志,2代表收貨客戶標(biāo)志,3代表既是供貨客戶也是收貨客戶,雖然都是基于客戶信息表的查詢,顯示字段一樣,但由于數(shù)據(jù)范圍不同,可以通過設(shè)計(jì)供貨客戶視圖和收貨客戶視圖來實(shí)現(xiàn)。視圖1:View_SupplyCustomer供貨客戶視圖列名數(shù)據(jù)類型說明CustomerId數(shù)值型客戶編號(hào)CustomerName文本型客戶名稱Address文本型地址Contact文本型聯(lián)系人ContactPhone文本型聯(lián)系電話Memo文本型備注
17、說明條件:客戶標(biāo)志字段等于1或者3。視圖2:View_BuyCustomer供貨客戶視圖列名數(shù)據(jù)類型說明CustomerId數(shù)值型客戶編號(hào)CustomerName文本型客戶名稱Address文本型地址Contact文本型聯(lián)系人ContactPhone文本型聯(lián)系電話Memo文本型備注說明條件:客戶標(biāo)志字段等于2或者3。3.4存儲(chǔ)過程設(shè)計(jì)a) 庫存盤點(diǎn)存儲(chǔ)過程設(shè)計(jì)思路:1、 判斷是否期初盤點(diǎn),期初盤點(diǎn)則根據(jù)已有的入倉數(shù)據(jù)和出倉數(shù)據(jù),計(jì)算現(xiàn)庫存數(shù)量,如果沒有入倉數(shù)據(jù)和出倉數(shù)據(jù),則數(shù)量計(jì)為0,把結(jié)果數(shù)據(jù)插入盤點(diǎn)信息表,返回成功標(biāo)志,程序結(jié)束;2、 非期初盤點(diǎn),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤點(diǎn)數(shù)據(jù),再
18、根據(jù)從該期盤點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉數(shù)據(jù)和出倉數(shù)據(jù),計(jì)算現(xiàn)庫存數(shù)量,把結(jié)果數(shù)據(jù)插入盤點(diǎn)信息表,返回成功標(biāo)志,程序結(jié)束;3、 考慮到貨品信息表會(huì)不定時(shí)更新,盤點(diǎn)表也要以最新的貨品信息表進(jìn)行盤點(diǎn)。b) 實(shí)時(shí)庫存情況存儲(chǔ)過程實(shí)時(shí)庫存情況存儲(chǔ)過程與庫存盤點(diǎn)存儲(chǔ)過程設(shè)計(jì)思路類似,但計(jì)算結(jié)果不需寫到數(shù)據(jù)表,直接以數(shù)據(jù)集形式返回。設(shè)計(jì)思路:1、 判斷是否已存在盤點(diǎn)數(shù)據(jù),如否則根據(jù)已有的入倉數(shù)據(jù)和出倉數(shù)據(jù),計(jì)算現(xiàn)庫存數(shù)量,如果沒有入倉數(shù)據(jù)和出倉數(shù)據(jù),則數(shù)量計(jì)為0,返回結(jié)果數(shù)據(jù)集,程序結(jié)束;2、 如已存在盤點(diǎn)數(shù)據(jù),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤點(diǎn)數(shù)據(jù),再根據(jù)從該期盤點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉數(shù)據(jù)和出倉數(shù)
19、據(jù),計(jì)算現(xiàn)庫存數(shù)量,返回結(jié)果數(shù)據(jù)集,程序結(jié)束;3、 考慮到貨品信息表會(huì)不定時(shí)更新,盤點(diǎn)表也要以最新的貨品信息表進(jìn)行盤點(diǎn)。c) 查詢庫存異常情況存儲(chǔ)過程查詢庫存異常情況存儲(chǔ)過程是以設(shè)置庫存上下限數(shù)據(jù),對(duì)實(shí)時(shí)庫存情況進(jìn)行計(jì)算,返回低于庫存下限或高于上限的貨品數(shù)據(jù)設(shè)計(jì)思路:1、 根據(jù)庫存上下限的數(shù)據(jù),限定計(jì)算實(shí)時(shí)庫存的貨品范圍;2、 判斷是否已存在盤點(diǎn)數(shù)據(jù),如否則根據(jù)已有的入倉數(shù)據(jù)和出倉數(shù)據(jù),計(jì)算現(xiàn)庫存數(shù)量,返回低于庫存下限或高于上限的貨品數(shù)據(jù)集,程序結(jié)束;3、 如已存在盤點(diǎn)數(shù)據(jù),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤點(diǎn)數(shù)據(jù),再根據(jù)從該期盤點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉數(shù)據(jù)和出倉數(shù)據(jù),計(jì)算現(xiàn)庫存數(shù)量,返回低
20、于庫存下限或高于上限的貨品數(shù)據(jù)集,程序結(jié)束。3.5代碼實(shí)現(xiàn)a) 創(chuàng)建數(shù)據(jù)庫USE masterGOCREATE DATABASE storehouseON ( NAME ='storehouse', FILENAME = 'c:storehouse.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB )LOG ON( NAME = 'storehouse_log', FILENAME = 'c:storehouse.ldf', SIZE = 5MB, MAXSIZE = 25MB
21、, FILEGROWTH = 5MB )GOb) 客戶信息表建立CREATE TABLE Customer( CustomerId int IDENTITY(1,1) NOT NULL PRIMARY KEY, CustomerType tinyint NOT NULL DEFAULT(1), CustomerName varchar(60) NOT NULL, Address varchar(180) NOT NULL, Contact varchar(20) NOT NULL, ContactPhone varchar(60) NOT NULL, Memo varchar(800) NUL
22、L)c) 計(jì)量單位信息表建立CREATE TABLE Measure(MeasureId int IDENTITY(1,1) NOT NULL PRIMARY KEY,MeasureName varchar(20) NOT NULL,Describe varchar(180) NULL)d) 貨品信息表建立CREATE TABLE Goods(GoodsId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsName varchar(60) NOT NULL,MeasureId int NOT NULL,Describe varchar(180) NULL
23、,Memo varchar(800) NULL,FOREIGN KEY (MeasureId) REFERENCES Measure (MeasureId)e) 庫管人員信息表設(shè)計(jì)CREATE TABLE Storeman (StoremanId int IDENTITY(1,1) NOT NULL PRIMARY KEY,LoginName varchar(16) NOT NULL,LoginPassword varchar(8) NOT NULL,Name varchar(20) NOT NULL,UserType tinyint NOT NULL DEFAULT(1),Memo varc
24、har(800) NULL)f) 貨品入倉信息表建立CREATE TABLE EntryInfo (EntryId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,EntryAmount int NOT NULL,EntryDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NULL,CustomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (S
25、toremanId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)g) 品出倉信息表建立CREATE TABLE ExportInfo (ExportId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,ExportAmount int NOT NULL,ExportDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NU
26、LL,CustomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (StoremanId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)h) 貨品盤點(diǎn)信息表建立CREATE TABLE CheckInfo (CheckId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,Check
27、Amount int NOT NULL,CheckDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NULL,CustomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (StoremanId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)i) 庫存上下限信息表建立CREATE TA
28、BLE StorehouseAlert (GoodsId int NOT NULL PRIMARY KEY,UpAlert int NOT NULL,DownAlert int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId)j) 供貨客戶視圖建立CREATE VIEW View_SupplyCustomer ASSelect CustomerId,CustomerName,Address,Contact,ContactPhone,MemoFROM Customer Where CustomerType=1 or Custome
29、rType=3k) 收貨客戶視圖建立CREATE VIEW View_BuyCustomer ASSelect CustomerId,CustomerName,Address,Contact,ContactPhone,MemoFROM Customer Where CustomerType=2 or CustomerType=3l) 庫存盤點(diǎn)存儲(chǔ)過程建立CREATE PROCEDURE Procedure_storecheck storemanid intASDeclare lastcheckdate datetime Select lastcheckdate=max(Checkdate) f
30、rom CheckInfoIf ROWCOUNT =0 Insert into CheckInfo(GoodsId,CheckAmount,CheckDate,StoremanId) Select Goodsid,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId),getdate(),storemanid from Goo
31、ds aElse Insert into CheckInfo(GoodsId,CheckAmount,CheckDate,StoremanId) Select Goodsid,CheckAmount=(select isnull(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckd
32、ate)-(select isnull(sum(ExportAmount),0) from ExportInfowhere GoodsId=a.GoodsId and ExportDate>=lastcheckdate),getdate(),storemanid from Goods am) 實(shí)時(shí)庫存情況存儲(chǔ)過程建立CREATE PROCEDURE Procedure_storereal ASDeclare lastcheckdate datetime Select lastcheckdate=max(Checkdate) from CheckInfoIf ROWCOUNT =0 Sel
33、ect a.GoodsName,b.MeasureName,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId) from Goods a,Measure b where a.MeasureId=b.MeasureIdElseSelect a.GoodsName,b.MeasureName,CheckAmount=(sele
34、ct isnull(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckdate)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId and ExportDate>=lastc
35、heckdate) from Goods a,Measure b where a.MeasureId=b.MeasureIdn) 查詢庫存異常情況存儲(chǔ)過程建立CREATE PROCEDURE Procedure_storealert ASCreate TABLE #1(Goodsid int,CheckAmount int,UpAlert int,DownAlert int)Declare lastcheckdate datetime Select lastcheckdate=max(Checkdate) from CheckInfoIf ROWCOUNT =0 Insert into #1(
36、Goodsid,CheckAmount,UpAlert,DownAlert) Select a.Goodsid,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsIs=a.GoodsId),b.UpAlert,b.DownAlert from Goods a,StorehouseAlert b where a.GoodsId=b.GoodsId E
37、lseInsert into #1(Goodsid,CheckAmount,UpAlert,DownAlert) Select a.Goodsid,CheckAmount=(select isnull(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckdate)-(select i
38、snull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId and ExportDate>=lastcheckdate) ,b.UpAlert,b.DownAlert from Goods a,StorehouseAlert b where a.GoodsId=b.GoodsIdSelect b.GoodsName,c.MeasureName,a.UpAlert,a.DownAlert,a.CheckAlert from #1 a,Goods b, Measure c where a.GoodsId=b.Goods
39、Id and b.MeasureId=c.MeasureId and (a.CheckAmount>a.Upalert or a.CheckAmount <a.DownAlert)第四章系統(tǒng)初始化a) 將客戶信息加入到Customer表Insert into Customer(customertype,customername,address,contact,contactphone) Values(1,'客戶1','客戶地址1','客戶聯(lián)系人1','客戶聯(lián)系電話1')Insert into Customer(cust
40、omertype,customername,address,contact,contactphone) Values(1,'客戶2','客戶地址2','客戶聯(lián)系人2','客戶聯(lián)系電話2')Insert into Customer(customertype,customername,address,contact,contactphone) Values(2,'客戶3','客戶地址3','客戶聯(lián)系人3','客戶聯(lián)系電話3')Insert into Customer(cu
41、stomertype,customername,address,contact,contactphone) Values(3,'客戶4','客戶地址4','客戶聯(lián)系人4','客戶聯(lián)系電話4')b) 將計(jì)量信息加入Measure表Insert into Measure(measurename,describe) values('箱','計(jì)量單位描述1')Insert into Measure(measurename,describe) values('包','計(jì)量單位描述2
42、39;)c) 將貨品信息加入Goods表Insert into Goods(goodsname,measureid,describe) values('貨品1',1, '貨品描述1')Insert into Goods(goodsname,measureid,describe) values('貨品2',1, '貨品描述2')Insert into Goods(goodsname,measureid,describe) values('貨品3',2, '貨品描述3')d) 將庫管人員信息加入Stor
43、eman表Insert into Storeman(loginname,loginpassword,name,usertype) values('ceshi1', '123', '測(cè)試1',1)Insert into Storeman(loginname,loginpassword,name,usertype) values('ceshi2', '123', '測(cè)試2',2)e) 添加貨品入倉記錄Insert into EntryInfo(goodsid,entryamount,entrydate,
44、storemanid,customerid) values(1,10, '2011-1-1',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(2,8, '2011-1-1',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(1,10, '2011-1-2',1,1)Insert into EntryInf
45、o(goodsid,entryamount,entrydate,storemanid,customerid) values(1,2, '2011-1-3',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(2,5, '2011-1-4',1,1)f) 添加貨品出倉記錄Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(1,2,
46、'2011-1-2',1,3)Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(1,3, '2011-1-2',1,4)Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(2,6, '2011-1-2',1,4)Insert into ExportInfo(goodsid,exportamount,exportd
47、ate,storemanid,customerid) values(2,3, '2011-1-5',1,3)g) 添加庫存上下限記錄Insert into StorehouseAlert(goodsid,upalert,downalert) values(1,100,5)Insert into StorehouseAlert(goodsid,upalert,downalert) values(2,100,5)a) 系統(tǒng)連接(使用JDBD Driver):Import java.sql.*;Class.forName(“com.microsoft.jdbc.sqlserver.S
48、QLServerDriver”);tryClass.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);catch(ClassNotFoundException e)System.out.println(“Driver Not Found”);b) 查詢功能關(guān)鍵代碼:<% page contentType="text/html;charset=utf-8"%> <% page import="java.sql.*"%> <html> <body>
49、<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver:/192.168.1.11:1433;DatabaseName=storehouse" String user="sa" String password="" Connection conn= DriverManager.getConnection(url,user,passwor
50、d); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); /String sql="select * from customer" ResultSet rs=stmt.executeQuery(sql); while(rs.next() %> 第一行:<%=rs.getString(1)%> /第二行:<%=rs.getString(2)%> <%> /<%out.print(&quo
51、t;查詢完畢");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html>第五章系統(tǒng)界面演示登陸入口:進(jìn)入倉庫管理選項(xiàng)卡:單表查詢:表customer的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:各表不一一枚舉視圖查詢:視圖View_SupplyCustomer的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:視圖View_BuyCustomer的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:多表查詢:貨品名稱為“貨品1”的入庫記錄的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:實(shí)時(shí)庫存的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:庫存異常報(bào)警情況的SQL Server查詢:對(duì)應(yīng)的系統(tǒng)界面查詢:界面部分我采用了CROWN(感謝CROWN)的模板,其中包括一些CSS樣式和簡(jiǎn)單的JSP腳本,同時(shí)也對(duì)其進(jìn)行了修改和擴(kuò)充,使它和“虛擬商店”更加緊密地結(jié)合在一起。由于功能并不完善(訂單部分如何實(shí)施有待做市場(chǎng)調(diào)研),因此對(duì)應(yīng)的系統(tǒng)部分還不能達(dá)到應(yīng)用的級(jí)別,這部分我會(huì)在接下來的時(shí)間里完成(暑期完成市場(chǎng)調(diào)研)。力求做到時(shí)效性、獨(dú)特性、針對(duì)性,并對(duì)界面進(jìn)行進(jìn)一步美化,以達(dá)到清新、直觀的效果。第六章總結(jié)經(jīng)歷了數(shù)周的學(xué)習(xí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年新疆維吾爾自治區(qū)事業(yè)單位招聘考試教師招聘音樂學(xué)科專業(yè)知識(shí)試卷(音樂教育研究前沿)
- 西藏確診人員管理辦法
- 2025年法語TEF考試試卷口語表達(dá)錯(cuò)誤案例分析試題
- 2025年初級(jí)廣告設(shè)計(jì)師職業(yè)能力鑒定試卷
- 護(hù)士執(zhí)業(yè)準(zhǔn)入管理辦法
- 小區(qū)周邊道路管理辦法
- 小區(qū)公共電梯管理辦法
- 以生活為翼:廣元市萬達(dá)中學(xué)高中歷史教學(xué)的創(chuàng)新飛翔
- 以生命價(jià)值觀為翼助力中小學(xué)班主任專業(yè)成長
- 2025年甘肅特崗教師招聘考試教育理論基礎(chǔ)全真模擬試卷
- 護(hù)理質(zhì)量與院感的關(guān)系
- 《云南教育強(qiáng)省建設(shè)規(guī)劃綱要(2024-2035年)》解讀培訓(xùn)
- 第四章美容手術(shù)基本知識(shí)及技術(shù)美容外科學(xué)概論講解
- 2.2.2 城鎮(zhèn)化化過程中出現(xiàn)的問題 地理信息技術(shù)在城市管理中的應(yīng)用 必修二
- 2025年中鐵交通投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 滬教版(五四學(xué)制)(2024)六年級(jí)下冊(cè)單詞表+默寫單
- 酒店中央空調(diào)維護(hù)合同
- (2025)時(shí)事政治題庫(含參考答案)
- 高壓水清洗施安全技術(shù)措施
- 【MOOC期末】《中國哲學(xué)》(北京師范大學(xué)) 期末中國大學(xué)慕課答案
- GB/T 18916.65-2024工業(yè)用水定額第65部分:飲料
評(píng)論
0/150
提交評(píng)論