销售管理系统数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
某制造企业销售管理系统数据库设计
一、需求分析
(一)业务流程:
1、销售部统计商品信息,向客户发布商品信息。
2、客户根据销售部发布的商品信息,向销售部发送订单。
3、销售部将订单发送给主管部门审核。
4、主管部门对订单进行核对:
(1)如果不批准订单,主管部门向客户发布不批准的信息;
(2)如果批准,主管部门向客户发布批准的信息;销售部获取批准的订单,核对客户信息,登记新客户的基本资料或修改原有客户的基本资料,同时及时发布商品修改后的信息;生产部门接受订单,生产客户所需的商品,生产完成后,将发货单与商品一同发出。
5、客户确认发货单。
(二)数据流程图
销售管理系统第一层数据流程图
第二层数据流程图:
客户信息员工信息
P1 基本信息
P2订单处理
(三)数据字典
1、订单号数据项可以描述如下 :
数据项 : 订单号
含义说明 : 唯一标识每张订单
别名 : 订单编号
类型 : 字符型
长度 : 4
取值范围 : 0000至 9999
取值含义 : 前 2 位标别所在地区,后 2 位按顺序编号
与其他数据项的逻辑关系 :唯一识别订单
2、商品信息是该系统中的一个重要数据结构,它可以描述如下 :
数据结构 : 商品信息
含义说明 : 是销售管理系统的重要数据结构,定义了销售商品的具体信息
组成 : 产品号,产品名,单价,重量
3、数据流“订单数据 " 可描述如下 :
数据流 : 订单数据
说明 : 客户选购商品所下的初始订单
数据流来源 : 客户
数据流去向 : 接受订单
组成 : 客户基本信息+商品编号+数量等
平均流量 : 5张/天
高峰期流量 : 100张/天
4、数据存储“订单 " 可描述如下 :
数据存储 : 订单表
说明 : 记录每张订单的具体情况
流入数据流 : 订单处理
流出数据流 : ……
组成 : 订单号,客户编号,产品,数量,单价等
数据量 : 每年2000张
存取方式 : 随机存取
5、处理过程“接收订单 "可描述如下 :
处理过程 : 接收订单
说明 : 核准客户所下订单
输入 : 订单数据,商品信息,主管审批
输出 : 核对订单至主管部门,是否确认信息给客户
处理 : 接收到客户订购产品的初始订单后,根据商品信息以及客户以往的信用情况,核准订单是否符合条件,然后将符合条件的订单送主管部门报批,如果同意,将结果反馈给客户,并将核准后订单送下一处理模块(订单处理)
依据以上E—R图,得出如下关系模式:
客户:{客户号,客户名,电话,地址,信贷状况}
商品:{商品号,商品名,单价,重量}
员工:{员工号,姓名,性别,年龄,电话,地址}
订单:{订单编号,客户名,订货数,订货日期,交货日期,客户号,员工号}
订单明细:{订单编号,明细号,订货数,金额,商品号}
客户信息
员工信息
商品信息
订单明细
订单
四、物理结构设计
为了提高系统性能,我们将数据的易变部分与稳定部分、经常存取部
分与存取频率较低部分分开存放;而现有的关系型DBMS中都提供了聚簇功能,往往在高频度访问字段上设计聚簇索引,例如:在员工数据表的姓名字段上建立一聚簇索引:
CREATE CLUSTERED INDEX idx_xm ON 员工数据表(姓名);
在商品信息表的商品名字段上建立一聚簇索引:
CREATE CLUSTERED INDEX idx_xm ON 商品信息表(商品名)等等。
五、数据实施和维护
1.创建表
创建客户信息用户表
Create table 客户信息
(客户号 varchar(10) primary key,
客户名 varchar(30) not null,
电话 varchar(20) not null,
地址 varchar(100) not null,
信贷状况 varchar(200) not null)
创建员工信息用户表
Create table 员工信息
(员工号 varchar(10) primary key,
姓名 varchar(20) not null,
性别 char(2) check(ssex in ('男','女')) default '男',
年龄 Smallint check(sage>18 and sage<60),
电话 varchar(20) not null,
地址 varchar(100) not null)
创建商品信息用户表
Create table 商品信息
(商品号varchar(10) primary key,
商品名 varchar(20) not null,
单价 Money not null,
重量 int not null)
创建订单用户表
Create table 订单
(订单编号 varchar(10) primary key,
客户号 varchar(10) foreign key references 客户信息(客户号),订货数量 int not null,
订货日期 smalldatetime not null,
交货日期 smalldatetime not null)
创建订单明细用户表
Create table 订单明细
(订单编号 varchar(10) foreign key references 订单(订单编号),明细号 char(2) check(ssex in ('0','1')) default '0',
订货数量 int not null,
金额 Money not null)
2.创建视图
Create view 客户下订单信息视图
As select 客户号,客户名,订单编号,借阅时间,应还时间
From 客户信息,订单
Where 客户号=‘2010010203’;
3.建立索引
在主键属性和外键属性列上都建立索引,检查唯一性和完整性,加快连接查询速度。
Create unique index IX_客户号 on 客户信息(客户号);
Create unique index IX_员工号on 员工信息(员工号);