【摘要】本文主要根據(jù)某醫(yī)藥企業(yè)營(yíng)銷(xiāo)系統(tǒng)的需求分析,總結(jié)系統(tǒng)內(nèi)實(shí)體及聯(lián)系,結(jié)合需求分析與概念結(jié)構(gòu)設(shè)計(jì),運(yùn)用Microsoft SQL Server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)建好表和相關(guān)約束,并在此基礎(chǔ)上用SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢(xún)、連接等操作和觸發(fā)器、存儲(chǔ)器等對(duì)象設(shè)計(jì)。
【關(guān)鍵詞】營(yíng)銷(xiāo)管系統(tǒng);實(shí)體;數(shù)據(jù)庫(kù)管理系統(tǒng)
一、系統(tǒng)主要業(yè)務(wù)流程
1.銷(xiāo)售業(yè)務(wù)工作流程
該醫(yī)藥企業(yè)銷(xiāo)售業(yè)務(wù)主要和商務(wù)部、財(cái)務(wù)部、倉(cāng)庫(kù)有關(guān)。銷(xiāo)售業(yè)務(wù)是從業(yè)務(wù)員提出需貨請(qǐng)求開(kāi)始的,銷(xiāo)售業(yè)務(wù)流程如圖1所示。
圖1 銷(xiāo)售業(yè)務(wù)流程圖
2.綜合工作流程
該企業(yè)的主要業(yè)務(wù)就是生產(chǎn)和銷(xiāo)售,新的營(yíng)銷(xiāo)系統(tǒng)要能夠向生產(chǎn)部門(mén)提供原料和產(chǎn)品寄庫(kù)的功能,并覆蓋營(yíng)銷(xiāo)公司(商務(wù)部、財(cái)務(wù)部)主要的銷(xiāo)售業(yè)務(wù),綜合業(yè)務(wù)流程如圖2所示。
圖2 綜合工作流程圖
圖3 各類(lèi)表之間的關(guān)系
二、根據(jù)業(yè)務(wù)流程進(jìn)行系統(tǒng)功能模塊的劃分
在充分分析系統(tǒng)需求的基礎(chǔ)上,根據(jù)營(yíng)銷(xiāo)業(yè)務(wù)流程的主要環(huán)節(jié),劃分系統(tǒng)的主要功能模塊。系統(tǒng)主要由如下六個(gè)功能模塊組成:即商務(wù)模塊、財(cái)務(wù)模塊、倉(cāng)庫(kù)模塊、查詢(xún)模塊、報(bào)表模塊和系統(tǒng)管理模塊。
三、根據(jù)業(yè)務(wù)流程,模塊劃分進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)
1.數(shù)據(jù)庫(kù)表設(shè)計(jì)原則
數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)。它把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。一個(gè)信息系統(tǒng)的各個(gè)部份能否緊密地結(jié)合在一起以及如何結(jié)合,關(guān)鍵在數(shù)據(jù)庫(kù)。因此數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分。
在設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)過(guò)程中,首先確定以下幾個(gè)原則:
(1)數(shù)據(jù)庫(kù)中的每一張表都必須符合下面幾個(gè)特征:
每一個(gè)單元的內(nèi)容只有一個(gè)值;每個(gè)字段的名稱(chēng)都不相同;每條記錄的前后次序和字段的左右次序可以變化,不受限制;每一字段都必須有相應(yīng)的數(shù)據(jù)類(lèi)型;沒(méi)有內(nèi)容完全相同的記錄。
(2)表中的數(shù)據(jù)必須規(guī)則完整
對(duì)于一個(gè)具體的數(shù)據(jù)庫(kù),為了維護(hù)數(shù)據(jù)本身的完整,必須設(shè)置相應(yīng)的規(guī)則。
(3)在設(shè)計(jì)數(shù)據(jù)庫(kù)表時(shí)必須符合規(guī)范化
數(shù)據(jù)庫(kù)設(shè)計(jì)者的任務(wù)就是組織數(shù)據(jù),而組織數(shù)據(jù)的方法應(yīng)能消除不必要的重復(fù),并為所有必要信息提供快速查找路徑。為了達(dá)到這個(gè)目標(biāo)而把信息分離到各種獨(dú)立的表中去的過(guò)程,叫做規(guī)范化。
(4)滿足數(shù)據(jù)的完整性
所謂數(shù)據(jù)完整性就是要限制數(shù)據(jù)庫(kù)內(nèi)可能出現(xiàn)的非法值以保證數(shù)據(jù)庫(kù)的有效性。注意以下幾點(diǎn):實(shí)體完整性;參考完整性;用戶定義的完整性。
在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),充分利用SQL Server 2000提供的可視化的建表工具,建立了系統(tǒng)所需的數(shù)據(jù)庫(kù)表,并用主鍵和外鍵表明了各表之間的關(guān)系。為提高查詢(xún)、統(tǒng)計(jì)的效率,還對(duì)有關(guān)數(shù)據(jù)庫(kù)表建立了相應(yīng)的索引。
表3-1 合同主表s_ht結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
Bh 字符型 10 否 合同編號(hào)
Khxgid 字符型 10 否 客戶相關(guān)ID號(hào)
Khxxid 字符型 10 否 客戶信息ID號(hào)
…… …… …… …… …… ……
表3-2 合同明細(xì)表s_htmx結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
htid 字符型 10 否 合同id號(hào)
xgdjid 字符型 10 否 相關(guān)單據(jù)id號(hào)
kcid 字符型 10 否 物品庫(kù)存id號(hào)
…… …… …… …… …… ……
表3-3 發(fā)票主表s_fp結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
Bh 字符型 10 否 發(fā)票編號(hào)
khxgid 字符型 10 否 客戶相關(guān)ID號(hào)
khxxid 字符型 10 否 客戶信息ID號(hào)
…… …… …… …… …… ……
表3-4 發(fā)票明細(xì)表s_fpmx結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
fpid 字符型 10 否 發(fā)票id號(hào)
xgdjid 字符型 10 否 相關(guān)單據(jù)id號(hào)
kcid 字符型 10 否 物品庫(kù)存id號(hào)
…… …… …… …… …… ……
表3-5 庫(kù)存臺(tái)帳表w_kctz結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
kcdjid 字符型 10 否 庫(kù)存單據(jù)id號(hào)
xgdjid 字符型 10 否 相關(guān)單據(jù)id號(hào)
kcid 字符型 10 否 物品庫(kù)存id號(hào)
ykcid 字符型 10 否 原庫(kù)存id號(hào)
sl 數(shù)值型 9 否 0 數(shù)量
…… …… …… …… …… ……
表3-6 倉(cāng)位臺(tái)帳表w_cwtz結(jié)構(gòu)
字段名 字段類(lèi)型 寬度 允許空值 缺省值 字段含義
Id 字符型 10 否 系統(tǒng)流水號(hào)
cwid 字符型 10 否 倉(cāng)位id號(hào)
cwlb 字符型 10 否 倉(cāng)位類(lèi)別
xgdjid 字符型 10 否 相關(guān)單據(jù)id號(hào)
kcid 字符型 10 否 物品庫(kù)存id號(hào)
…… …… …… …… …… ……
2.主要數(shù)據(jù)表、視圖及存儲(chǔ)過(guò)程的設(shè)計(jì)
按照上述數(shù)據(jù)庫(kù)表的設(shè)計(jì)原則,結(jié)合系統(tǒng)的功能,主要將系統(tǒng)中的表分為如下幾個(gè)類(lèi)別:各類(lèi)表之間的關(guān)系如圖3所示。
(1)相關(guān)信息類(lèi)表
存儲(chǔ)產(chǎn)品信息、業(yè)務(wù)員信息和客戶信息
(2)基礎(chǔ)字典類(lèi)
存儲(chǔ)用戶信息、系統(tǒng)參數(shù)等方面的信息。
(3)合同類(lèi)
存儲(chǔ)合同的基本情況和執(zhí)行情況。
(4)倉(cāng)儲(chǔ)類(lèi)
存儲(chǔ)產(chǎn)品的庫(kù)存信息和出、入庫(kù)、寄庫(kù)情況。
(5)財(cái)務(wù)類(lèi)
存儲(chǔ)業(yè)結(jié)算和回款情況、賬務(wù)等信息。
其中:合同數(shù)據(jù)保存在s_ht表中,合同明細(xì)數(shù)據(jù)保存在s_htmx表中,在s_htmx表中設(shè)有htid字段,用于關(guān)聯(lián)s_ht表和s_htmx表;發(fā)票數(shù)據(jù)保存在s_fp表中,發(fā)票明細(xì)保存在s_fpmx表中,在s_fpmx表中設(shè)有htmxid、fpid等字段,htmxid用以關(guān)聯(lián)s_fpmx表和s_htmx表,fpid用以關(guān)聯(lián)s_fpmx表和s_fp表,在s_htmx表、s_fpmx表中均設(shè)有kcid(庫(kù)存id)用以關(guān)聯(lián)w_kc表。
視圖主要包括:
V_thd:從w_kcdj中查詢(xún)退貨單據(jù);V_rkd:從w_kcdj中查詢(xún)?nèi)霂?kù)單據(jù);V_qyd:從w_kcdj中查詢(xún)?nèi)訂螕?jù);V_ckd:從w_kcdj中查詢(xún)出庫(kù)單據(jù);V_jkd:從w_kcdj中查詢(xún)寄庫(kù)單據(jù)。
存儲(chǔ)過(guò)程主要包括如下幾個(gè):
ck_pd_kcdjcw:倉(cāng)庫(kù)盤(pán)點(diǎn);S_insert_kh:將客戶、業(yè)務(wù)員、物品等信息插入到臨時(shí)表;Sale_lkd_zf:修改客戶和業(yè)務(wù)員的應(yīng)收帳,并插入帳款臺(tái)帳表。
3.基礎(chǔ)數(shù)據(jù)表的設(shè)計(jì)
系統(tǒng)中數(shù)據(jù)表繁多,下面列舉出系統(tǒng)中運(yùn)用比較典型的合同、發(fā)票、庫(kù)存、字典等表的結(jié)構(gòu)進(jìn)行說(shuō)明。
(1)合同主表結(jié)構(gòu)
表3-1給出了合同主表的結(jié)構(gòu)。
(2)合同明細(xì)表
表3-2給出了合同明細(xì)表的結(jié)構(gòu)。
(3)發(fā)票主表
表3-3給出了發(fā)票表的結(jié)構(gòu)。
(4)發(fā)票明細(xì)表
表3-4給出了發(fā)票明細(xì)表的結(jié)構(gòu)。
(5)庫(kù)存臺(tái)帳
表3-5給出了庫(kù)存臺(tái)帳表的結(jié)構(gòu)。
(6)倉(cāng)位臺(tái)帳表
表3-6給出了倉(cāng)位臺(tái)帳表的結(jié)構(gòu)。
四、總結(jié)
根據(jù)某醫(yī)藥企業(yè)業(yè)務(wù)流程,功能模塊的劃分等具體情況,設(shè)計(jì)某醫(yī)藥營(yíng)銷(xiāo)系統(tǒng)數(shù)據(jù)庫(kù)。加深了對(duì)數(shù)據(jù)庫(kù)課程知識(shí)的理解。由于時(shí)間倉(cāng)促,還有很多不足之處,在今后的學(xué)習(xí)中我會(huì)加強(qiáng)理論的實(shí)踐的結(jié)合,通過(guò)不斷摸索來(lái)彌補(bǔ)自己在數(shù)據(jù)庫(kù)設(shè)計(jì)方面的差距。
參考文獻(xiàn)
[1]孟凡榮編.數(shù)據(jù)庫(kù)原理與應(yīng)用[M].徐州:中國(guó)礦業(yè)大學(xué)出版社,2004.
[2]姜晶.醫(yī)藥企業(yè)營(yíng)銷(xiāo)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].蘇州大學(xué)碩士論文,2005.
[3]秦緒偉.CIMS環(huán)境下的集成化庫(kù)存管理系統(tǒng)的研究與開(kāi)發(fā)[D].東北大學(xué)碩士學(xué)位論文,2002.