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