數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)(庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn))作者: 專業(yè): 信息管理與信息系統(tǒng) 班級(jí): 2班 學(xué)號(hào): 222008362063033 成績(jī): 指導(dǎo)教師: 西南大學(xué)信息管理系目錄前 言3一、需求分析4系統(tǒng)功能分析41.組織機(jī)構(gòu)42.管理職能分析43.業(yè)務(wù)流程分析5數(shù)據(jù)分析51.用戶與設(shè)計(jì)需求52.數(shù)據(jù)字典7二、概念結(jié)構(gòu)設(shè)計(jì)121.實(shí)體及其屬性圖132.實(shí)體及其聯(lián)系圖143.完整的實(shí)體-聯(lián)系圖(e-r圖)154.視圖的集成15三、邏輯結(jié)構(gòu)設(shè)計(jì)151.e-r圖向關(guān)系模型的轉(zhuǎn)換以及數(shù)據(jù)模型的優(yōu)化152.設(shè)計(jì)用戶子模式163.系統(tǒng)邏輯模型17四、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)171.關(guān)系模式存取方法的選擇

2、172.確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)173.確定系統(tǒng)配置184.評(píng)價(jià)物理結(jié)構(gòu)18五、數(shù)據(jù)庫(kù)的實(shí)施和維護(hù)181.數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試182.數(shù)據(jù)庫(kù)的試運(yùn)行183.數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)18附錄1: 系統(tǒng)截圖19附錄2:部分程序的代碼清單21參考文獻(xiàn)36前 言在計(jì)算機(jī)日益普及的今天,對(duì)個(gè)人而言若采用一套行之有效的庫(kù)存管理系統(tǒng)來(lái)管理自己的物品,會(huì)方便許多。對(duì)庫(kù)存管理部門而言,以前單一的手工檢索已不能滿足人們的要求,往往是投入了大量的人力和財(cái)力卻得不到高效的管理效率。為了便于庫(kù)存物資的管理需要有高效的庫(kù)存物資管理軟件,減輕工作人員的工作量,方便工作人員對(duì)它的操作,提高管理的質(zhì)量和水平,做到高效、智能化管理,達(dá)

3、到提高庫(kù)存信息管理效率的目的。采用數(shù)據(jù)庫(kù)技術(shù)生成的庫(kù)存物資管理系統(tǒng)將會(huì)極大地方便使用者并簡(jiǎn)化庫(kù)存管理人員和工作人員的勞動(dòng),使工作人員從繁忙、復(fù)雜的工作進(jìn)入到一個(gè)簡(jiǎn)單、高效的工作中?;谶@個(gè)問(wèn)題,開發(fā)了簡(jiǎn)潔的通用庫(kù)存物資管理系統(tǒng)。系統(tǒng)采用c/s模式,實(shí)現(xiàn)了出/入庫(kù)的方便、高效性、有效性和及時(shí)性。本課程設(shè)計(jì)通過(guò)作者設(shè)計(jì)和開發(fā)一個(gè)中小型庫(kù)存物資管理系統(tǒng)的實(shí)踐,闡述了庫(kù)存物資管理軟件中所應(yīng)具有的基本功能、設(shè)計(jì)、實(shí)現(xiàn)。關(guān)鍵字:庫(kù)存;物資管理;數(shù)據(jù)庫(kù)維護(hù);本課程設(shè)計(jì)以庫(kù)存物資管理系統(tǒng)開發(fā)過(guò)程為背景,全文分為目錄、需求分析、概要設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì),以及系統(tǒng)的實(shí)現(xiàn)等全過(guò)程。在程序設(shè)計(jì)與調(diào)試上采用了自上而

4、下,逐步細(xì)化,逐步完善的原則。采用結(jié)構(gòu)化的功能模塊設(shè)計(jì)系統(tǒng)功能,可讀性好,易于擴(kuò)充。基本功能較全面,系統(tǒng)可讀性好,易于維護(hù)、更新,安全性好。一、需求分析背景資料:1) 有不止一個(gè)存放商品的倉(cāng)庫(kù),每天都有商品出庫(kù)和入庫(kù)。2) 每種商品都有名稱、生產(chǎn)廠家、型號(hào)、規(guī)格、庫(kù)存量。3) 出入庫(kù)時(shí)必須填寫出入庫(kù)單據(jù),單據(jù)包括商品名稱、生產(chǎn)廠家、型號(hào)、規(guī)格、數(shù)量、日期時(shí)間、出入庫(kù)單位名稱、經(jīng)手人姓名。系統(tǒng)功能分析1.組織機(jī)構(gòu)據(jù)通用庫(kù)存管理系統(tǒng)的分析,假設(shè)庫(kù)存管理部門的組織機(jī)構(gòu)圖如圖1所示:圖1 組織結(jié)構(gòu)設(shè)置圖2.管理職能分析由組織結(jié)構(gòu)設(shè)置關(guān)系和客觀分析,可以得到系統(tǒng)的管理職能圖,如圖2所示:圖2 管理職能3

5、.業(yè)務(wù)流程分析現(xiàn)行庫(kù)存物資管理系統(tǒng)的業(yè)務(wù)流程圖如圖3所示:圖3 業(yè)務(wù)流程圖數(shù)據(jù)分析1.用戶與設(shè)計(jì)需求(1) 信息要求由背景資料可知本系統(tǒng)必須存儲(chǔ)商品信息和出入庫(kù)信息,具體分析就是:商品名稱、生產(chǎn)廠家、型號(hào)、規(guī)格、數(shù)量、日期時(shí)間、出入庫(kù)單位名稱、經(jīng)手人姓名、庫(kù)存量。(2) 處理要求用戶的要求:1.能夠顯示商品的基本信息:商品名稱、生產(chǎn)廠家、型號(hào)、規(guī)格、庫(kù)存量。2在進(jìn)行商品出入庫(kù)信息處理時(shí),能夠方便、快捷地將原始出入庫(kù)單據(jù)的信息錄入系統(tǒng)。3.實(shí)現(xiàn)按商品名稱、出入庫(kù)日期的查詢。4.實(shí)現(xiàn)分別按日、月、年對(duì)出入庫(kù)商品數(shù)量的統(tǒng)計(jì)。.響應(yīng)時(shí)間的要求:(國(guó)際標(biāo)準(zhǔn))處理方式:批處理。(3) 安全性與完整性要求安

6、全性設(shè)計(jì)要求:數(shù)據(jù)庫(kù)安全級(jí)別:c1 自主安全保護(hù)(discretionary security protection)tcsec/tdi標(biāo)準(zhǔn)完整性設(shè)計(jì)要求(數(shù)據(jù)庫(kù)的完整性約束條件):1. 出庫(kù)數(shù)量=0)3. 當(dāng)原始庫(kù)存0時(shí),有庫(kù)存量 = 入庫(kù)數(shù)量 出庫(kù)數(shù)量4. 庫(kù)存量=05. 入庫(kù)數(shù)量=06. 出庫(kù)數(shù)量=07. 各屬性值!=null8. 商品基本信息視圖中的“庫(kù)存量”=f(商品編號(hào)i,倉(cāng)庫(kù)編號(hào)j) (i,j=0,1,2n)其中,f(商品編號(hào)i,倉(cāng)庫(kù)編號(hào)j)表示由商品編號(hào)i和倉(cāng)庫(kù)編號(hào)j所唯一確定的庫(kù)存量。此表達(dá)式的意思是在視圖的“庫(kù)存量”屬性顯示該商品在所有倉(cāng)庫(kù)中庫(kù)存量的總和。備注:原始庫(kù)存,即

7、在系統(tǒng)建立之前存入庫(kù)的,并且原始憑證丟失或損壞或與實(shí)際庫(kù)存情況不符的那部分商品庫(kù)存。(4) 數(shù)據(jù)流圖(dfd)1. 頂層數(shù)據(jù)流程圖如圖4所示:圖4 頂層dfd“1”:商品入庫(kù)單據(jù)“2”:商品出庫(kù)單據(jù)“3”:商品基本信息“4”:出入庫(kù)信息和商品基本信息的查詢、統(tǒng)計(jì)結(jié)果2. 第一層數(shù)據(jù)流程圖如圖5所示:圖5中的數(shù)據(jù)流“1,2,3,4”與圖4中的數(shù)據(jù)流“1,2,3,4,”相同。圖5 第一層dfd3. 第二層數(shù)據(jù)流程圖如圖6所示:現(xiàn)對(duì)圖6中的數(shù)據(jù)流說(shuō)明如下:“1”:錄入數(shù)據(jù)庫(kù)的商品信息“2”:錄入數(shù)據(jù)庫(kù)的倉(cāng)庫(kù)信息“3”:錄入數(shù)據(jù)庫(kù)的生產(chǎn)廠家信息“4”:進(jìn)行商品入庫(kù)業(yè)務(wù)時(shí)所填制的紙質(zhì)單據(jù)“5”:進(jìn)行商品

8、出庫(kù)業(yè)務(wù)時(shí)所填制的紙質(zhì)單據(jù)“6”:將商品信息、倉(cāng)庫(kù)信息、生產(chǎn)廠家信息通過(guò)連接等操作實(shí)現(xiàn)商品信息查詢與統(tǒng)計(jì)“7”:將手工的商品入庫(kù)憑證、商品出庫(kù)憑證轉(zhuǎn)化為數(shù)據(jù)庫(kù)中的電子記錄,并通過(guò)連接等操作實(shí)現(xiàn)商品出入庫(kù)信息的查詢與統(tǒng)計(jì)“8”:將商品信息、商品出入庫(kù)信息的查詢與統(tǒng)計(jì)結(jié)果輸出至系統(tǒng)視圖并顯示圖6 第二層dfd2.數(shù)據(jù)字典(1)數(shù)據(jù)項(xiàng)01 商品編號(hào) nchar(10) 主鍵 02 商品名稱 nchar(10)03 廠家編號(hào) nchar(10) 主鍵04 廠家名稱 nchar(10) 別名:生產(chǎn)廠家05 型號(hào) nchar(10)06 規(guī)格 nchar(10)07 庫(kù)存量 int08 倉(cāng)庫(kù)編號(hào) ncha

9、r(10) 主鍵09 倉(cāng)庫(kù)名稱 nchar(10)10 單位編號(hào) nchar(10) 主鍵11 單位名稱 nchar(10) 別名:出庫(kù)單位/入庫(kù)單位12 經(jīng)手人姓名 nchar(10)13 入庫(kù)時(shí)間 datetime14 入庫(kù)數(shù)量 int15 出庫(kù)時(shí)間 datetime16 出庫(kù)數(shù)量 int(2)數(shù)據(jù)結(jié)構(gòu)01 商品表 02 商品編號(hào) nchar(10)主鍵 02 商品名稱 nchar(10) 02 型號(hào) nchar(10) 02 規(guī)格 nchar(10)01 倉(cāng)庫(kù)表 02 倉(cāng)庫(kù)編號(hào) nchar(10) 主鍵 02 倉(cāng)庫(kù)名稱 nchar(10)01 生產(chǎn)廠家表 02 廠家編號(hào) nchar(10

10、) 主鍵 02 廠家名稱 nchar(10)01出/入庫(kù)單位表 02單位編號(hào) nchar(10) 主鍵02單位名稱 nchar(10)02經(jīng)手人姓名 nchar(10)01 商品-倉(cāng)庫(kù)表 02 商品編號(hào) nchar(10) 外鍵 參照主表:商品表 02 倉(cāng)庫(kù)編號(hào) nchar(10) 外鍵 參照主表:倉(cāng)庫(kù)表 02 庫(kù)存量 int01 商品-生產(chǎn)表 02商品編號(hào) nchar(10) 外鍵 參照主表:商品表 02廠家編號(hào) nchar(10) 外鍵 參照主表:生產(chǎn)廠家表01 商品-入庫(kù)表 02商品編號(hào) nchar(10) 外鍵 參照主表:商品表02單位編號(hào) nchar(10) 外鍵 參照主表:出/入庫(kù)

11、單位表02入庫(kù)時(shí)間 datetime 主鍵02入庫(kù)數(shù)量 int01 商品-出庫(kù)表 02商品編號(hào) nchar(10) 外鍵 參照主表:商品表02單位編號(hào) nchar(10) 外鍵 參照主表:出/入庫(kù)單位表02出庫(kù)時(shí)間 datetime 主鍵02出庫(kù)數(shù)量 int(3)數(shù)據(jù)流1. 數(shù)據(jù)流名:商品基本信息說(shuō)明:將商品表和倉(cāng)庫(kù)表通過(guò)商品-倉(cāng)庫(kù)表連接,然后再與生產(chǎn)廠家表通過(guò)商品-生產(chǎn)表連接,并輸出至系統(tǒng)終端顯示。流量:實(shí)時(shí)查詢、更新,基本無(wú)限制來(lái)源:商品表、倉(cāng)庫(kù)表、商品-倉(cāng)庫(kù)表、生產(chǎn)廠家表、商品-生產(chǎn)表去向:系統(tǒng)終端視圖2. 數(shù)據(jù)流名:商品入庫(kù)信息說(shuō)明:將商品表和出/入庫(kù)單位表通過(guò)商品-入庫(kù)表連接,然后再

12、與生產(chǎn)廠家表通過(guò)商品-生產(chǎn)表連接,并輸出至系統(tǒng)終端顯示。流量:最大(max)50次/日 平均(avg)30次/日來(lái)源:商品表、出/入庫(kù)單位表、商品-入庫(kù)表、生產(chǎn)廠家表、商品-生產(chǎn)表去向:系統(tǒng)終端視圖3. 數(shù)據(jù)流名:商品出庫(kù)信息說(shuō)明:將商品表和出/入庫(kù)單位表通過(guò)商品-出庫(kù)表連接,然后再與生產(chǎn)廠家表通過(guò)商品-生產(chǎn)表連接,并輸出至系統(tǒng)終端顯示。流量:最大(max)50次/日 平均(avg)30次/日來(lái)源:商品表、出/入庫(kù)單位表、商品-出庫(kù)表、生產(chǎn)廠家表、商品-生產(chǎn)表去向:系統(tǒng)終端視圖(5) 數(shù)據(jù)存儲(chǔ)1. 手工憑單:入庫(kù)單據(jù)、出庫(kù)單據(jù)存取方式:手工填制存取頻度:隨填隨存、隨填隨取來(lái)源:真實(shí)的出/入庫(kù)業(yè)

13、務(wù)去向:錄入系統(tǒng)的數(shù)據(jù)庫(kù)2. 計(jì)算機(jī)文檔:基本表 商品表、出/入庫(kù)單位表、商品-出庫(kù)表、商品-入庫(kù)表、生產(chǎn)廠家表、商品-生產(chǎn)表、倉(cāng)庫(kù)表、商品-倉(cāng)庫(kù)表視圖商品基本信息視圖、商品入庫(kù)信息視圖、商品出庫(kù)信息視圖基本表: 商品表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 出/入庫(kù)單位表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 商品-出庫(kù)表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(av

14、g)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 商品-入庫(kù)表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 生產(chǎn)廠家表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 商品-生產(chǎn)表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 倉(cāng)庫(kù)表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(av

15、g)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接 商品-倉(cāng)庫(kù)表存取方式:批處理、檢索、更新存取頻度:最大(max)50次/日 平均(avg)30次/日來(lái)源:錄入系統(tǒng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)去向:與其他基本表連接視圖: 商品基本信息視圖存取方式:檢索、更新存取頻度:基本無(wú)限制,視具體情況而定來(lái)源:數(shù)據(jù)庫(kù)中的基本表去向:在系統(tǒng)終端顯示 商品入庫(kù)信息視圖存取方式:檢索、更新存取頻度:基本無(wú)限制,視具體情況而定來(lái)源:數(shù)據(jù)庫(kù)中的基本表去向:在系統(tǒng)終端顯示 商品出庫(kù)信息視圖存取方式:檢索、更新存取頻度:基本無(wú)限制,視具體情況而定來(lái)源:數(shù)據(jù)庫(kù)中的基本表去向:在系統(tǒng)終端顯示(6) 處理過(guò)程1. 商品基本

16、信息顯示說(shuō)明:用于顯示商品的基本信息輸入:商品表、倉(cāng)庫(kù)表、商品-倉(cāng)庫(kù)表、生產(chǎn)廠家表、商品-生產(chǎn)表輸出:商品基本信息2. 商品入庫(kù)信息顯示說(shuō)明:用于顯示商品入庫(kù)信息輸入:商品表、生產(chǎn)廠家表、商品-生產(chǎn)表、出/入庫(kù)單位表、商品-入庫(kù)表輸出:商品入庫(kù)信息3. 商品出庫(kù)庫(kù)信息顯示說(shuō)明:用于顯示商品入庫(kù)信息輸入:商品表、生產(chǎn)廠家表、商品-生產(chǎn)表、出/入庫(kù)單位表、商品-出庫(kù)表輸出:商品出庫(kù)信息具體處理過(guò)程見數(shù)據(jù)流圖(dfd)。二、概念結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)的概念結(jié)構(gòu)設(shè)計(jì)采用自頂向下方法。即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化,如圖7所示:圖7 本系統(tǒng)概念模式的自頂向下策略系統(tǒng)e-r圖的設(shè)計(jì)和實(shí)現(xiàn):1. 實(shí)體及

17、其屬性圖根據(jù)數(shù)據(jù)抽象得到實(shí)體及其屬性圖,如圖8所示:圖8 實(shí)體及其屬性圖2. 實(shí)體及其聯(lián)系圖根據(jù)實(shí)體及其屬性圖設(shè)計(jì)實(shí)體及其聯(lián)系圖,如圖9所示:圖9 實(shí)體及其聯(lián)系圖3. 完整的實(shí)體-聯(lián)系圖(e-r圖)合并實(shí)體及其屬性圖和實(shí)體及其聯(lián)系圖,得到完整的實(shí)體-聯(lián)系圖(e-r圖),如圖10所示:圖10 完整的實(shí)體-聯(lián)系圖(e-r圖)4.視圖的集成本系統(tǒng)屬于小型管理信息系統(tǒng),e-r圖很簡(jiǎn)單,在設(shè)計(jì)之初便完成了集成,無(wú)需多次集成。三、邏輯結(jié)構(gòu)設(shè)計(jì)1.e-r圖向關(guān)系模型的轉(zhuǎn)換以及數(shù)據(jù)模型的優(yōu)化根據(jù)系統(tǒng)的e-r圖轉(zhuǎn)換關(guān)系模型如下,規(guī)范化水平:bcnf倉(cāng)庫(kù)(倉(cāng)庫(kù)編號(hào),倉(cāng)庫(kù)名稱)生產(chǎn)廠家(廠家編號(hào),廠家名稱)商品(商

18、品編號(hào),名稱,型號(hào),規(guī)格)出入庫(kù)單位(單位編號(hào),單位名稱,經(jīng)手人姓名)商品-生產(chǎn)(商品編號(hào),廠家編號(hào))商品-倉(cāng)庫(kù)(商品編號(hào),倉(cāng)庫(kù)編號(hào),庫(kù)存量)商品-入庫(kù)(商品編號(hào),單位編號(hào),入庫(kù)時(shí)間,入庫(kù)數(shù)量)商品-出庫(kù)(商品編號(hào),單位編號(hào),出庫(kù)時(shí)間,出庫(kù)數(shù)量)備注:有下劃線的屬性為主鍵或外鍵本系統(tǒng)數(shù)據(jù)庫(kù)各基本表的邏輯關(guān)系如圖11所示:圖11 各基本表的邏輯結(jié)構(gòu)圖2.設(shè)計(jì)用戶子模式(1)使用符合用戶習(xí)慣的別名廠家名稱 nchar(10) 別名:生產(chǎn)廠家單位名稱 nchar(10) 別名:出庫(kù)單位/入庫(kù)單位(2)定義用戶視圖(view)商品基本信息視圖(商品名稱,生產(chǎn)廠家,型號(hào),規(guī)格,庫(kù)存量)商品入庫(kù)信息視圖(

19、商品名稱,生產(chǎn)廠家,型號(hào),規(guī)格,入庫(kù)數(shù)量,入庫(kù)單位,經(jīng)手人姓名,入庫(kù)時(shí)間)商品出庫(kù)信息視圖(商品名稱,生產(chǎn)廠家,型號(hào),規(guī)格,出庫(kù)數(shù)量,出庫(kù)單位,經(jīng)手人姓名,出庫(kù)時(shí)間)4. 系統(tǒng)邏輯模型系統(tǒng)邏輯模型如圖12所示:圖12 系統(tǒng)邏輯模型四、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)1.關(guān)系模式存取方法的選擇本系統(tǒng)采用默認(rèn)存取方法:b+樹索引方法。2.確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)本系統(tǒng)采用順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)相結(jié)合的存儲(chǔ)結(jié)構(gòu)。3.確定系統(tǒng)配置本系統(tǒng)采用單機(jī)用戶操作方式,基本配置如下:機(jī)型:acer光驅(qū):dvd-r硬盤:540mb內(nèi)存:8mb顯示器:led打印機(jī):hp操作系統(tǒng):windows xp、windows 7、windows 200

20、0軟件環(huán)境:.net clr安裝地點(diǎn):倉(cāng)庫(kù)辦公室4.評(píng)價(jià)物理結(jié)構(gòu)綜合存取時(shí)間、存儲(chǔ)空間利用率、維護(hù)代價(jià)3個(gè)方面的因素,本系統(tǒng)物理結(jié)構(gòu)評(píng)級(jí)為:中上。五、數(shù)據(jù)庫(kù)的實(shí)施和維護(hù)1.數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試本系統(tǒng)采用visual c#.net開發(fā),在visual studio 2010環(huán)境下編寫代碼,運(yùn)行調(diào)試。使用microsoft sql server 2005創(chuàng)建并連接數(shù)據(jù)庫(kù)。2.數(shù)據(jù)庫(kù)的試運(yùn)行在載如數(shù)據(jù)后,跟蹤觀測(cè)數(shù)據(jù)庫(kù)運(yùn)行的情況,因?yàn)橄到y(tǒng)規(guī)模較小,設(shè)計(jì)時(shí)考慮較周全,沒有發(fā)現(xiàn)異常狀況。3.數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)在數(shù)據(jù)庫(kù)運(yùn)行階段,對(duì)數(shù)據(jù)庫(kù)經(jīng)常性的維護(hù)工作主要是由dba完成的,包括: 數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)

21、 數(shù)據(jù)的安全性、完整性控制 數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改造 數(shù)據(jù)庫(kù)的重組織與重構(gòu)造附錄1: 系統(tǒng)截圖主界面商品入庫(kù)信息窗口商品出口信息窗口基本信息錄入窗口入庫(kù)信息查詢窗口出口信息查詢窗口messagebox出入庫(kù)信息統(tǒng)計(jì)查詢窗口附錄2:部分程序的代碼清單連接類class dbconn string sql = data source=moonhow-e3bea7b;initial catalog = 庫(kù)存管理系統(tǒng);integrated security=true; public sqlconnection getconn() sqlconnection mycon = new sqlconnec

22、tion(sql); return mycon; 操作類 class dboperation dbconn connstr = new dbconn (); /返回?cái)?shù)據(jù)集ds public dataset getdataset(string sql, string table) sqlconnection conn = connstr.getconn (); conn.open(); sqldataadapter sda = new sqldataadapter(sql, conn); dataset ds = new dataset(); sda.fill(ds, table); conn.

23、close(); return ds; /執(zhí)行dsql public void sqlcmd(string sqlstr) sqlconnection conn = connstr.getconn(); conn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn); scmd.executenonquery(); conn.close(); /返回datatable public datatable gettable(string sql) sqlconnection conn = connstr.getconn(); conn.ope

24、n(); sqldataadapter sda = new sqldataadapter(sql, conn); datatable dt = new datatable(); sda.fill(dt); return dt; 主窗體public form1() initializecomponent(); private void 入庫(kù)信息查詢toolstripmenuitem_click(object sender, eventargs e) fm_r_chaxun f = new fm_r_chaxun(); f.show(); private void 退出toolstripmenui

25、tem_click(object sender, eventargs e) this.close(); private void 入庫(kù)信息錄入toolstripmenuitem_click(object sender, eventargs e) fm_l_ruku lk = new fm_l_ruku(); lk.show(); private void 出庫(kù)信息錄入toolstripmenuitem_click(object sender, eventargs e) fm_l_chuku lc = new fm_l_chuku(); lc.show(); private void 基本信息錄

26、入toolstripmenuitem_click(object sender, eventargs e) fm_jiben j = new fm_jiben(); j.show(); private void 出庫(kù)信心查詢toolstripmenuitem_click(object sender, eventargs e) fm_c_chaxun c = new fm_c_chaxun(); c.show(); private void 入庫(kù)信息統(tǒng)計(jì)toolstripmenuitem_click(object sender, eventargs e) fm_t f = new fm_t();

27、f.show(); 提示窗體代碼 public fm_tisi() initializecomponent(); private void fm_tisi_load(object sender, eventargs e) this.label1.text = 按年統(tǒng)計(jì) yyyy 按月統(tǒng)計(jì) yyyy-mm 按天統(tǒng)計(jì) yyyy-mm-dd; 統(tǒng)計(jì)窗體代碼public partial class fm_t : form public fm_t() initializecomponent(); private void button1_click(object sender, eventargs e)

28、 string time = this.textbox1.text.trim(); dbconn myconn = new dbconn(); sqlconnection conn = myconn.getconn(); string sql = select 入庫(kù)單位,入庫(kù)數(shù)量 from 商品入庫(kù)信息視圖 where 入庫(kù)時(shí)間 like%+time+% ; conn.open(); sqldataadapter sda = new sqldataadapter(sql, conn); datatable dt = new datatable(); sda.fill(dt); datagrid

29、view1.datasource = dt; sql = select 出庫(kù)單位,出庫(kù)數(shù)量 from 商品出庫(kù)信息視圖 where 出庫(kù)時(shí)間 like %+time+%; sqldataadapter sda1 = new sqldataadapter(sql, conn); datatable dt1 = new datatable(); sda1.fill(dt1); datagridview2.datasource = dt1; private void textbox1_mouseenter(object sender, eventargs e) if(public.i=1 ) fm_

30、tisi tis = new fm_tisi(); tis.show(); public.i+; 基礎(chǔ)信息輸入窗口表public partial class fm_jiben : form public fm_jiben() initializecomponent(); private void button1_click(object sender, eventargs e) this.tb_cjbh.text = ; this.tb_cjmc.text = ; this.tb_ckbh.text = ; this.tb_ckmc.text = ; this.tb_dwbh.text = ;

31、 this.tb_dwmc.text = ; this.tb_gg.text = ; this.tb_jbrxm.text = ; this.tb_kcl.text = ; this.tb_spbh.text = ; this.tb_spmc.text = ; this.tb_xh.text = ; this.tb_spbh.focus(); private void linklabel1_linkclicked(object sender, linklabellinkclickedeventargs e) /商品表 string spbh = tb_spbh.text; string spm

32、c = tb_spmc.text; string xh = tb_xh.text; string gg = tb_gg.text; /連接數(shù)據(jù)庫(kù),插入數(shù)據(jù) string sqlstr = insert into 商品(商品編號(hào),商品名稱,型號(hào),規(guī)格)values( + spbh + , + spmc + , + xh + , + gg + ); dbconn mycon = new dbconn(); sqlconnection conn = mycon.getconn(); conn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn)

33、; scmd.executenonquery(); / / /對(duì)下面的下拉列表框進(jìn)行更新 sqlstr = select 商品編號(hào) from 商品; sqlcommand command = new sqlcommand(sqlstr, conn); sqldatareader dr = command.executereader(); while (dr.read() this.cob_spbh.items.add(dr0.tostring(); / / command.cancel(); dr.close(); conn.close(); private void linklabel2_l

34、inkclicked(object sender, linklabellinkclickedeventargs e) /入庫(kù)出庫(kù)單位 string dwbh = tb_dwbh.text; string dwmc = tb_dwmc.text; string jsrxm = tb_jbrxm.text; /連接數(shù)據(jù)庫(kù) ,插入數(shù)據(jù) string sqlstr = insert into 出入庫(kù)單位(單位編號(hào),單位名稱,經(jīng)手人姓名)values( +dwbh + , + dwmc + , + jsrxm + ); dbconn mycon = new dbconn(); sqlconnection

35、 conn = mycon.getconn(); conn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn); scmd.executenonquery(); conn.close(); private void linklabel3_linkclicked(object sender, linklabellinkclickedeventargs e) /生產(chǎn)廠商信息 string cjbh = tb_cjbh.text; string cjmc = tb_cjmc.text; /連接數(shù)據(jù)庫(kù),插入數(shù)據(jù) string sqlstr =

36、insert into 生產(chǎn)廠家(廠家編號(hào),廠家名稱)values( + cjbh + , + cjmc + ); dbconn mycon = new dbconn(); sqlconnection conn = mycon.getconn(); conn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn); scmd.executenonquery(); conn.close(); private void linklabel4_linkclicked(object sender, linklabellinkclickedevent

37、args e) /倉(cāng)庫(kù)表 string ckbh = tb_ckbh.text; string ckmc = tb_ckmc.text; /連接數(shù)據(jù)庫(kù),插入數(shù)據(jù) string sqlstr = insert into 倉(cāng)庫(kù)(倉(cāng)庫(kù)編號(hào),倉(cāng)庫(kù)名稱)values( + ckbh + , + ckmc + ); dbconn mycon = new dbconn(); sqlconnection conn = mycon.getconn(); conn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn); scmd.executenonquer

38、y(); / /對(duì)下一個(gè)表的倉(cāng)庫(kù)編號(hào)進(jìn)行更新 sqlstr = select 倉(cāng)庫(kù)編號(hào) from 倉(cāng)庫(kù); sqlcommand command = new sqlcommand(sqlstr, conn); sqldatareader dr = command.executereader(); while (dr.read() this.cob_spbh.items.add(dr0.tostring(); command.cancel(); dr.close(); conn.close(); private void linklabel5_linkclicked(object sender,

39、linklabellinkclickedeventargs e) string spbhb = cob_spbh.text; string ckbhb = cob_ckbh.text; int kcl = convert.toint16(tb_kcl.text); /連接數(shù)據(jù)庫(kù),插入數(shù)據(jù) string sqlstr = insert into 商品倉(cāng)庫(kù)(商品編號(hào),倉(cāng)庫(kù)編號(hào),庫(kù)存量)values( + spbhb + , + ckbhb + ,+kcl+); dbconn mycon = new dbconn(); sqlconnection conn = mycon.getconn(); co

40、nn.open(); sqlcommand scmd = new sqlcommand(sqlstr, conn); scmd.executenonquery(); conn.close(); private void button3_click(object sender, eventargs e) this.close(); private void fm_jiben_load(object sender, eventargs e) dbconn myconn = new dbconn(); sqlconnection conn = myconn.getconn(); conn.open(

41、); string sqlstr = select 商品編號(hào) from 商品; sqlcommand command = new sqlcommand(sqlstr, conn); sqldatareader dr = command.executereader(); while (dr.read() this.cob_spbh .items.add(dr0.tostring(); command.cancel(); dr.close(); sqlstr = select 倉(cāng)庫(kù)編號(hào) from 倉(cāng)庫(kù); sqlcommand comd = new sqlcommand(sqlstr, conn);

42、 sqldatareader dr2 = comd.executereader(); while (dr2.read() this.cob_ckbh .items.add(dr20.tostring(); 產(chǎn)品出庫(kù)信息窗口代碼public partial class fm_l_chuku : form public fm_l_chuku() initializecomponent(); private void button3_click(object sender, eventargs e) this.close(); private void button1_click(object sender, eventargs e) this.cob_dwbh.text = ; this.cob_spbh.text = ; this.tb_cksj.text = ; this.tb_cksl.text

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論