倉庫管理系統(tǒng)畢業(yè)設(shè)計
《倉庫管理系統(tǒng)畢業(yè)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《倉庫管理系統(tǒng)畢業(yè)設(shè)計(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 專業(yè)綜合設(shè)計 系統(tǒng)名稱: 倉庫管理系統(tǒng) 學 校: XXXXXXXXXXXXXXXX學院 系 別: 計算機科學與應(yīng)用系s 專 業(yè): 計算機科學與技術(shù) 姓 名: XXX 學 號: XXXXXXXXX
2、 指導(dǎo)教師: XX 日 期: 201X年X年X日 摘 要 隨著現(xiàn)代工業(yè)的發(fā)展,計算機信息管理系統(tǒng)越來越受到企業(yè)重視,庫存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立一個數(shù)據(jù)一致性、完整性以及安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。 本設(shè)計采用Visual Studio 2005的開發(fā)環(huán)境,而后臺數(shù)據(jù)庫選用數(shù)據(jù)庫
3、軟件SQL Server 2005,主要完成了庫存管理系統(tǒng)的需求分析、功能模塊的劃分、數(shù)據(jù)庫模式分析,并由此完成了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序的實現(xiàn),系統(tǒng)基本實現(xiàn)了所需功能,界面友好,操作方便。 本系統(tǒng)主要是讓倉庫的管理實現(xiàn)信息化、系統(tǒng)化,方便化,把計算機用于倉庫管理中,這樣可以很大程度上提高管理者分析和決策的科學性,提高經(jīng)營管理水平。 關(guān)鍵詞:倉庫管理 Visual Studio 2005 SQL Server 2005 ABSTRACT With the development of modern in
4、dustry, the information management system of the computer is being paid attention to by enterprises. The stock management system is a typical MIS.It’s development mostly include the foundation and maintenance of the Database and the development of the client application programme.For the former we m
5、ust eatablish a better database,which has well data consistency and data security.For the latter we must make the programme has self-contained function and easy to be use. The design of the development environment using Visual studio 2005 , the database software is SQL Server 2005,mainly completed
6、inventory management system needs analysis, the division of functional modules, the database model analysis, and thus completed the database structure and application implementation, The system basically achieves the required function, its interface is good, and is used well. The system is designed
7、 to allow the management informationized and systematic, used computer in the catering management of supermarket, so it can improve the scientific of ana- lysis and decision-making,and enhance the management level. Keywords: stock management Visual Studio 2005 SQL Server 2005 目 錄 第
8、一章 緒論 1 1.1 倉庫管理系統(tǒng) 1 1.2 倉庫管理系統(tǒng)的研究背景與意義 1 第二章 開發(fā)工具簡介 3 2.1 Visual Stdio 2005簡介 3 2.2 SQL Server 2005簡介 3 第三章 倉庫管理系統(tǒng)分析 4 3.1 開發(fā)系統(tǒng)的目的 4 3.2 需求分析 4 3.3 可行性分析 5 3.3.1 技術(shù)可行性 5 3.3.2 經(jīng)濟可行性 5 3.3.3 管理可行性 5 3.3.4 社會可行性 6 3.5 系統(tǒng)流程圖 7 第四章 倉庫管理系統(tǒng)數(shù)據(jù)庫分析 8 4.1 數(shù)據(jù)庫介紹 8 4.1.1 用戶數(shù)據(jù) 8 4.2 創(chuàng)建數(shù)據(jù)庫 9 第
9、五章 倉庫管理系統(tǒng)數(shù)據(jù)庫設(shè)計 10 5.1 數(shù)據(jù)庫概念設(shè)計 10 5.2 倉庫管理系統(tǒng)E-R圖 11 5.3 倉庫管理系統(tǒng)數(shù)據(jù)表清單 12 5.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 12 第六章 界面展示及部分功能模塊主要代碼 17 6.1 模塊劃分 17 6.2 本程序登錄界面 17 6.3 本程序運行后的效果 18 6.4 選擇主窗體 19 6.4.1 入庫管理窗體 20 6.4.2 出庫管理窗體 21 6.4.3 借貨管理窗體 23 6.4.4 還貨管理窗體 24 6.4.5 盤點管理窗體 26 6.5 選擇主窗體 27 6.5.1 供應(yīng)商信息窗體 28 6.5.2
10、倉庫管理窗體 29 6.5.3 貨物管理窗體 30 6.6 選擇主窗體 31 6.6.1 數(shù)據(jù)備份窗體 32 6.6.2 數(shù)據(jù)還原窗體 33 6.6.3 數(shù)據(jù)壓縮窗體 34 6.7 選擇主窗體 36 6.7.1 更改密碼窗體 36 6.7.2 用戶管理窗體 37 6.8 選擇主窗體 39 6.8.1 庫存查詢界面 40 第七章 軟件測試及維護 43 第八章 致謝 45 第九章 結(jié)論 46 參考文獻 47 IV 第一章 緒論 1.1 倉庫管理系統(tǒng) 當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理,計算機最大的好處在于利用它能夠進行信息管
11、理,使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性,尤其針對復(fù)雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。 倉庫作為一種貨品資源的集散地,貨品的種類繁多,包含很多的信息數(shù)據(jù)的管理。據(jù)調(diào)查得知,以前倉庫進行信息管理的方式主要是基于文本、表格等介質(zhì)的手工處理,對于貨品的出入庫情況的統(tǒng)計和核實等往往采用對賬本的人工檢查,對管理者的管理權(quán)限等不受約束,任何人都可查看,這樣容易引起資料外泄。另外,數(shù)據(jù)信息處理工作量大,容易出錯,數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng)、規(guī)范的信息管理手段。而且,
12、一般的存儲情況是記錄在賬本上的,倉庫的工作人員和管理員也只是當時記得比較清楚,時間一長,如果再要進行查詢,就得在眾多的資料中翻閱查找了,這樣造成費時、費力,如要對很長時間以前的貨品進行更改就更加困難了。因此,很有必要建立一個庫存管理系統(tǒng),使貨品管理工作規(guī)范化、系統(tǒng)化、程序化。提高信息處理的速度和準確性。 1.2 倉庫管理系統(tǒng)的研究背景與意義 眾所周知,倉庫管理是一種既麻煩又單調(diào)的工作,每天都是重復(fù)記錄一些貨物的存入與取出,而且貨物的種類繁多,存取有很大的隨機性,這樣為工作人員帶來了很大的不便,在操作過程中,由于人為的計算出錯率很高,一旦出錯改正也很困難,這樣簡單繁重的工作要很多人來做,為經(jīng)
13、營者增加了很多成本,所以開發(fā)一個可行的倉庫管理系統(tǒng)是十分必要的。 隨著我國經(jīng)濟的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲存在倉庫中,對于每個企業(yè)來說,隨著企業(yè)規(guī)模的不斷擴大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會不斷地更新與發(fā)展,有關(guān)產(chǎn)品的各種信息量也會成倍增長。面對龐大的產(chǎn)品信息量,如何有效地管理庫存產(chǎn)品,對這些企業(yè)來說是非常重要的,庫存管理的重點是銷售信息能否及時反饋,從而確保企業(yè)運行效益。而庫存管理又涉及入庫、出庫的產(chǎn)品、經(jīng)辦人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項復(fù)雜的系統(tǒng)工程,充分考驗著倉庫
14、管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由倉庫管理系統(tǒng)來提高庫存管理工作的效率,這對信息的規(guī)范管理、科學統(tǒng)計和快速查詢,減少管理方面的工作量,同時對于調(diào)動廣大員工的工作積極性,提高企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實意義。 第二章 開發(fā)工具簡介 2.1 Visual Stdio 2005簡介 開發(fā)這個系統(tǒng)使用Visual Stdio 2005工具來開發(fā), Visual Stdio 2005是當前最流行的一款程序開發(fā)工具,利用它可以開發(fā)功能強大的、運行在Windows平臺上的、能夠操作數(shù)據(jù)庫的應(yīng)用系統(tǒng),
15、因此能夠適應(yīng)我們開發(fā)本系統(tǒng)的要求,并且簡單易用,實現(xiàn)功能的代碼量比其他語言減少許多,這樣就縮短了軟件開發(fā)周期,大大節(jié)約了軟件開發(fā)成本。 2.2 SQL Server 2005簡介 SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理,SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能。SQL Server 2005 中包含了非常豐富的新特性:通過提供一個更安全、可靠和高效的數(shù)據(jù)管理平臺,增強企業(yè)組織中用戶的管理能力,大幅提升IT管理效率并降低運維風險和成本;通過提供先進的商業(yè)智能平臺滿足眾
16、多客戶對業(yè)務(wù)的實時統(tǒng)計分析、監(jiān)控預(yù)測等多種復(fù)雜管理需求,推動企業(yè)管理信息化建設(shè)和業(yè)務(wù)發(fā)展;同時,SQL Server 2005將提供一個極具擴展性和靈活性的開發(fā)平臺,實現(xiàn)Internet數(shù)據(jù)業(yè)務(wù)互聯(lián)。 第三章 倉庫管理系統(tǒng)分析 3.1 開發(fā)系統(tǒng)的目的 開發(fā)倉庫管理系統(tǒng),主要為減輕倉庫管理人員的負擔,使貨物的存入記錄與取出記錄相對完善,便于貨物的增加與減少,降低出錯率,使管理更加合理、科學,也為經(jīng)營者節(jié)省開支。本系統(tǒng)完面考慮了倉庫在管理中要解決的所有需求,最終向用戶提供一套方便可行的系統(tǒng),該系統(tǒng)具備以下特征:配置必要的數(shù)據(jù)庫和應(yīng)用服務(wù)程序,提供查詢、統(tǒng)計
17、貨物的種類、數(shù)量及所屬公司等所有信息的功能,操作人員使用的界面要清晰、美觀,布局合理,內(nèi)容盡量簡單明了,提供的信息詳細全面??蛻舳顺绦蛞蟀踩愿撸煽啃愿?。 3.2 需求分析 市場經(jīng)濟的一個重要特征,就是生產(chǎn)的相對過剩和產(chǎn)品的相對過剩。它決定了這是一個買方市場。對企業(yè)來說,庫存的增加或積壓,無論是原材料、半成品或制成品,都意味著企業(yè)運作處于一種不良的狀態(tài),都是一種直接的或潛在的損失。大量的庫存擠占了企業(yè)的有限資金,使得資金流速減緩,現(xiàn)金流發(fā)生困難,甚至導(dǎo)致資金緊張,影響企業(yè)的正常運作。此外,大量的庫存增加了保管與倉儲的壓力,占用了相當?shù)娜肆臀锪Γ沟闷髽I(yè)負擔加重。凡此種種,一直困擾著企
18、業(yè)的生產(chǎn)經(jīng)營管理活動,影響企業(yè)經(jīng)濟效益的實現(xiàn)。顯而易見,切實而有效地控制庫存,是擺在眾多企業(yè)面前的當務(wù)之急,也是緩解企業(yè)經(jīng)濟壓力、減負增效的重要途徑。 需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)是準確地回答“系統(tǒng)必須做什么”這個問題,是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此,必須用行之有效的方法對軟件需求進行嚴格的審查驗證。 軟件需求分析過程是整個系統(tǒng)開發(fā)的重要階段,分析的成功與否,決定著整個系統(tǒng)功能的完善性以及穩(wěn)定性。在該階段分析人員需要確定整個產(chǎn)品的功能要求,并將提供一種可轉(zhuǎn)化為數(shù)據(jù)設(shè)計、結(jié)構(gòu)設(shè)計和過程
19、設(shè)計的數(shù)據(jù)與功能表示。在軟件完成后,需求分析階段研究的對象是軟件項目的用戶要求。 3.3 可行性分析 可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標是 的效益是否達到值得投資開發(fā)這個系統(tǒng)的程度。一般來說,可行性分析應(yīng)從經(jīng)濟可行性、技術(shù)可行性、經(jīng)濟可行性、操作可行性、社會可行性等方面進行研究。本系統(tǒng)的可行性分析如下: 3.3.1 技術(shù)可行性 隨著國內(nèi)軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求,現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)
20、產(chǎn)品很多,流行的也有數(shù)十種。此外,從開發(fā)人員的水平考慮,作為計算機科學與技術(shù)專業(yè)畢業(yè)的學生,大學四年所積累的專業(yè)知識使我們從一定程度上具備了開發(fā)一個小型系統(tǒng)的能力,而且學?,F(xiàn)有的計算機設(shè)備也完全能夠滿足開發(fā)的需要。本系統(tǒng)主要管理的是貨物的入庫,出庫,查詢相關(guān)的一些信息等,采用C#和Microsoft Visual Studio作為前臺用戶界面的開發(fā)語言和工具,而后臺的數(shù)據(jù)庫采用微軟的SQL Server 2005。由于主要采用數(shù)據(jù)庫來進行管理,實現(xiàn)起來比較簡單,從技術(shù)上來說是完全可行的。 3.3.2 經(jīng)濟可行性 對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相當而言比較多。
21、各部門必須配置電腦、服務(wù)器、打印機、傳真機及相關(guān)的網(wǎng)絡(luò)設(shè)備,但是在整個系統(tǒng)投入運行之后,將會給該企業(yè)帶來前所未有的方便和快捷,減少不必要的中間環(huán)節(jié)以及不必要的開支,而且可以給其帶來更大的利潤??傊?,這個系統(tǒng)的經(jīng)濟效益遠遠大于開發(fā)成本,而同時又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的就是提高了效率,而又保證了各項數(shù)據(jù)的準確性,也避免了工作人員的流動造成的收據(jù)丟失等問題,適應(yīng)了當前的發(fā)展形勢。 3.3.3 管理可行性 傳統(tǒng)的庫存管理系統(tǒng),一般有兩種方式:一是手工管理,這種方式應(yīng)用最傳統(tǒng)的“筆紙操作系統(tǒng)”,將庫存的貨物信息、銷售信息、廠商信息管理及單據(jù)管理等均以純手工的形式
22、進行,將信息以表格文件的表現(xiàn)形式記錄在紙上,再進行統(tǒng)一保存。這種方式雖然在簡單信息查詢時會有一定的方便,但是存在著更多的不便:信息保存時間和條件很受限制、容易被損壞、信息查詢不便、信息傳達容易造成失誤等。另一種常見的信息管理方法是應(yīng)用管理系統(tǒng),本系統(tǒng)就是一款做的相對到位的庫存管理系統(tǒng),隨著時代的發(fā)展,人員素質(zhì)已逐步提高,庫存管理人員已經(jīng)有豐富的信息管理經(jīng)驗,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎(chǔ),同時還可以配置專業(yè)的電腦維護人員來維護電腦不必擔心電腦故障問題。 3.3.4 社會可行性 該系統(tǒng)是作為畢業(yè)設(shè)計,不會對社會造成嚴重影響,也不用考慮到版權(quán)、法律等社會因素,所
23、以在社會方面也是可行的。 3.4系統(tǒng)功能描述及系統(tǒng)安全性 一、庫存管理系統(tǒng)是一套對貨品入庫、出庫、庫存進行全面管理的系統(tǒng),在設(shè)計該系統(tǒng)時,應(yīng)盡可能便于用戶管理和操作。系統(tǒng)在實現(xiàn)上應(yīng)該具有如下功能: (1)系統(tǒng)要求用戶必須輸入正確的用戶名和密碼才能進入系統(tǒng)。 (2)系統(tǒng)能實現(xiàn)貨物的入,出庫功能。 (3)系統(tǒng)提供查詢現(xiàn)在庫存的情況,及入庫、出庫和貨物年統(tǒng)計等的記錄。 (4)系統(tǒng)提供管理員設(shè)置倉庫信息和修改貨物信息等。 (5)系統(tǒng)提供管理員增加、刪除、修改用戶賬戶的功能。 二、由于庫存管理系統(tǒng)包含比較重要的信息,因此,在系統(tǒng)設(shè)計時除了注重用戶的需求,還要保證系統(tǒng)的安全性和
24、一致性,該系統(tǒng)中管理權(quán)限上應(yīng)當進行嚴格控制,體現(xiàn)如下: (1)安全性:本系統(tǒng)中共分為三類不同的用戶,分別具有不同的權(quán)限。要想對該庫存管理系統(tǒng)進行操作就應(yīng)當具有某些操作權(quán)限,沒有權(quán)限的用戶將不能通過任何渠道來登錄該系統(tǒng),查看該系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性和安全性,系統(tǒng)用戶分為管理員用戶和普通用戶,管理員用戶可對普通用戶信息進行增、刪、改,普通用戶則只能查詢。在具體實現(xiàn)時還應(yīng)為系統(tǒng)管理員和普通用戶設(shè)定不同的操作權(quán)限,系統(tǒng)管理員應(yīng)當可以操作系統(tǒng)的所有模塊,普通用戶對于貨物管理和基本檔案管理模塊是無權(quán)使用的。 (2)一致性:系統(tǒng)的數(shù)據(jù)要保證一致性、準確性,當某一數(shù)據(jù)庫中記錄發(fā)生改變時,
25、與之相關(guān)聯(lián)的數(shù)據(jù)庫也隨之變化。 3.5 系統(tǒng)流程圖 本系統(tǒng)流程圖如圖3-1所示。 圖3-1 系統(tǒng)流程圖 第四章 倉庫管理系統(tǒng)數(shù)據(jù)庫分析 4.1 數(shù)據(jù)庫介紹 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。設(shè)計數(shù)據(jù)庫時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。 數(shù)據(jù)庫設(shè)計是在既定(本系統(tǒng)使用SQL Server)的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫的
26、過程。其過程是將現(xiàn)實存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進行抽象,從而形成數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用程序的核心,數(shù)據(jù)庫設(shè)計是建立一個應(yīng)用程序最重要的一步。一個好的數(shù)據(jù)庫結(jié)構(gòu)和文件設(shè)計可以使系統(tǒng)在已有的條件下具有處理速度快,占用存儲空間少,操作處理過程簡單,查找容易,系統(tǒng)開銷和費用低等特點。具體實現(xiàn)時,應(yīng)首先明確用戶對數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫的概念模型,概念模型主要是用來反映用戶的現(xiàn)實環(huán)境和需求,它獨立于具體的數(shù)據(jù)庫管理系統(tǒng),并且與數(shù)據(jù)庫怎樣實現(xiàn)無關(guān),建立概念模型的主要工具為實體關(guān)系(E-R)圖,在建立數(shù)據(jù)庫概念模型之后,要真正實現(xiàn)與數(shù)據(jù)庫管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫管理系統(tǒng)所支持,
27、還必須進行邏輯結(jié)構(gòu)的設(shè)計,在邏輯設(shè)計階段,主要完成建立數(shù)據(jù)庫的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;最后一個階段是數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫物理結(jié)構(gòu)。 數(shù)據(jù)庫由DBMS(數(shù)據(jù)庫管理系統(tǒng))處理,DBMS則由開發(fā)人員和用戶通過應(yīng)用程序直接或間接地使用。它主要包括四個要素:用戶數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。 4.1.1 用戶數(shù)據(jù) 目前,大多數(shù)主流數(shù)據(jù)庫管理系統(tǒng)把用戶數(shù)據(jù)表示為關(guān)系?,F(xiàn)在把關(guān)系看作數(shù)據(jù)表,表的列包含域或?qū)傩?,表的行包含對?yīng)業(yè)務(wù)環(huán)境中的實體的記錄。并
28、非所有的關(guān)系都同樣符合要求,有些關(guān)系比其它關(guān)系更結(jié)構(gòu)化一些。 (1)元數(shù)據(jù) 數(shù)據(jù)庫是自描述的,這就意味著它自身包含了它的結(jié)構(gòu)的描述,這種結(jié)構(gòu)的描述稱作元數(shù)據(jù)。因為DBMS產(chǎn)品是用來存儲和操縱表的,所以大多數(shù)產(chǎn)品把元數(shù)據(jù)以表的形式存儲,有時稱作系統(tǒng)表。這些系統(tǒng)表存儲了數(shù)據(jù)庫中表的情況,指出每一個表中有多少列,那一列是主關(guān)鍵字,每一列的數(shù)據(jù)類型的描述,它也存儲索引、關(guān)鍵字、規(guī)則和數(shù)據(jù)庫結(jié)構(gòu)的其他部分。 在表中存儲元數(shù)據(jù)不僅對DBMS是有效的,對用戶也是方便的,因為他們可以使用與查詢用戶數(shù)據(jù)同樣的查詢工具來查詢元數(shù)據(jù)。 (2)索引 第三種類型的數(shù)據(jù)改進了數(shù)據(jù)庫的性能和可訪問性,這種數(shù)據(jù)經(jīng)常
29、稱作開銷數(shù)據(jù),盡管有時也采用其他類型的數(shù)據(jù)結(jié)構(gòu),如鏈表,但它主要還是索引。索引可以用來排序和快速訪問數(shù)據(jù)。 (3)應(yīng)用元數(shù)據(jù) 存儲在數(shù)據(jù)庫中的第四種數(shù)據(jù)是應(yīng)用元數(shù)據(jù),它用來存儲用戶窗體、報表、查詢和其他形式的查詢組件。并非所有的DBMS都支持應(yīng)用組件,支持組件的DBMS也不一定把全部組件的結(jié)構(gòu)作為應(yīng)用元數(shù)據(jù)存儲在數(shù)據(jù)庫中。然而,大多數(shù)現(xiàn)代的DBMS產(chǎn)品存儲這種數(shù)據(jù)作為數(shù)據(jù)庫的一部分。一般來說,數(shù)據(jù)庫開發(fā)人員和用戶都不直接訪問應(yīng)用元數(shù)據(jù),相反,他們通過DBMS中的工具來處理這些數(shù)據(jù)。 4.2 創(chuàng)建數(shù)據(jù)庫 數(shù)據(jù)庫模式定義了數(shù)據(jù)庫的結(jié)構(gòu)、表、關(guān)系、域和業(yè)務(wù)規(guī)則。數(shù)據(jù)庫模式是一種設(shè)計,
30、數(shù)據(jù)庫的應(yīng)用正是建立在此基礎(chǔ)上的。 域是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數(shù)據(jù)的物理格式外,還需要確定是否有些域?qū)Ρ韥碚f是唯一的。 數(shù)據(jù)庫模式的最后一個要素是業(yè)務(wù)規(guī)則,它是對需要反映在數(shù)據(jù)庫和數(shù)據(jù)庫應(yīng)用程序中的業(yè)務(wù)活動的約束。業(yè)務(wù)規(guī)則是模式的一個重要部分,因為他們指定了無論什么數(shù)據(jù)變化到達DBMS引擎,允許的數(shù)據(jù)值必須滿足的約束。不管無效的數(shù)據(jù)變化請求是來自窗體的用戶、查詢、修改請求還是應(yīng)用程序,DBMS都應(yīng)該拒絕。遺憾的是,不同的DBMS產(chǎn)品用不同的方法實施業(yè)務(wù)規(guī)則。在某些情況下,DBMS產(chǎn)品不具備實施必要業(yè)務(wù)規(guī)則的能力,必須以代碼形式把它們編入應(yīng)用程序。
31、 第五章 倉庫管理系統(tǒng)數(shù)據(jù)庫設(shè)計 5.1 數(shù)據(jù)庫概念設(shè)計 本系統(tǒng)涉及的實體有:管理員,商品,倉庫,供應(yīng)商。他們的實體及其屬性圖分別如下: (1)貨物的實體及其屬性圖如圖5-1所示。 圖5-1 貨物實體及其屬性圖 (2)倉庫的實體及其屬性圖如5-2所示。 圖5-2 倉庫實體及其屬性圖 (3)管理員的實體及其屬性圖如圖5-3所示。 圖5-3 管理員的實體及其屬性圖 (4)供應(yīng)商的實體及其屬性圖如圖5-4所示。 圖5-4 供應(yīng)商實體及其屬性圖
32、5.2 倉庫管理系統(tǒng)E-R圖 本系統(tǒng)E-R圖如圖5-5所示。 圖5-5 系統(tǒng)E-R圖 5.3 倉庫管理系統(tǒng)數(shù)據(jù)表清單 表5-1 庫存管理系統(tǒng)數(shù)據(jù)表清單 數(shù)據(jù)表名稱 數(shù)據(jù)表用途 tb_BorrowGoods 保存貨物的借貨詳細信息 tb_CheckGoods 保存貨物的盤點詳細信息 tb_GoodsIn 保存貨物的入庫詳細信息 tb_GoodsInfo 保存貨物的基本信息 tb_GoodsOut 保存貨物的出庫詳細信息 tb_ProviderInfo 保存供應(yīng)商的基本信息 tb_ReturnGoods 保存貨物的還貨詳細信息 tb_Storehous
33、eInfo 保存?zhèn)}庫的基本信息 tb_UserInfo 保存用戶的基本信息 表5-1 5.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 在上面的實體以及實體之間的關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關(guān)系。 倉庫管理系統(tǒng)數(shù)據(jù)庫中的各個表格的設(shè)計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。 (1)tb_BorrowGoods表如表5-2 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 GoodsBorrowID int YES 不能為空 GoodsName varchar 50 NO 可為空 GoodsStorehouse varchar 5
34、0 NO 可為空 GoodsProvider varchar 50 NO 可為空 GoodsUnit varchar 50 NO 可為空 BorrowNum int 10 NO 可為空 BorrowDate datetime NO 可為空 BorrowPeople varchar 50 NO 可為空 Handler varchar 50 NO 可為空 Info varchar 1000 NO 不能為空 表5-3 (2)tb_CheckGoods表如表5-3 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 G
35、oodsCheckID int YES 不能為空 GoodsBorrowID int NO 可為空 GoodsName varchar 50 NO 可為空 GoodsStorehouse varchar 50 NO 可為空 GoodsProvider varchar 50 NO 可為空 InNum int NO 可為空 OutNum int NO 可為空 NeedNum varchar 100 NO 可為空 CheckPeople varchar 50 NO 可為空 CheckDate date
36、time NO 可為空 Info varchar 100 NO 不能為空 表5-3 (3)tb_GoodsIn表如表5-4 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 GoodsInID int 10 YES 不能為空 GoodsName varchar 50 NO 可為空 GoodsStorehouse varchar 50 NO 可為空 GoodsProvider varchar 50 NO 可為空 GoodsUnit varchar 50 NO 可為空 GoodsNum int NO 可為空
37、GoodsPriceIn money NO 可為空 GoodsAllPrice NO 可為空 GoodsInDate datetime NO 可為空 GoodsAdder varchar 50 NO 可為空 GoodsInfo text NO 不能為空 表5-4 (4)tb_GoodsInfo表如表5-5 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 GoodsID int 10 YES 不能為空 GoodsName varchar 50 NO 不能為空 GoodsStorehouse varchar
38、 50 NO 可為空 GoodsProvider varchar 50 NO 可為空 GoodsUnit varchar 50 NO 可為空 GoodsNum int NO 可為空 GoodsPriceIn money NO 可為空 GoodsPriceOut money NO 可為空 GoodsInfo text NO 可為空 AddDate datetime NO 可為空 AddUser varchar 50 NO 可為空 GoodsLeast int NO 可為空 GoodsMo
39、st int NO 可為空 表5-5 (5)tb_GoodsOut表如表5-6 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 GoodsOutID int YES 不能為空 GoodsName varchar 50 NO 可為空 GoodsProvider varchar 50 NO 可為空 GoodsUnit varchar 50 NO 可為空 GoodsNum int NO 可為空 GoodsPriceOut money NO 可為空 GoodsAllPrice NO 可為空 Goods
40、OutDate datetime NO 可為空 GoodsOutPeople varchar 50 NO 可為空 GoodsOutCompany varchar 50 NO 可為空 Handler varchar 50 NO 可為空 GoodsInfo text NO 不能為空 表5-6 (6) tb_ProviderInfo表如表5-7 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 ProviderID int YES 不能為空 ProviderName varchar 50 NO 不能為空 Provid
41、erManager varchar 50 NO 可為空 ProviderPhone varchar 50 NO 可為空 ProviderFax varchar 50 NO 可為空 ProviderEmail varchar 10 NO 可為空 ProviderAddress varchar 1000 NO 可為空 ProviderInfo text NO 可為空 AddDate datetime NO 可為空 AddUser varchar 1000 NO 可為空 表5-7 (7)tb_ReturnGoods
42、表如表5-8 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 ReturnGoodsID int YES 不能為空 GoodsName varchar 50 NO 可為空 GoodsStorehouse varchar 50 NO 可為空 GoodsProvider varchar 50 NO 可為空 GoodsUnit varchar 50 NO 可為空 ReturnNum int NO 可為空 ReturnDate datetime NO 可為空 ReturnPeople varchar 50 NO
43、 可為空 Handler varchar 50 NO 可為空 Info varchar 1000 NO 可為空 表5-8 (8) tb_StorehouseInfo表如表5-9 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 StorehouseID int YES 不能為空 StorehouseName varchar 50 NO 可為空 StorehouseManager varchar 50 NO 可為空 StorehousePhone varchar 50 NO 可為空 StorehouseInfo text
44、 NO 可為空 AddDate datetime NO 可為空 AddUser varchar 50 NO 可為空 表5-9 (9)tb_UserInfo表如表5-10 列名 數(shù)據(jù)類型 長度 是否為主鍵 可否為空 UserID int YES 不能為空 UserName varchar 20 NO 不能為空 UserPwd varchar 20 NO 不能為空 UserLevel varchar 20 NO 不能為空 表5-10 第六章 界面展示及部分功能模塊主要代碼 6.
45、1 模塊劃分 本系統(tǒng)模塊圖如圖6-1所示。 圖6-1 系統(tǒng)模塊圖 6.2 本程序登錄界面 出于對系統(tǒng)安全性的考慮,本系統(tǒng)設(shè)置了登錄模塊,只有持有效用戶名和密碼的用戶才能登錄該系統(tǒng)。此外,本系統(tǒng)設(shè)置了訪問權(quán)限,不同訪問權(quán)限的用戶進入系統(tǒng)后能完成不同的操作,普通用戶只具有查詢的權(quán)限,管理員用戶可對普通用戶的信息進行更改和入出庫等所有操作。具體的登錄頁面如圖6-2所示。 圖6-2系統(tǒng)登錄界面 主要實現(xiàn)代碼如下: private void frmLogin_Load(object sender, EventArgs e) { dat
46、aoperate.ComboxDataBind("SELECT * FROM tb_UserInfo", "UserInfo", "UserName", cboxUserName); } private void cboxUserName_SelectedIndexChanged(object sender, EventArgs e) { try { string strCMD = "SELECT UserLevel FROM tb_UserInfo WH
47、ERE UserName=" + cboxUserName.Text + ""; SqlDataReader dr = dbcontrol.SqlExecuteReader(strCMD); if (dr.Read()) { strUserLevel = dr["UserLevel"].ToString(); lblUserLevel.Text = strUserLevel;
48、} dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void btnLogin_Click(object sender, EventArgs e) { int iResult = dataoperate.Login(cboxUserNa
49、me.Text.Trim(), txtPwd.Text.Trim()); if (iResult == 0) { MessageBox.Show("用戶名或密碼錯誤!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (iResult == 1) { strUserName = cboxUserName.Text.Tri
50、m(); strUserPwd = txtPwd.Text.Trim(); frmMain frm = new frmMain(); frm.Show(); this.Hide(); } } 6.3 本程序運行后的效果 當使用正確的用戶名和密碼登陸系統(tǒng)以后就進入系統(tǒng)的主界面,在系統(tǒng)的主界面中可以選擇你要進入的系統(tǒng)模塊,在系統(tǒng)的下面顯示了你登陸的用戶名,用戶權(quán)限以及登錄時間等。系統(tǒng)主界面如圖6-3所示。 圖6
51、-3 系統(tǒng)主界面 6.4 選擇主窗體 選擇主窗體上的[貨物管理]或貨物管理頁面上的按鈕可以進入入庫管理、出庫管理、借貨還貨和盤點管理功能窗體,如圖6-4所示。 圖6-4 貨物管理菜單界面 6.4.1 入庫管理窗體 入庫管理窗體中設(shè)置了入庫管理的基本信息,如圖6-5所示。 圖6-6 貨物入庫管理窗體 主要實現(xiàn)代碼如下: private void frmGoodsIn_Load(object sender, EventArgs e) { ds = dbcontrol.GetDataSet("SELECT * FROM tb_Goo
52、dsIn", "GoodsIn"); if (ds.Tables[0].Rows.Count == 0) { btnDelete.Enabled = false; } else { btnDelete.Enabled = true; dgvGoodsIn.DataSource = ds.Tables[0]; } d
53、ataoperate.ComboxDataBind("SELECT ProviderName FROM tb_ProviderInfo", "ProviderName", "ProviderName", cboxProvider); dataoperate.ComboxDataBind("SELECT StorehouseName FROM tb_StorehouseInfo", "StorehouseName", "StorehouseName", cboxStorehouse);
54、 } private void btnGoodsIn_Click(object sender, EventArgs e) { if (txtGoodsName.Text.Trim() == "") { MessageBox.Show("貨物名稱不能為空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (txtGoodsNum.
55、Text.Trim() == "") { MessageBox.Show("貨物數(shù)量不能為空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (txtGoodsPriceIn.Text.Trim() == "") { MessageBox.Show("貨物進價不能為空不能為空!", "提示!", MessageBoxButtons.
56、OK, MessageBoxIcon.Information); } else { try { dataoperate.GoodsIn(txtGoodsName.Text.Trim(), cboxProvider.Text.Trim(), cboxStorehouse.Text.Trim(), cboxGood
57、sUnit.Text.Trim(), txtGoodsNum.Text.Trim(), txtGoodsPriceIn.Text.Trim(), DateTime.Now, txtGoodsAdder.Text.Trim(), txtGoodsInfo.Text); MessageBox.Show("入庫成功!", "提示!", MessageBoxBut
58、tons.OK, MessageBoxIcon.Information); frmGoodsIn_Load(sender, e); Clear(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } 6.4.2 出庫管理窗
59、體 出庫管理窗體中設(shè)置了出庫管理的基本信息,如圖6-7所示。 圖6-8 貨物出庫管理窗體 主要實現(xiàn)代碼如下: private void frmGoodsOut_Load(object sender, EventArgs e) { ds = dbcontrol.GetDataSet("SELECT * FROM tb_GoodsOut", "GoodsOut"); if (ds.Tables[0].Rows.Count == 0) { btnDelet
60、e.Enabled = false; } else { btnDelete.Enabled = true; } dgvGoodsOut.DataSource = ds.Tables[0]; dataoperate.ComboxDataBind("SELECT DISTINCT GoodsStorehouse FROM tb_GoodsInfo", "Storehouse",
61、 "GoodsStorehouse", cboxStorehouse); } private void cboxStorehouse_SelectedIndexChanged(object sender, EventArgs e) { dataoperate.ComboxDataBind("SELECT DISTINCT GoodsProvider FROM tb_GoodsInfo WHERE GoodsStorehouse=" + cboxStorehouse.Text + "",
62、 "ProviderInfo", "GoodsProvider", cboxProvider); cboxGoodsName.Text = ""; } private void cboxProvider_SelectedIndexChanged(object sender, EventArgs e) { dataoperate.ComboxDataBind("SELECT GoodsName FROM tb_GoodsInfo WHERE GoodsStorehouse=" +
63、 cboxStorehouse.Text + " AND GoodsProvider=" + cboxProvider.Text + "", "GoodsName", "GoodsName", cboxGoodsName); } private void cboxGoodsName_SelectedIndexChanged(object sender, EventArgs e) { SqlDataReader dr = dbcontrol.SqlExecuteReader("S
64、ELECT * FROM tb_GoodsInfo WHERE GoodsStorehouse=" + cboxStorehouse.Text + " AND GoodsProvider=" + cboxProvider.Text + " AND GoodsName=" + cboxGoodsName.Text + ""); if (dr.Read()) { cboxGoodsUnit.Text = dr["GoodsUnit"].ToString(); txtNumNow.
65、Text = dr["GoodsNum"].ToString(); txtPriceOut.Text = dr["GoodsPriceOut"].ToString(); } dr.Close(); } 6.4.3 借貨管理窗體 借貨管理窗體中設(shè)置了借貨管理的基本信息,如圖6-9所 圖6-9 借貨管理窗體 主要實現(xiàn)代碼如下: private void btnBorrow_Click(object sender, EventArgs e) {
66、 if (txtBorrowNum.Text.Trim() == "") { MessageBox.Show("數(shù)量不能為空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (errorNum.GetError(txtBorrowNum).Equals("數(shù)量格式不正確!")) { MessageBox.Show("格式有誤!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { int iResult = da
- 溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版小學數(shù)學五年級下冊圖形的運動(三)-1課件
- 供應(yīng)鏈管理方法
- 2019最新青島版數(shù)學一年級上冊第三單元《走進花果山-10以內(nèi)的加減法》(信息窗6)課件
- 第四章勞動中的心理、生理狀態(tài)對安全的影響
- 201x九年級物理上冊-雙休作業(yè)八(新版)教科版課件
- 課件:項目一-電子商務(wù)物流系統(tǒng)規(guī)劃
- 【人教版】2012-2013學年九年級(全一冊)數(shù)學小復(fù)習:第27章相似復(fù)習課件
- 消化腺(全英文)課件
- 小學語文資源五年級上冊課件《落花生》課件第一課時
- 納米材料的基本效應(yīng)課件
- 分析化學概論-課件
- 沉浸式光影解決方案課件
- 第六講加固Windows操作系統(tǒng)安全ppt課件
- 民主選舉投出理性一票ppt課件
- 高二數(shù)學選修正態(tài)分布推薦實用全套PPT