中小企業(yè)倉(cāng)庫管理系統(tǒng)—數(shù)據(jù)庫設(shè)計(jì)與編碼_第1頁
中小企業(yè)倉(cāng)庫管理系統(tǒng)—數(shù)據(jù)庫設(shè)計(jì)與編碼_第2頁
中小企業(yè)倉(cāng)庫管理系統(tǒng)—數(shù)據(jù)庫設(shè)計(jì)與編碼_第3頁
中小企業(yè)倉(cāng)庫管理系統(tǒng)—數(shù)據(jù)庫設(shè)計(jì)與編碼_第4頁
中小企業(yè)倉(cāng)庫管理系統(tǒng)—數(shù)據(jù)庫設(shè)計(jì)與編碼_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 本科畢業(yè)論文(設(shè)計(jì)) 題 目:中小企業(yè)倉(cāng)庫管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)與編碼 學(xué) 院: 專業(yè)班級(jí): 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師姓名: 指導(dǎo)教師職稱: 年 月 日24摘要在市場(chǎng)經(jīng)濟(jì)中,倉(cāng)庫管理是企業(yè)正常而完善運(yùn)作的重要環(huán)節(jié)之一。這大大減少了工作人員管理的工作量,降低了企業(yè)管理的成本,加快了工作效率,并且提高了數(shù)據(jù)的安全性和準(zhǔn)確性。本系統(tǒng)基于多層架構(gòu),C/S模式,從中小型企業(yè)的實(shí)際情況出發(fā),在了解用戶需求的基礎(chǔ)上,提出了中小型企業(yè)倉(cāng)庫管理系統(tǒng)的基本目標(biāo),并且詳細(xì)闡述了數(shù)據(jù)庫設(shè)計(jì)與多層中的數(shù)據(jù)鏈接層的設(shè)計(jì)。主要包括數(shù)據(jù)庫概念模型設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫運(yùn)營(yíng)與維護(hù);數(shù)據(jù)鏈接層的的設(shè)計(jì)與實(shí)現(xiàn)方

2、法。關(guān)鍵字:倉(cāng)庫管理系統(tǒng) ,多層架構(gòu),數(shù)據(jù)鏈接層,數(shù)據(jù)庫設(shè)計(jì)AbstractUnder the market economy, warehouse management is one of the important links of enterprise and improve operation. This greatly reduces the workload of staff management, reduce the management cost, speed up the work efficiency, and improve the safety and accuracy

3、 of the data. The system is based on multi-layer architecture, C/S mode, starting from the actual situation of small and medium-sized enterprises, based on the user requirement, put forward the basic goal of the warehouse management system of small and medium-sized enterprises, and expounds the desi

4、gn of data link layer in the multilayer database design and. Mainly includes the database conceptual model design, logic structure design, database implementation,database operation maintenance; and the implementation method of the data link layer design. Keywords: Warehouse Management Information S

5、ystem, multi-layer Architecture, Data link layer, database design目錄1 引言11.1 課題研究意義11.2 技術(shù)簡(jiǎn)介11.3 開發(fā)工具選擇22 系統(tǒng)分析42.1 需求概述42.2 需求分析43 系統(tǒng)設(shè)計(jì)73.1 系統(tǒng)總體框架設(shè)計(jì)73.2 功能模塊設(shè)計(jì)83.3 數(shù)據(jù)庫設(shè)計(jì)83.3.1 數(shù)據(jù)庫設(shè)計(jì)原則93.3.2概念模型設(shè)計(jì)93.3.3邏輯結(jié)構(gòu)設(shè)計(jì)103.3.4存儲(chǔ)過程設(shè)計(jì)143.3.5 數(shù)據(jù)庫的實(shí)施163.3.6數(shù)據(jù)庫運(yùn)行與維護(hù)184 數(shù)據(jù)鏈接層設(shè)計(jì)205 結(jié)束語226 致謝237 參考文獻(xiàn)241 引言1.1 課題研究意義隨著經(jīng)濟(jì)

6、的發(fā)展,科學(xué)技術(shù)水平的不斷提高,人們的生活物質(zhì)水平也有了顯著地變化。在市場(chǎng)經(jīng)濟(jì)中,倉(cāng)庫管理是企業(yè)正常而完善運(yùn)作的重要環(huán)節(jié)之一,建立一個(gè)規(guī)范的,高效的,安全可靠的倉(cāng)庫管理系統(tǒng),是提高企業(yè)在市場(chǎng)競(jìng)爭(zhēng)中的一個(gè)有效的方法。在企業(yè)的倉(cāng)庫管理中,基本上所有的具有一定數(shù)量數(shù)據(jù)的機(jī)構(gòu)都開始使用計(jì)算機(jī)數(shù)據(jù)庫來做管理。這大大減少了企業(yè)中的工作人員管理的工作量,降低了企業(yè)管理的成本,加快了工作效率,并且最重要的是提高了數(shù)據(jù)的安全性和準(zhǔn)確性,實(shí)時(shí)性。通過倉(cāng)庫管理系統(tǒng)軟件,可以在最快的時(shí)間內(nèi),查找所需要查找的相關(guān)倉(cāng)庫數(shù)據(jù)信息,提煉一些相關(guān)信息,匯總后,方便企業(yè)管理者對(duì)這些數(shù)據(jù)進(jìn)行分析整合并且做出相應(yīng)的決策。數(shù)據(jù)庫技術(shù)是

7、現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究和解決了計(jì)算機(jī)信息處理過程中大量數(shù)據(jù)有效地組織和存儲(chǔ)的問題在數(shù)據(jù)庫技系統(tǒng)中減少數(shù)據(jù)存儲(chǔ)冗余、實(shí)現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)。 本文從中小型企業(yè)的實(shí)際情況出發(fā),在了解用戶需求和系統(tǒng)總體需求的基礎(chǔ)上,提出了中小型企業(yè)倉(cāng)庫管理系統(tǒng)的基本目標(biāo),并且詳細(xì)闡述了系統(tǒng)的數(shù)據(jù)庫總體設(shè)計(jì)以及各個(gè)階段的設(shè)計(jì)過程以及結(jié)果。1.2 技術(shù)簡(jiǎn)介在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。我們?cè)O(shè)計(jì)了單一功能分層架構(gòu)。從下至上分別為:數(shù)據(jù)鏈接層、錯(cuò)誤檢驗(yàn)層、業(yè)務(wù)邏輯層(又或稱為領(lǐng)域?qū)樱⒂脩艚涌趯印?/p>

8、用戶接口層負(fù)責(zé)和用戶的交互,包括用戶的輸入、控件的觸發(fā)事件和數(shù)據(jù)的顯示;業(yè)務(wù)邏輯層負(fù)責(zé)傳送數(shù)據(jù),并清晰展示所有調(diào)用的函數(shù),方便對(duì)功能的控制;錯(cuò)誤檢驗(yàn)層負(fù)責(zé)檢查用戶輸入的合法性;數(shù)據(jù)鏈接層負(fù)責(zé)對(duì)數(shù)據(jù)庫進(jìn)行增刪改查;幾個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。所謂多層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個(gè)“中間層”,也叫組件層。這里所說的多層體系,不是指物理上的多層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是多層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是多層體系結(jié)構(gòu),多層是指邏輯上的多層,即使這幾個(gè)層放置到一臺(tái)機(jī)器上。多層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況

9、下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互。總而言之,使用多層架構(gòu),開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層,可以很容易的用新的實(shí)現(xiàn)來替換原有層次的實(shí)現(xiàn),以降低層與層之間的依賴;有利于標(biāo)準(zhǔn)化,有利于各層邏輯的復(fù)用,并且結(jié)構(gòu)更加的明確,在后期維護(hù)的時(shí)候,極大地降低了維護(hù)成本和維護(hù)時(shí)間。1.3 開發(fā)工具選擇本平臺(tái)選用Visual Studio 2010作為開發(fā)工具。Visual Studio 2010是微軟公司推出的一個(gè)軟件開發(fā)環(huán)境,可以支持多種編程語言,用來編寫創(chuàng)建Windows平臺(tái)下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)絡(luò)服

10、務(wù)、智能設(shè)備應(yīng)用程序和Office插件。利用它的可視化設(shè)計(jì)器,可以快速地創(chuàng)建頁面而無需編寫任何代碼。 在數(shù)據(jù)庫方面,選用與Microsoft緊密集成的SQL Server 2005數(shù)據(jù)庫。相較于桌面型的小數(shù)據(jù)庫ACCESS數(shù)據(jù)庫而言SQL在功能上比較完善,其安全性、并發(fā)控制能力、數(shù)據(jù)挖掘和聯(lián)機(jī)操作等方面都是ACCESS無法超越的。不過在創(chuàng)建和配置上,SQL Server數(shù)據(jù)庫都要比ACCESS數(shù)據(jù)庫難。SQL Server所使用的數(shù)據(jù)庫查詢語言是Transact-SQL,它強(qiáng)化了原有的SQL關(guān)鍵字以進(jìn)行數(shù)據(jù)的存取,儲(chǔ)存及處理等功能,同時(shí)擴(kuò)充了流程控制指定,可以使用戶方便的編寫功能強(qiáng)大的存儲(chǔ)過程

11、。由于SQL Server將數(shù)據(jù)存放在服務(wù)器端,并預(yù)先編譯過,所以它的執(zhí)行速度非常塊。在開發(fā)語言方面,選擇C#程序開發(fā)語言。C#是.NET windows網(wǎng)絡(luò)框架的主要開發(fā)語言,與COM(組件對(duì)象模型)直接集成。C#可以通過內(nèi)置的服務(wù),使組件可以轉(zhuǎn)化為 XML 網(wǎng)絡(luò)服務(wù),這樣代碼就可以被其他程序調(diào)用,實(shí)現(xiàn)了重復(fù)利用的高效開發(fā)模式。更重要的是C#具有自動(dòng)資源回收功能,不用像使用C+那樣分析內(nèi)存泄露。2 系統(tǒng)分析 2.1 需求概述本系統(tǒng)作為一款中小企業(yè)倉(cāng)庫管理系統(tǒng),主要完成材料出庫管理、入庫管理、賬目管理、供貨單位管理、產(chǎn)品耗材管理和一些數(shù)據(jù)匯總報(bào)表功能。以及日后對(duì)這些記錄的查詢、處理和匯總,并且

12、要導(dǎo)出相應(yīng)的入庫單、出庫單、保管明細(xì)賬單、材料入/出庫分類匯總賬單等。倉(cāng)庫管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 2.2 需求分析結(jié)合倉(cāng)庫管理系統(tǒng)的實(shí)際情況,根據(jù)倉(cāng)庫管理系統(tǒng)的需求,分析出主要實(shí)現(xiàn)以下幾個(gè)功能: A) 添加入庫信息1. 需要添加的信息包括:入庫單編號(hào)、入庫日期、供貨單位、供貨單號(hào)、制單人、入庫材料類別、入庫材料名稱、入庫材料規(guī)格、入庫數(shù)目、入庫金額。2. 可以修改和刪除入庫信息。B) 管理入庫信息1. 可

13、以根據(jù)入庫單編號(hào)、入庫日期、供貨單位、供貨單號(hào)中的任意條件組合查詢?nèi)霂靻涡畔ⅰ?. 可以更改和刪除入庫單信息。C) 添加出庫信息1. 需要添加的信息包括:出庫單編號(hào)、出庫日期、領(lǐng)用班組、生產(chǎn)計(jì)劃號(hào)、產(chǎn)品名、經(jīng)領(lǐng)人、批準(zhǔn)人、制單人、出庫材料類別、出庫材料名稱、出庫材料規(guī)格、出庫數(shù)目、出庫金額。2. 可以更改和刪除出庫信息。D) 管理出庫信息1. 可以根據(jù)出庫單編號(hào)、出庫日期、領(lǐng)用班組、生產(chǎn)計(jì)劃號(hào)、產(chǎn)品名中的任意條件組合查詢出庫單信息。2. 可以更改和刪除出庫單信息。E) 建賬管理從無到有地將庫存的初始數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,數(shù)據(jù)包括材料類別、材料名稱、材料規(guī)格、材料數(shù)目、材料金額。F) 保管明細(xì)賬管理匯

14、總在某一時(shí)間段內(nèi),某種特定規(guī)格的材料的出入庫和結(jié)存情況,反饋的數(shù)據(jù)包括日期、入庫單編號(hào)、入庫數(shù)量、入庫單價(jià)、入庫金額、出庫單編號(hào)、出庫數(shù)量、出庫單價(jià)、出庫金額、結(jié)存數(shù)量、結(jié)存單價(jià)、結(jié)存金額。G) 供貨單位供貨匯總匯總在某一時(shí)間段內(nèi),某一特定的供貨單位的供貨情況,反饋的數(shù)據(jù)包括日期、材料類別、材料名稱、材料規(guī)格、數(shù)目、單價(jià)、金額。H) 產(chǎn)品耗材匯總匯總在某一時(shí)間段內(nèi),某一特定產(chǎn)品消耗材料的情況,反饋的數(shù)據(jù)包括材料編號(hào)、材料類別、材料名稱、材料規(guī)格、數(shù)目、單價(jià)、金額。I) 材料入庫匯總1. 全部材料入庫明細(xì)表,匯總在某一時(shí)間段內(nèi)的全部材料入庫情況,反饋的數(shù)據(jù)包括日期、材料類別、材料名稱、材料規(guī)格、

15、供貨單位、數(shù)目、單價(jià)、金額。2. 材料入庫分類匯總表,匯總在某一時(shí)間段內(nèi),某一特定類別的材料的入庫情況,反饋的數(shù)據(jù)包括日期、材料名稱、材料規(guī)格、供貨單位、數(shù)目、單價(jià)、金額。J) 材料出庫匯總1. 全部材料出庫明細(xì)表,匯總在某一時(shí)間段內(nèi)的全部材料出庫情況,反饋的數(shù)據(jù)包括日期、生產(chǎn)計(jì)劃號(hào)、產(chǎn)品名、材料類別、材料名稱、材料規(guī)格、數(shù)目、單價(jià)、金額。2. 材料出庫分類匯總表,匯總在具體某一天的材料出庫與產(chǎn)品生產(chǎn)的對(duì)應(yīng)情況,反饋的數(shù)據(jù)包括材料類別、產(chǎn)品名、對(duì)應(yīng)的出庫金額。3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)總體框架設(shè)計(jì)隨著面向?qū)ο蠹夹g(shù)的發(fā)展,層次之間的數(shù)據(jù)耦合逐漸由原來的較細(xì)粒度的據(jù)變量逐漸轉(zhuǎn)化為較粗粒度的數(shù)據(jù)業(yè)務(wù)對(duì)

16、象,即實(shí)例化的類對(duì)象,這樣更加減少了各個(gè)層次之間耦合,并且為數(shù)據(jù)持久化提供對(duì)象,更加提高了數(shù)據(jù)持久化的安全。因此整體分為多層,分別是:表現(xiàn)層(PresentationLayer)、業(yè)務(wù)邏輯層(Business Logic Layer)、錯(cuò)誤檢驗(yàn)層(ErrorCheck)、數(shù)據(jù)鏈接層(Data Access Layer)。具體關(guān)系結(jié)構(gòu)如圖3-1 多層架構(gòu)關(guān)系圖。通過分層,可以降低系統(tǒng)各部分之間的耦合程度,有利于開發(fā)人員的分工,增加系統(tǒng)的可維護(hù)性及可擴(kuò)展性。圖3-1 多層架構(gòu)關(guān)系圖 3.2 功能模塊設(shè)計(jì)系統(tǒng)中的主要功能模塊及其結(jié)構(gòu)關(guān)系如 圖3-2倉(cāng)庫管理系統(tǒng)模塊分解圖。倉(cāng)庫管理系統(tǒng)建賬管理保管明細(xì)

17、賬管理入庫管理與匯總出庫管理與匯總添加入庫信息管理入庫信息全部材料入庫明細(xì)表材料入庫分類匯總表供貨單位供貨明細(xì)表添加出庫信息管理出庫信息全部材料出庫明細(xì)表材料出庫分類匯總表產(chǎn)品材料耗用匯總表圖3-2 倉(cāng)庫管理系統(tǒng)模塊分解圖3.3 數(shù)據(jù)庫設(shè)計(jì) 由于倉(cāng)庫管理過程中涉及到大量的材料以及訂單數(shù)據(jù)信息,因此依托于一個(gè)高性能的數(shù)據(jù)庫軟件,并設(shè)計(jì)出一個(gè)良好的數(shù)據(jù)庫結(jié)構(gòu)體系顯得尤為重要。本系統(tǒng)采用SQL Server2005 商用數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)庫存儲(chǔ)和訪問,具有標(biāo)準(zhǔn)結(jié)構(gòu)查詢語言SQL,支持 ODBC。MSSQL Server 2005是Microsoft Window數(shù)據(jù)庫產(chǎn)品的領(lǐng)導(dǎo)者,對(duì)用戶提供

18、標(biāo)準(zhǔn)的查詢接口(如 SQL)和數(shù)據(jù)訪問接口(如 ODBC、JDBC等),并保證系統(tǒng)數(shù)據(jù)完全性、一致性和完整性等,為數(shù)據(jù)的共享提供了必要的基礎(chǔ)條件。為了保證數(shù)據(jù)庫的一致性和完整性,往往通過表間關(guān)聯(lián)的方式來盡可能的降低數(shù)據(jù)的冗余。表間關(guān)聯(lián)是一種強(qiáng)制性措施,建立后,對(duì)父表(Parent Table)和子表(Child Table)的插入、更新、刪除操作均要占用系統(tǒng)的開銷。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作,為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。又由于這種外鍵關(guān)系,許多表的操作也會(huì)涉及到另外一些表中的數(shù)據(jù)的變化,因此又設(shè)計(jì)了存儲(chǔ)過程,保證數(shù)據(jù)的安全性和一致

19、性。存儲(chǔ)過程在運(yùn)算時(shí)生成執(zhí)行方式,所以,以后對(duì)其再運(yùn)行時(shí)其執(zhí)行速度很快。SQL Server 2005 不僅提供了用戶自定義存儲(chǔ)過程的功能,而且也提供了許多可作為工具使用的系統(tǒng)存儲(chǔ)過程。使用規(guī)則(Rule)和約束(Check)來防止系統(tǒng)操作人員誤輸入造成數(shù)據(jù)的錯(cuò)誤是設(shè)計(jì)人員的另一種常用手段,但是,不必要的規(guī)則和約束也會(huì)占用系統(tǒng)的不必要開銷,需要注意的是,約束對(duì)數(shù)據(jù)的有效性驗(yàn)證要比規(guī)則快。所有這些,需要在設(shè)計(jì)階段應(yīng)根據(jù)系統(tǒng)操作的類型、頻度加以均衡考慮。3.3.1 數(shù)據(jù)庫設(shè)計(jì)原則在具體數(shù)據(jù)庫設(shè)計(jì)過程中,要遵循以下原則:(1)為了增強(qiáng)數(shù)據(jù)庫程序的可讀性和可維護(hù)性,按照相應(yīng)的命名原則規(guī)范對(duì)數(shù)據(jù)表、變量

20、、存儲(chǔ)過程、視圖等進(jìn)行規(guī)范化,并對(duì)具體的SQL代碼編寫規(guī)范化。數(shù)據(jù)的標(biāo)準(zhǔn)化有助于消除數(shù)據(jù)庫中的數(shù)據(jù)冗余(2)在數(shù)據(jù)表的設(shè)計(jì)中,滿足每個(gè)字段必須盡量小,只能包含一個(gè)數(shù)據(jù)項(xiàng)目、必須完全支持主鍵,而且只支持主鍵,每條記錄必須唯一等??紤]到哪些數(shù)據(jù)字段將來可能會(huì)發(fā)生變更,選擇數(shù)字類型和文本類型盡量充足。(3)多使用存儲(chǔ)過程實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作,增加訪問效率及軟件程序修改。(4)數(shù)據(jù)的完整性,父表中插入、刪除、更新數(shù)據(jù)時(shí),要級(jí)聯(lián)操作,將所有相關(guān)的表項(xiàng)中的數(shù)據(jù)都進(jìn)行相關(guān)操作,用到存儲(chǔ)過程,數(shù)據(jù)回滾。(5)采用數(shù)據(jù)驅(qū)動(dòng)而非硬編碼的方式,許多策略變更和維護(hù)都會(huì)方便得多,大大增強(qiáng)系統(tǒng)的靈活性和擴(kuò)展性。 3.3.2

21、概念模型設(shè)計(jì) 主要采用E-R模型進(jìn)行設(shè)計(jì),本系統(tǒng)的E-R圖如圖3-3所示。其中包含四個(gè)實(shí)體,分別是材料、出庫單、入庫單、建賬;包含三個(gè)關(guān)系出庫、入庫、建賬。出庫單和材料是多對(duì)多的關(guān)系,關(guān)系出庫外鍵參照材料中的編號(hào)和出庫單中的編號(hào);入庫單和材料是多對(duì)多的關(guān)系,關(guān)系入庫外鍵參照材料中的編號(hào)和入庫單中的編號(hào);建賬和材料是多對(duì)一的關(guān)系。圖3-3 倉(cāng)庫管理系統(tǒng)ER圖3.3.3邏輯結(jié)構(gòu)設(shè)計(jì) 關(guān)系模型 通過將E-R圖轉(zhuǎn)換成表,實(shí)現(xiàn)從E-R模型到關(guān)系模型的轉(zhuǎn)換,轉(zhuǎn)換結(jié)果如下,其中材料中的主鍵為編號(hào),建賬中的主鍵為編號(hào)和材料編號(hào),出庫單的主鍵為編號(hào),入庫單的主鍵為編號(hào),出庫中的主鍵為編號(hào)、出庫單編

22、號(hào)、材料編號(hào),入庫中的主鍵為編號(hào)、入庫單編號(hào)、材料編號(hào)。材料(編號(hào),類別,名稱,規(guī)格,累計(jì)數(shù)量,累計(jì)金額);建賬(編號(hào),材料編號(hào),金額,數(shù)量,日期);出庫單(編號(hào),產(chǎn)品名,生產(chǎn)計(jì)劃號(hào),經(jīng)領(lǐng)人,批準(zhǔn)人,制單人,領(lǐng)用班組, 日期)入庫單(編號(hào),供貨單位,供貨單號(hào),制單人,日期)入庫(編號(hào),入庫單編號(hào),材料編號(hào),數(shù)量,金額)出庫(編號(hào),出庫單編號(hào),材料編號(hào),數(shù)量,金額) 表結(jié)構(gòu)設(shè)計(jì)由關(guān)系模式設(shè)計(jì)數(shù)據(jù)庫中的表包括材料表CL(其表結(jié)構(gòu)如 表3-1)、.入庫單表RKD(其表結(jié)構(gòu)如 表3-2)、入庫表RK(其表結(jié)構(gòu)如 表3-3)、出庫單表CKD(其表結(jié)構(gòu)如 表3-4)、出庫表CK(其表結(jié)構(gòu)如

23、表3-5)、建賬表 JZ(其表結(jié)構(gòu)如 表3-6)。表3-1 CL材料表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1CL_bianhao材料編號(hào)int否是自增12CL_leibie材料類別nvarchar50否一級(jí)科目3CL_mingcheng材料名稱nvarchar50否二級(jí)科目4CL_guige材料規(guī)格nvarchar50否5CL_leijishumu材料累計(jì)數(shù)目float否某種材料的總數(shù)目6CL_leijijine材料累計(jì)金額float否某種材料的總金額表3-2 RKD入庫單表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1RKD_bianhao入庫單編號(hào)nvarchar50否

24、是根據(jù)年月日加上序號(hào)組成。例如:2013010100032RKD_riqi入庫日期nvarchar50否入庫的日期 例:2013-01-10 12:06:043RKD_zhidanren制單人nvarchar50是4RKD_gonghuodanwei供貨單位nvarchar50否5RKD_gonghuodanhao供貨單號(hào)nvarchar50否表3-3 RK入庫表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1RK_bianhao入庫編號(hào)nvarchar50否是是某入庫單中的入庫編號(hào) 自增2RK_RKD_bianhao入庫單編號(hào)nvarchar50否是參照入庫單中編號(hào)3RK_CL_bian

25、hao入庫材料編號(hào)nvarchar50否是參照材料表中的編號(hào)4RK_shumu入庫數(shù)目float否5RK_jine入庫金額float否表3-4 CKD 出庫單表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1CKD_bianhao出庫單編號(hào)nvarchar50否是根據(jù)年月日加上序號(hào)組成。例2013010100032CKD_riqi出庫日期nvarchar50否出庫日期 例:2013-01-10 12:06:043CKD_chanpinming產(chǎn)品名nvarchar50否出庫后用于制造某產(chǎn)品的名字4CKD_shengchanjihuahao生產(chǎn)計(jì)劃號(hào)nvarchar50否5CKD_lingy

26、ongbanzu領(lǐng)用班組nvarchar50否6CKD_jinglingren經(jīng)領(lǐng)人nvarchar50是7CKD_pizhunren批準(zhǔn)人nvarchar50是8CKD_zhidanren制單人nvarchar50是表3-5 CK出庫表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1CK_bianhao出庫編號(hào)nvarchar50否是是某出庫單中的出庫編號(hào) 自增2CK_CKD_bianhao出庫單編號(hào)nvarchar50否是參照出庫單中編號(hào)3CK_CL_bianhao出庫材料編號(hào)nvarchar50否是參照材料表中的編號(hào)4CK_shumu出庫數(shù)目float否5CK_jine出庫金額flo

27、at否表3-6 JZ 建賬表序號(hào)字段名稱字段說明字段類型寬度允許空是否主鍵備注1JZ_bianhao建賬編號(hào)nvarchar50否是根據(jù)年月日加上序號(hào)組成例2013010100032JZ _CL_bianhao建賬材料編號(hào)nvarchar50否是參照材料表中的編號(hào)3JZ _riqi建賬日期nvarchar50否建賬的日期 例:2013-01-10 12:06:044JZ _shumu建賬數(shù)目float否5JZ _jine建賬金額float否 數(shù)據(jù)庫表關(guān)系數(shù)據(jù)庫中的主要表以及表之間的關(guān)系如圖3-4所示。圖3-4 倉(cāng)庫管理系統(tǒng)表關(guān)系圖3.3.4存儲(chǔ)過程設(shè)計(jì) 為了保證數(shù)據(jù)的一致性和完整

28、性,本系統(tǒng)設(shè)置了許多存儲(chǔ)過程,使數(shù)據(jù)庫中的數(shù)據(jù)能更好的體現(xiàn)出實(shí)際情況。包括bgmx、chukuaddItem、deletechuku、deletechukudan、deletejianzhang、deleteruku、deleterukudan、getckdetail、getcldetail、getrkdetail、jianzhangadditem、rukuaddItem、updatechuku、updatechukudan、updatejianzhang、updateruku、updaterukudan。它們的具體功能描述如 表3-7 存儲(chǔ)過程及其功能。表3-7 存儲(chǔ)過程存儲(chǔ)過程名稱輸入?yún)?shù)

29、主要功能bgmxqishiriqi,jieshuriqi,leibie,mingcheng,guige根據(jù)開始日期、結(jié)束日期、材料類別、名稱、規(guī)格得到報(bào)關(guān)明細(xì)賬單gechukuaddItemchukudbh,chukurq,lingyongbanzu,shengchanjihuahao ,chanpinming ,jinglingren,pizhunren,zhidanren,leibie,mingcheng guige 根據(jù)入庫詳細(xì)信息添加到入庫deletechukuchukudbh,chukubh根據(jù)出庫單編號(hào)和出庫編號(hào)刪除出庫Deletechukudanchukudbh根據(jù)出庫單編號(hào)刪除

30、出庫單Deletejianzhangjzbianhao根據(jù)建賬編號(hào)刪除建賬Deleterukurukudbh,rukubh根據(jù)入庫單編號(hào)和入庫編號(hào)刪除入庫Deleterukudanrukudbh根據(jù)入庫單編號(hào)刪除入庫單Getckdetailchukudbh,chukubh,根據(jù)出庫單編號(hào)得到出庫信息Getrkdetailrukudbh,rukubh,clbianhao,rkshumu,rkjine根據(jù)入庫單編號(hào)得到入庫信息Jianzhangadditemjzriqi,leibie,mingcheng,guige,shumu,jine根據(jù)建賬信息添加建賬rukuaddItemrukudbh,ru

31、kurq,gonghuodw,gonghuodh,leibie根據(jù)入庫信息添加入庫updatechukuchukudbh,chukubh,ckshumunew,ckjinenew根據(jù)出庫信息更新出庫updatechukudanchukudbh,chanpinming,shengchanjihuahao,lingyongbanzu,jinglingren,pizhunren,zhidanren根據(jù)出庫單信息更新出庫單updatejianzhangjzbianhao,shumu,jine根據(jù)建賬信息更新建賬updaterukurukudbh,rukubh,rkshumunew ,rkjinenew

32、根據(jù)入庫信息更新入庫updaterukudanrukudbh,gonghuodw,gonghuodh,zhidan根據(jù)入庫單信息更新入庫單3.3.5 數(shù)據(jù)庫的實(shí)施 創(chuàng)建數(shù)據(jù)庫,加載初始數(shù)據(jù),然后運(yùn)行數(shù)據(jù)庫,數(shù)據(jù)庫的安全性和完整性控制數(shù)據(jù)庫的備份與恢復(fù),數(shù)據(jù)庫性能的監(jiān)督分析和改僅,數(shù)據(jù)庫的重組和重構(gòu)等。在數(shù)據(jù)庫中建立一個(gè)WarehouseSystem數(shù)據(jù)庫,然后新建表。主要代碼如下:CREATE TABLE dbo.CKD(CKD_bianhao nvarchar(50) NOT NULL,CKD_riqi nvarchar(50) NOT NULL,CKD_chanpinming nvarch

33、ar(50) NOT NULL,CKD_shengchanjihuahao nvarchar(50) NOT NULL,CKD_lingyongbanzu nvarchar(50) NULL,CKD_jinglingren nvarchar(50) NULL,CKD_pizhunren nvarchar(50) NULL,CKD_zhidanren nvarchar(50) NULL, CONSTRAINT PK_CKD PRIMARY KEY CLUSTERED (CKD_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE =

34、OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.USER(USER_name nchar(10) NOT NULL,USER_password nchar(10) NOT NULL) ON PRIMARYCREATE TABLE dbo.RKD(RKD_bianhao nvarchar(50) NOT NULL,RKD_riqi nvarchar(50) NOT NULL,RKD_zhidanren nvarchar(50

35、) NULL,RKD_gonghuodanwei nvarchar(50) NOT NULL,RKD_gonghuodanhao nvarchar(50) NOT NULL, CONSTRAINT PK_RKD PRIMARY KEY CLUSTERED (RKD_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYCREATE TABLE

36、dbo.CL(CL_bianhao int IDENTITY(1,1) NOT NULL,CL_leibie nvarchar(50) NOT NULL,CL_mingcheng nvarchar(50) NOT NULL,CL_guige nvarchar(50) NOT NULL,CL_leijishumu float NOT NULL,CL_leijijine float NOT NULL, CONSTRAINT PK_CL PRIMARY KEY CLUSTERED (CL_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUT

37、E = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.CK(CK_bianhao int NOT NULL,CK_CKD_bianhao nvarchar(50) NOT NULL,CK_CL_bianhao int NOT NULL,CK_shumu float NOT NULL,CK_jine float NOT NULL, CONSTRAINT PK_CK PRIMARY KEY CLUSTERED (CK_bia

38、nhao ASC,CK_CKD_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.RK(RK_bianhao int NOT NULL,RK_RKD_bianhao nvarchar(50) NOT NULL,RK_CL_bianhao int NOT NULL,RK_shumu float NOT NUL

39、L,RK_jine float NOT NULL, CONSTRAINT PK_RK PRIMARY KEY CLUSTERED (RK_bianhao ASC,RK_RKD_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.JZ(JZ_bianhao int IDENTITY(1,1) NOT NULL,

40、JZ_riqi nvarchar(50) NOT NULL,JZ_CL_bianhao int NOT NULL,JZ_shumu float NOT NULL,JZ_jine float NOT NULL, CONSTRAINT PK_JZ PRIMARY KEY CLUSTERED (JZ_bianhao ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMA

41、RY3.3.6數(shù)據(jù)庫運(yùn)行與維護(hù)運(yùn)行數(shù)據(jù)庫合格后,數(shù)據(jù)庫開發(fā)設(shè)計(jì)的工作就基本完成了,接下來就是正式運(yùn)行中的調(diào)試,應(yīng)為該系統(tǒng)比較簡(jiǎn)單,數(shù)據(jù)量小,數(shù)據(jù)庫中幾乎不會(huì)發(fā)生什么大的變化,但是還是需要做好數(shù)據(jù)的備份,在sqlserver中我們可以利用備份數(shù)據(jù)庫的功能對(duì)已經(jīng)設(shè)計(jì)好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫受到破壞或系統(tǒng)故障,我們便可輕松的利用備份文件恢復(fù)數(shù)據(jù)庫的數(shù)據(jù)。當(dāng)然也可以利用其他各種方法進(jìn)行數(shù)據(jù)維護(hù)。 在軟件運(yùn)行/維護(hù)階段對(duì)軟件產(chǎn)品所進(jìn)行的修改就是維護(hù)。要求進(jìn)行維護(hù)的原因多種多樣,歸結(jié)起來有三種類型:改正在特定的使用條件下暴露出來的一些潛在程序錯(cuò)誤或設(shè)計(jì)缺陷;因在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)

42、生變化,需要修改軟件以適應(yīng)這種變化;用戶和數(shù)據(jù)處理人員在使用時(shí)提出改進(jìn)現(xiàn)有功能、增加新的功能以及改善總體性能的要求。由這些原因引起的維護(hù)活動(dòng)可以歸為以下幾類。改正性維護(hù):軟件交付使用后,必然會(huì)有一部分隱藏的錯(cuò)誤被帶到運(yùn)行階段來,在某些特定的使用環(huán)境下就會(huì)暴露出來。為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)進(jìn)行的診斷和改正錯(cuò)誤的過程,就叫做改正性維護(hù)。適應(yīng)性維護(hù):隨著計(jì)算機(jī)的飛速發(fā)展,外部環(huán)境(新的硬、軟件配置)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入輸出方式、數(shù)據(jù)存儲(chǔ)介質(zhì))可能發(fā)生變化,為了使軟件適應(yīng)這種變化,而去修改軟件的過程就叫做適應(yīng)性維護(hù)。完善性維護(hù):在軟件的使用

43、過程中,用戶往往會(huì)對(duì)軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)活動(dòng)叫做完善性維護(hù)。在維護(hù)階段的最初的一段時(shí)間內(nèi),改正性維護(hù)的工作量較大。隨著錯(cuò)誤發(fā)現(xiàn)率急劇降低,并趨于穩(wěn)定,就進(jìn)入了正常使用期。然而,由于改造的要求,適應(yīng)性維護(hù)和完善性維護(hù)的工作量逐步增加。4 數(shù)據(jù)鏈接層設(shè)計(jì)數(shù)據(jù)鏈接層主要是對(duì)數(shù)據(jù)庫的增刪改查,其中在該層設(shè)計(jì)總共有15個(gè)類,每個(gè)類對(duì)應(yīng)的是相應(yīng)的模塊對(duì)數(shù)據(jù)庫的訪問。具體的類與功能見表4-1.表4-1 數(shù)據(jù)鏈接層的類的設(shè)計(jì)與功能標(biāo)號(hào)類名功能1BaoguanmingxiDal.c

44、s保管明細(xì)相關(guān)的操作類2CailiaochukuDal.cs材料出庫相關(guān)的操作類3ChanpinhaocaiDal.cs產(chǎn)品耗材相關(guān)的操作類4ChukuxinxiDal.cs出庫信息相關(guān)的操作類5FenleirukuDal.cs分類入庫相關(guān)的操作類6GonghuomingxiDal.cs供貨明細(xì)相關(guān)的操作類7GuanlichukuDal.cs管理出庫相關(guān)的操作類8GuanlirukuDal.cs管理入庫相關(guān)的操作類9JianzhangDal.cs建賬相關(guān)的操作類10QuanbuchukuDal.cs全部出庫相關(guān)的操作類11QuanburukuDal.cs全部入庫相關(guān)的操作類12Rukuxinx

45、iDal.cs入庫信息相關(guān)的操作類13TianjiachukuDal.cs添加出庫相關(guān)的操作類14TianjiarukuDal.cs添加入庫相關(guān)的操作類15USERDal.cs用戶相關(guān)的操作類每個(gè)模塊對(duì)應(yīng)的類中又包含了許多方法,方法中包含sql語句的拼接與存儲(chǔ)過程的調(diào)用。例如RukuxinxiDal.cs類,該類中設(shè)計(jì)了多個(gè)訪問數(shù)據(jù)庫的方法,都是與入庫信息模塊相關(guān)的。該類中包含的方法入表4-2.表4-2 RukuxinxiDal.cs中包含的方法方法名稱主要功能public DataSet getLeibie()返回所有的材料類別public DataSet getMingcheng(Stri

46、ng leibie1)根據(jù)材料的類別返回所有的材料名稱public DataSet getGuige(String leibie1, String mingcheng1)根據(jù)材料的類別、名稱返回所有的規(guī)格public DataSet loadRuku(String rukudbh)根據(jù)入庫單的編號(hào)返回入庫單的詳細(xì)信息public int addItem(String rukudbh, String rukurq, String gonghuodw, String gonghuodh, String leibie, String mingcheng, String guige, double s

47、humu, double jine, String zhidan)添加入庫單及相應(yīng)的入庫public int deleteRuku(String rkdbh, String rukuxuhao)根據(jù)入庫單編號(hào)及入庫編號(hào),刪除相應(yīng)的入庫信息public int updateRuku(String rukudanbianhao, String rukuxuhao, String leibie, String mingcheng, String guige, double shumu, double jine)根據(jù)所給的信息更新單次入庫public int updateRukudan(String

48、rukudbh, String gonghuodw, String gonghuodh, String zhidan)根據(jù)所給的信息更新入庫單5 結(jié)束語 倉(cāng)庫管理系統(tǒng)在設(shè)計(jì)開發(fā)中,很好地結(jié)合了企業(yè)需求和目前技術(shù)的發(fā)展,包括了對(duì)中小型企業(yè)的管理,提高了企業(yè)中倉(cāng)庫管理工作的工作效率,減輕工作人員的諸多工作負(fù)擔(dān),帶動(dòng)了倉(cāng)庫管理方法的優(yōu)化和流程的規(guī)范化,并且提高了工作效率。整個(gè)應(yīng)用開發(fā)從橫向上可以劃分為表現(xiàn)層、業(yè)務(wù)邏輯層、錯(cuò)誤檢驗(yàn)層、數(shù)據(jù)鏈接層,從縱向上可以依據(jù)應(yīng)用不同的需求分析劃分為不同的模塊。很好地實(shí)現(xiàn)了基本功能,并且增強(qiáng)了用戶體驗(yàn)。6 致謝將近幾個(gè)月的畢業(yè)設(shè)計(jì)基本結(jié)束了,這段時(shí)間的實(shí)踐和學(xué)習(xí)對(duì)我

49、來說很有意義,借此,我要感謝所有關(guān)心、支持、幫助我的人。首先,要感謝孫老師,在畢業(yè)設(shè)計(jì)過程中,孫老師給予了我極大的支持和幫助。在老師的幫助下,我學(xué)到了很多東西。孫老師認(rèn)真的工作態(tài)度,嚴(yán)謹(jǐn)?shù)慕虒W(xué)精神和深厚的理論水平時(shí)刻都影響著我。在整個(gè)畢業(yè)設(shè)計(jì)的過程中,老師一直是認(rèn)真而耐心的給我講解,積極的幫我解決一些疑問,還會(huì)經(jīng)常給我一些建設(shè)性的意見。所以我的畢業(yè)設(shè)計(jì)能夠比較順利的完成與孫老師的幫助支持是分不開的。她無論在理論上還是實(shí)踐中都給予我很大的幫助,使我有了很大的提高。 其次,要感謝我的隊(duì)友們。這次畢業(yè)設(shè)計(jì)是我們小組合作完成的。在此過程中,我們經(jīng)常交流、溝通、協(xié)商,一起解決一個(gè)又一個(gè)的問題,提高了我的

50、團(tuán)隊(duì)合作能力,同時(shí)也從隊(duì)友的身上學(xué)到了很多解決問題的思想以及堅(jiān)忍不拔,認(rèn)真工作的精神。此外,感謝大學(xué)四年來所有傳授給我知識(shí)的老師,這四年中,他們無私地把自己所知道的東西,都想盡可能多的告訴我們,其中不僅僅是知識(shí),還有一些為人處事的道理原則,他們希望未來的我們能夠?qū)崿F(xiàn)自己的價(jià)值,希望未來我們的道路能夠越走有寬廣。也要感謝所有關(guān)心幫助過我的人,他們的鼓勵(lì)支持就是我不斷奮斗努力的動(dòng)力。最后,衷心地感謝所有一直關(guān)心、支持和幫助我的人,感謝我的學(xué)校。在大學(xué)四年中我成長(zhǎng)了很多,收獲了很多,在以后的工作學(xué)習(xí)中,我會(huì)更加地努力回報(bào)學(xué)校和老師。7 參考文獻(xiàn)1 孫晨霞 馬建斌 李閱歷. 數(shù)據(jù)庫應(yīng)用技術(shù),北京郵電大學(xué)出版社,2008(1)2 c# .net 程序設(shè)計(jì) 李琪 機(jī)械工業(yè)出版社,2006(1)3 Joey George.Dinesh Bat

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論