毛金玲
摘 要:對(duì)于供銷(xiāo)存管理系統(tǒng),數(shù)據(jù)庫(kù)的整體關(guān)系較為復(fù)雜,構(gòu)建表格較多,該系統(tǒng)中有主外鍵關(guān)系的表有10個(gè),此外還有庫(kù)房管理員表不在此列。這些表之間關(guān)系錯(cuò)綜,互相支撐功能,有些的功能與實(shí)現(xiàn)又頗為類(lèi)似,基于這樣的實(shí)際情況,該部分將依據(jù)各表在功能用途上的特點(diǎn),將所有表劃分為幾大類(lèi)進(jìn)行闡釋和描述。這樣做一方面可以加強(qiáng)各表之間聯(lián)系的直觀(guān)性,另一方面也方便用戶(hù)更清晰的理解系統(tǒng)的構(gòu)成和實(shí)現(xiàn)方式,加強(qiáng)可理解性。
關(guān)鍵詞:進(jìn)銷(xiāo)存管理系統(tǒng) 數(shù)據(jù)庫(kù) 系統(tǒng)模塊
中圖分類(lèi)號(hào):F426.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)03(a)-0224-02
總體上講,數(shù)據(jù)可定制的供銷(xiāo)存管理系統(tǒng)大體上分為三大模塊,分別是:系統(tǒng)管理模塊、庫(kù)存管理模塊、銷(xiāo)售管理模塊。系統(tǒng)管理模塊包含數(shù)據(jù)綁定、系統(tǒng)角色管理、部分表警戒值更改三個(gè)子模塊;庫(kù)存管理模塊包含查詢(xún)指定產(chǎn)品當(dāng)前庫(kù)存、查詢(xún)指定材料當(dāng)前庫(kù)存、批準(zhǔn)商品出庫(kù)、批準(zhǔn)材料出庫(kù)、發(fā)商品生產(chǎn)請(qǐng)求、購(gòu)入材料入庫(kù)處理;銷(xiāo)售管理模塊包含修改銷(xiāo)售人員個(gè)人信息、填寫(xiě)訂單及訂單明細(xì)各項(xiàng)和發(fā)行訂單更新數(shù)據(jù)庫(kù);銷(xiāo)售管理模塊包含修改銷(xiāo)售人員個(gè)人信息、填寫(xiě)訂單及訂單明細(xì)各項(xiàng)和發(fā)送訂單更新數(shù)據(jù)庫(kù)。
1 進(jìn)銷(xiāo)存管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)
對(duì)于供銷(xiāo)存管理系統(tǒng),數(shù)據(jù)庫(kù)的整體關(guān)系較為復(fù)雜,構(gòu)建表格較多,如圖1為本系統(tǒng)的數(shù)據(jù)庫(kù)E-R圖。由圖可知,該系統(tǒng)中有主外鍵關(guān)系的表有10個(gè),此外還有庫(kù)房管理員表不在此列。這些表之間關(guān)系錯(cuò)綜,互相支撐功能,有些的功能與實(shí)現(xiàn)又頗為類(lèi)似,基于這樣的實(shí)際情況,該部分將依據(jù)各表在功能用途上的特點(diǎn),將所有表劃分為幾大類(lèi)進(jìn)行闡釋和描述。這樣做一方面可以加強(qiáng)各表之間聯(lián)系的直觀(guān)性,另一方面也方便用戶(hù)更清晰的理解系統(tǒng)的構(gòu)成和實(shí)現(xiàn)方式,加強(qiáng)可理解性。
1.1 相關(guān)角色人員信息表的設(shè)計(jì)
該系統(tǒng)除系統(tǒng)管理員外還有兩大角色,即銷(xiāo)售人員和庫(kù)房管理員,此外還有涉及到的非角色人員則有銷(xiāo)售人員信息的管理,如表1所示,銷(xiāo)售人員信息表主要包括五個(gè)字段,分別是銷(xiāo)售人員編號(hào)、銷(xiāo)售人員姓名、銷(xiāo)售人員電話(huà)、銷(xiāo)售人員地址以及登錄賬號(hào)。其中銷(xiāo)售人員編號(hào)做為銷(xiāo)售人員表的主鍵存在,唯一確定每一個(gè)銷(xiāo)售人員,同時(shí)也是銷(xiāo)售人員的登錄賬號(hào),其類(lèi)型為nchar(10),根據(jù)實(shí)際情況已經(jīng)可以滿(mǎn)足系統(tǒng)的需要;銷(xiāo)售人員地址字段用于存儲(chǔ)銷(xiāo)售人員的個(gè)人基本信息,類(lèi)型選定nvarchar(50),類(lèi)似的,對(duì)于銷(xiāo)售人員電話(huà)字段,考慮到實(shí)際情況也為其選定數(shù)據(jù)類(lèi)型nvarchar(50),避免實(shí)際操作中出現(xiàn)局限;登錄密碼字段記錄的是用戶(hù)的登錄密碼,同樣選擇了nvarchar(50)類(lèi)型以滿(mǎn)足需要。
與此表類(lèi)似,庫(kù)房管理員表只是省去了對(duì)其個(gè)人信息的存儲(chǔ),而客戶(hù)表對(duì)個(gè)人信息的存儲(chǔ)更為詳盡而取消了登錄密碼字段,因?yàn)殇N(xiāo)售人員并非系統(tǒng)用戶(hù),無(wú)需登錄密碼,其他結(jié)構(gòu)均與銷(xiāo)售人員信息表類(lèi)似。
1.2 銷(xiāo)售單與材料出庫(kù)申請(qǐng)單總單
對(duì)于提交的單據(jù),本系統(tǒng)中分為三類(lèi),即銷(xiāo)售單及其明細(xì)單、材料出庫(kù)單及其明細(xì)單、生產(chǎn)通知單,其中銷(xiāo)售單和材料出庫(kù)單使用的都是總單加明細(xì)單的存儲(chǔ)格式,明細(xì)單以主表單的主鍵為外鍵,這樣做的目的是滿(mǎn)足數(shù)據(jù)庫(kù)結(jié)構(gòu)的第二范式要求,避免麻煩,在這里僅就銷(xiāo)售單和生產(chǎn)通知單進(jìn)行詳細(xì)說(shuō)明。
如表1所示,銷(xiāo)售單主要包括四個(gè)字段,分別是銷(xiāo)售單編號(hào)、客戶(hù)編號(hào)、銷(xiāo)售員編號(hào)以及銷(xiāo)售時(shí)間。其中銷(xiāo)售單編號(hào)做為銷(xiāo)售單表的主鍵存在,唯一確定每一個(gè)銷(xiāo)售單項(xiàng),其類(lèi)型為nvarchar(50),在實(shí)際操作中,系統(tǒng)制定了一個(gè)根據(jù)當(dāng)前本地時(shí)間生成編號(hào)序列的函數(shù),以此來(lái)不重復(fù)的生成銷(xiāo)售單編號(hào),根據(jù)實(shí)際情況這樣的設(shè)計(jì)可以更好的滿(mǎn)足系統(tǒng)的需要;客戶(hù)編號(hào)字段用于存儲(chǔ)此項(xiàng)銷(xiāo)售單的訂購(gòu)客戶(hù)的編號(hào),以客戶(hù)表編號(hào)字段為主鍵,類(lèi)型選定nchar(10),銷(xiāo)售員編號(hào)與之類(lèi)似,以銷(xiāo)售人員表編號(hào)字段為主鍵,數(shù)據(jù)類(lèi)型為nchar(10);銷(xiāo)售日期字段記錄的是銷(xiāo)售人員與客戶(hù)談定訂單的日期,區(qū)別于訂單提交日期,選擇了datetime類(lèi)型,符合實(shí)際情況的需要。
記錄銷(xiāo)售細(xì)節(jié)敲定的日期
與此表類(lèi)似的還有材料出庫(kù)表,主要用于管理材料出庫(kù)的請(qǐng)求,其中的進(jìn)貨日期與銷(xiāo)售單中的銷(xiāo)售日期相類(lèi)似,表示材料申請(qǐng)的日期;沒(méi)有客戶(hù)編號(hào)和銷(xiāo)售員編號(hào),取而代之的是生產(chǎn)通知單編號(hào)和審核狀態(tài)字段,生產(chǎn)通知單編號(hào)字段以生產(chǎn)通知單表中的編號(hào)字段為外鍵,目的是獲知當(dāng)前的材料申請(qǐng)是為了哪一份生產(chǎn)通知單,數(shù)據(jù)類(lèi)型為nvarchar(50),審核字段是為了表示此項(xiàng)材料申請(qǐng)是否被庫(kù)房管理員批準(zhǔn),且方便對(duì)相關(guān)控件的顯示和刷新操作。如表2所示。
1.3 銷(xiāo)售單明細(xì)和材料出庫(kù)單明細(xì)
前面已經(jīng)提到,為了滿(mǎn)足數(shù)據(jù)庫(kù)結(jié)構(gòu)的第二范式要求,銷(xiāo)售單和材料出庫(kù)單均采用主表和明細(xì)表相配合的模式,因此,在介紹過(guò)銷(xiāo)售單和材料出庫(kù)單后,下面將詳細(xì)介紹銷(xiāo)售單明細(xì)和材料出庫(kù)單明細(xì)表的情況。
如表3所示,材料出庫(kù)單明細(xì)主要由五個(gè)字段構(gòu)成,其中的材料出庫(kù)明細(xì)單編號(hào)作為主鍵,唯一標(biāo)示每一個(gè)元組,其序列同樣由字母序列加時(shí)間序列生成函數(shù)生成的序列構(gòu)成;材料出庫(kù)單編號(hào)以材料出庫(kù)單表中的編號(hào)字段為外鍵,只是此明細(xì)單所屬的總單項(xiàng);材料編號(hào)標(biāo)識(shí)明細(xì)單所要申請(qǐng)的材料編號(hào),外鍵于材料表的編號(hào)字段,因?yàn)橐陨先N編號(hào)均由時(shí)間生成函數(shù)生成序列,故字段類(lèi)型均設(shè)置為nvarchar(50)類(lèi)型以滿(mǎn)足其長(zhǎng)度;所需數(shù)量字段注明了此種材料的申請(qǐng)數(shù)量,類(lèi)型為decimal,審核狀態(tài)則標(biāo)識(shí)當(dāng)前申請(qǐng)項(xiàng)是否被批準(zhǔn),同時(shí)服務(wù)于篩選目標(biāo),類(lèi)型為bit。
1.4 庫(kù)存物品表
庫(kù)房管理員主要負(fù)責(zé)管理庫(kù)房?jī)?nèi)的物品,庫(kù)房?jī)?nèi)主要包括兩種物品:產(chǎn)品和材料,因此產(chǎn)品信息表和材料表的構(gòu)成大體相類(lèi)似,在這里僅就產(chǎn)品信息表予以說(shuō)明。
如表4所示,產(chǎn)品信息表主要包括四個(gè)屬性,分別是:產(chǎn)品編號(hào)、產(chǎn)品名稱(chēng)、剩余庫(kù)存、警戒數(shù)量,產(chǎn)品編號(hào)作為主鍵唯一標(biāo)示每個(gè)屬性元組,其值同樣是由指定字符序列加時(shí)間生成函數(shù)組成,數(shù)據(jù)類(lèi)型為nvarchar(50);產(chǎn)品名顯示每種產(chǎn)品的名稱(chēng),數(shù)據(jù)類(lèi)型為nchar(10);剩余庫(kù)存字段用于記錄對(duì)應(yīng)產(chǎn)品當(dāng)前的庫(kù)存量,數(shù)據(jù)類(lèi)型為decimal;警戒數(shù)量由系統(tǒng)管理員設(shè)定,記錄當(dāng)前產(chǎn)品庫(kù)存量的警戒數(shù)量,若當(dāng)前操作有可能造成庫(kù)存量低于警戒線(xiàn),則彈出警告予以阻止,數(shù)據(jù)類(lèi)型為decimal;
2 結(jié)語(yǔ)
除去以上各表以外,該系統(tǒng)的底層數(shù)據(jù)庫(kù)中還有一個(gè)比較特殊的表:成分表,由于不同產(chǎn)品所需要的材料不管是從種類(lèi)還是數(shù)量上都有不同,所以制定了成分表用以查詢(xún)不同產(chǎn)品的成分構(gòu)成。以上所述,即為本系統(tǒng)所有的11個(gè)數(shù)據(jù)庫(kù)表,按照表的結(jié)構(gòu)和用途分為以上的五大類(lèi),支持整個(gè)系統(tǒng)的運(yùn)行。
參考文獻(xiàn):
[1] 朱喜梅.基于SQL Server數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)策略與研究[D].哈爾濱:哈爾濱理工大學(xué),2009.
[2] 吳楊,孫蔚.B/S模式下ADO.NET數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)的設(shè)計(jì)及應(yīng)用[J].電子測(cè)試,2014(2)
[3] 林釗旭.淺談企業(yè)進(jìn)銷(xiāo)存管理系統(tǒng)的研究與開(kāi)發(fā)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用, 2013(5).