时间:2022-09-03 09:00:37
【摘要】本文主要根据某医药企业营销系统的需求分析,总结系统内实体及联系,结合需求分析与概念结构设计,运用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.