数据库设计举例商品配送中心.docx
- 文档编号:8683198
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:144.76KB
数据库设计举例商品配送中心.docx
《数据库设计举例商品配送中心.docx》由会员分享,可在线阅读,更多相关《数据库设计举例商品配送中心.docx(17页珍藏版)》请在冰豆网上搜索。
数据库设计举例商品配送中心
数据库设计举例
学习了数据库设计的理论之后,要能够在实际中进行应用。
下面介绍一个简化的商品配送中心信息管理系统的数据库设计过程。
一、需求分析
以往商品配送中心的数据管理全部是手工操作,存在的比较突出的问题是:
数据不一致、查询和统计不方便。
为此,决定用计算机来处理数据。
于是到有关部门进行需求调查。
1.企业的组织结构
一个商品配送中心大体都由如下几个部门组成:
·采购部负责与供应商谈判,议价购买商品,并负责与供应商联系退货;
·销售部管理商品及顾客退货;
·库存部进货管理,退货管理,对库存商品的盘点与保质;
·人事部人员招聘,考核,出勤管理。
2.业务情况
商品配送中心主要为商品管理和配送服务,系统处理的数据也集中在商品的进存销流程中,所以这里以商品流为主线,分析进存销过程中相关部门的业务活动。
其中包括采购部、销售部、库存部和人事部采购部、库存部、销售部3个部门负责商品的进、存、销的主要工作,人事部负责整个中心的人员安排和管理,以促进和监督商品销售。
(1)采购部:
主要负责商品采购和退货
采购时,收到库存部发出的“仓库缺货统计报表”,确定需采购的商品种类和数量;查询供货商档案,确定采购对象;进行市场调查,确定要采购商品的参考价格;与供应商谈判,议定商品单位价格,签订采购合同并记人采购历史记录。
货到时,通知库存部验货、收货。
退货时,收到库存部发出的退货通知,查询采购合同历史记录,找到相应购货合同;查询供货商档案,找到联系方式,与供应商联系,商定退货事宜,签订退货合同,记人退货历史记录;通知库存部退货出库。
(2)销售部:
主要负责货架商品管理和客户退货管理
根据客户所购商品,查询相应商品单价及折扣表,打印售货清单,进行交易结算,并记入销售记录;根据售货记录,更新货架商品记录;盘点货架商品,对低于最低限量的商品,向库存部发出商品上架通知;对商品销售情况进行定期统计,调整商品结构;统讨一个人销售业绩,作为人事管理部门管理资料。
客户退货时,查阅相应销售记录,检查退货,填写客户退货记录,通知库存部收货入库。
(3)库存部:
主要负责货品入库、出库和库存管理
入库包括进货入库和退货入库。
收到采购部的验货通知后,检验采购货品,检验合格后,进行进货入库登记,分配仓库,收货入库,修改“仓库缺货统计单”,通知销售部提货。
收到销售部退货入库通知后,进行退货入库登记,分配仓库,收货入库;通知采购部退货。
出库包括退货出库和提货上架出库。
收到销售部提货上架通知后,检查库存,如果库存足量,进行上架出库登记,货品出库;如果库存不足,填写“仓库缺货统计单”,通知采购部门进货。
收到采购部退货出库通知后,进行退货出库登记,退货出库。
对库存商品定期清查盘点,如发现保质期等问题,或通知采购部退货,或生成商品折扣表,通知销售部降价处理。
(4)人事部:
负责人员招聘和考核
根据人员需求,进行人员招聘,接到应聘人员资料后,安排面试时间,填写面试人员记录;为面试合格的招聘人员安排实习岗位,记入员工档案;安排员工作息时间,对员工出勤情况进行记录考核,登记员工奖惩记录,作为员工工资依据。
3.用户要求
(1)采购部
①信息要求,即需要存储和处理的数据主要有:
·供应商信息包括供应商的单位信息和经营信息;
·供应商的单位信息包括单位名称、详细地址、联系人等;
·供应商的经营信息供应商经营的商品名称、单位价格等;
·采购合同信息包括每一次采购的采购员、供货商名称、采购时间、采购商品、商品数量、单位价格、总进价等信息;
·退货合同信息包括每一次退货的采购员、供货商名称、退货时间、退货商品、退货数量、单位价格、总退款等信息;
·商品参考价格信息包括不同类别、不同品牌商品的单价信息。
②处理要求。
·对供应商信息进行管理,包括对供应商进行分类与编号;
·建立供应商档案;
·统计分析供应商品的销售状况;
·对供应商进行评价;
·按供应商品种类、供应商名称等对供应商档案进行查询;
·建立采购合同记录,每签订新的采购合同便添加一条新的记录;
·按供应商名称、采购商品名称及采购时间等对采购合同进行查询;
·建立退货合同记录,每签订新的退货合同便添加一条新的记录,按供应商名称、退货商品名称及退货时间等对退货合同进行查询;
·对每位供应商的进货和退货情况进行统计;
·建立商品参考价格表,由采购员通过市场调查,进行添加、删除和更新;
·支持按名称对商品的单价进行查询。
③安全性与完整性要求。
对不同的用户赋予不同的权限,每个用户只能对有限的数据进行有限的操作。
如,限制对采购合同的查询,只有被赋予此项权限的用户才能访问采购记录。
系统应满足实体完整性、参照完整性和用户定义的完整性。
如,采购和退货合同中的供应商应在供应商记录中,且供应商的联系方式不为空。
(2)销售部
①信息要求。
·商品信息包括商品的编号、类别、品名、品牌、单位、规格、进价、售价等信息;
·折扣信息包括折扣商品编号、折扣率等;
·货架商品信息包括货架号、商品号、现存商品量、最低商品限量等;
·单宗交易信息包括收银员、收银时间、收银点、品名、单位、单价、数量、金额、合计、折让、实收、找零等信息;
·顾客退货信息包括退货时间、退货品名、退款金额等。
②处理要求。
·对商品进行分类及编码维护,建立商品记录表;
·按编号、品名查询单价等商品信息;
·建立货架商品记录,按商品编号查循所在货架位置;
·统计商品货架存量,生成货架缺货统计报表;
·建立销售记录,记录单宗交易信息;
·根据销售一记录查询前台销售情况,统计营业收银情况及商品销售情况,并进行商
品销售分析、时间段营业分析、时间段营业额组成分析、时间段利润比较分析等一系列处理
③安全性与完整性要求。
对不同的用户赋予不同的权限,每个用户只能对有限的数据进行有限的操作。
如,限制对销售记录的杳询,只有被授予权限的人才能访问。
系统应满足实体完整性、参照完整性和用户定义的完整性。
如,商品记录中,商品编码不空;折扣记录中,商品编码应该是商品记录中已有的编码。
(3)库存部
①信息要求。
·进货人库信息包括商品编号、规格型号、单位、数量、供货单位、入库批次、入库日期、入库仓库号等信息;
·退货入库信息包括商品编号、规格型号、单位、数量、入库日期、入库仓库号等信息;
·提货出库信息包括出库仓库号、提货柜组、提货日期、发货人、提货人、商品编号、规格、单位、数量等;
·退货出库信息包括供货单位、出库仓库号、商品编号、退货数量、入库单号、退货日期、操作人等;
·仓库信息包括仓库号、仓库面积、管理员等;
·库存商品信息包括商品号、仓库号、库存量、最低库存量、保质期、还有多少天到保质期等;
②处理要求。
·建立进货入库记录,每次进货入库,填写进货入库单,更新库存纪录;根据进货入库记录,生成“进货统计报表”;通过入库仓库号、商品类别、商品编号查询进货入库信息。
·建立退货入库记录,每次顾客退货入库,填写退货入库单,更新库存记录;根据退货入库记录,生成“顾客退货统计报表”;通过仓库编号、商品类别、商品编号查询退货入库信息。
·建立商品上架出库记录,向销售部发货之前,填写上架出库单,更新库存记录;根据上架出库记录,生成“商品上架出库统计”;查询某段时间内,某柜组的上架商品量。
·建立退货出库记录,每次向供应商退货出库前,填写退货出库单,更新库存记录;根据退货出库记录,进行退货出库统计;查询某段时间内,某个供应商的退货情况。
·建立库存商品记录,查询商品库存量,统计不足最低库存量的商品,生成“仓库缺货统计报表”;统计接近保质期的商品,生成“库存保质预警统计报表”。
③安全性和完整性要求。
对不同的用户赋予不同的权限,每个用户只能对有限的数据进行有限的操作。
如,限制对库存记录的访问,只有被授予权限的人员才能访问。
系统应满足实体完整性、参照完整性和用户定义的完整性。
如,进库记录中,仓库号应该是仓库记录中已有的编号。
同一商品的进库、出库记录中的仓库号应该相同。
(4)人事部
①信息要求。
·职工信息包括职工的姓名、年龄、学历等个人信息及职工的职称、岗位、工作简历等工作信息;
·招聘者信息在招聘者未经录用成为实习生之前,保存招聘者个人信息;
·排班信息包括职工号、上班时间、下班时间和具体工作安排;
·职工出勤信息包括职工号、日期、出勤情况;
·职工奖惩信息包括奖惩原因、奖惩日期、奖惩结果。
②处理要求。
·建立职工记录,查询具体职工的个人信息,或查询某部门的人力情况,统计各部门人员需求,生成招聘需求信息;
·建立招聘者记录,查询某个面试者信息,记录各部门审批意见;
·建立工作安排表,查询某职工排班情况;
·建立职工出勤记录,每日登记每个职工的出勤情况,查询某职工某段时间内的出勤情况,生成职工出勤统计表,作为发放奖金的依据;
·建立职工奖惩记录,登记对每个职工的奖惩情况;统计每个职工在一段时间内的奖惩情况。
③安全性和完整性要求。
对不同的用户赋予不同的权限,每个用户只能对有限的数据进行有限的操作。
如,限制对招聘者记录的访问,只有被授予权限的人员才能访问。
系统应满足实体完整性、参照完整性和用户定义的完整性。
如,职工编号惟一且不空;职工出勤记录、职工奖惩记录中的职工号应该是职工记录中已有的编号。
4.系统的边界
基础数据的录人和更新由操作员联机完成,如,职工个人资料、商品名称等;由计算机应用系统完成的功能有:
实体的编码维护,如商品编码、职工编号、仓库编号等;一些由基础数据导出的数据的插入和更新,如商品还有多少天到保质期,商品的总进价是多少等;对数据的查询,如按编号对职工信息进行查询;根据数据记录生成统计报表,如根据商品库存量生成“仓库缺货统计报表”等。
5.分析用户需求
在调查完用户需求之后,就要开始分析用户需求。
在此,采用自顶向下的结构化分析方法将整个系统划分为4个子系统:
采购子系统、库存子系统、销售子系统、人事管理子系统。
以采购子系统为例,经过对用户需求的详细分析,明确该子系统的主要处理流程是:
对库存部门提供的需求信息、供应商信息和根据市场调研得来的商品信息进行分析,确定供应商;和供应商签订进货合同,生成进货合同记录和订单;供应商根据订单安排发货,生成发货清单;收到货物时按照发货清单和进货合同记录对收到的货物进行核对,无误后由质检员对其进行验收,合格的商品生成进货入库单,存入仓库;不合格的商品生成退货单。
根据退货单去查找进货合同记录,确定需退掉的商品是由哪个供应商供货的,与其签订退货合同,生成退货合同记录和退货清单。
根据处理流程,可以画出该子系统的数据流图,如图所示。
图1采购子系统数据流图
其他子系统的数据流图从略。
将所有用户需求分析完之后,就要开始构造数据字典了。
经分析,采购子系统要用到的数据结构如表4-l所示。
表1数据结构定义
数据结构编号
数据结构名
含义说明
组成
01
供应商信息
记录供应商信息
供应商编号、供应商名称、单位}f质、城市、详细地址、联系人
02
商品信息
记录商品信息
商品编号、商品名称、单价、生产口期
03
账目单
记录详细的账目信息
账目号、登账日期、合同类别、合同编号、金额、备注
04
进货合同记录
记录有关进货合同的信息
进货合同编号、签汀H娴、供应商编号、交货期限、备注
05
退货合同记录
记录有关退货合同的信息
退货合同编号、供应商编号、退货日期
06
进货入库单
记录有关商品入库的信息
入库单号、入库日期、供应商号、入库仓库号
07
退货出库单
记录有关商品退货的信息
退货单号、退货总数量
在确定了数据结构之后,就要对每个数据结构的数据项进行具体定义。
上述7个数据结构对应的数据项定义分别如表2—表8所示。
表201号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
01
供应商编号
表示供应商单位的惟一标志
gysbh
字符型
20
0001—9999
02
供应商名称
供应单位的全称
gysmc
字符型
30
任何汉字
03
单位性质
如国有、私营等
dwxz
字符型
10
任何汉字
04
城市
供应商单位所在城市
cs
字符型
30
任何汉字
05
详细地址
供应商单位所在城市的详细地址
xxdz
字符型
100
任何汉字
06
联系人
供应商单位的具体联系人
lxr
字符型
20
任何汉字
表302号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
01
商品编号
商品的惟一标志
spbf
字符型
20
扩母和数字
02
商品名称
商品的名称
spmc
字符型
20
任何汉字
03
单价
商品供应单价
dj
货币型
8
04
生产日期
商品生产的日期
scrq
日期型
8
表403号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
01
账目号
引用供应商单位记录中编号信息
zmh
字符型
20
辛母和数字
02
登账口期
表示登账的日期
dzrq
日期型
8
03
合同类别
表示进货或者退货
htlb
字符型
20
任何汉字
04
合同编号
引用相应的进货或者退货合同号
htbh
字符型
30
任何汉字
05
金额
该笔进货或退货产生的金额
1e
货币型
8
06
备注
备注信息
bz
字符型
30
任何汉字
表504号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
01
进货合同编号
进货合同的惟一标识
jhhtbh
字符t
20
字母和数字
02
签订日期
表示签订合同的日期
qdrq
日期型
8
03
供应商编号
引用供应商表中编号
gysbh
字符型
20
任何汉字
04
供应商编号
供给该货品的供应商编号
gysbh
字符型
20
任何汉字
05
交货期限
交货的日期
jhqx
日期型
8
06
备注
备注信息
bz
字符型
30
任何汉字
表605号数据结构的数据项定义
数据项编号
数据项名
含义说明
另ij名
数据类型
长度
取值范围
01
退货合同编号
退货合同的惟一标识
thhtbh
字符型
20
字母和数字
04
供应商编号
所退货品的供应商编号
gysbh
字符型
20
任何汉字
05
退货日期
退货的日期
thrq
日期型
8
表706号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
Ol
入库单号
人库单的惟一标识
rkdh
字符型
20
0001~9999
02
入库日期
表示人库的日期
rkrq
日期型
8
03
供应商编号
相应的供应商的编号
gysbh
字符型
20
0001~9999
04
入库仓库号
存放人库商品的仓库号
rkckh
字符型
20
0001~9999
表807号数据结构的数据项定义
数据项编号
数据项名
含义说明
别名
数据类型
长度
取值范围
01
退货单号
退货单的惟一标识
thdh
字符型
20
0001~9999
03
退货总数量
退货商品的总数量
thsl
整型
32
二、概念结构设计
通过对用户需求进行综合、归纳和抽象,形成一个独立于数据库逻辑结构、独立于具体的DBMS的概念模型。
它是各种数据模型的基础。
下面用描述概念结构的工具E-R图来进行概念结构的设计。
仍以采购子系统为例进行局部设计。
由于该子系统涉及的数据都已经收集到数据字典中了,现在就是要将这些数据从数据字典中抽取出来,参照数据流图,设计该局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型。
参照图1的数据流图以及数据字典的说明,可以得到采购子系统的分E-R图(如图2所示)。
数据流图中的“库存部门”和“质检员”不属于采购子系统,即在采购子系统的系统边界之外,所以没有在图2中列出。
对每个实体定义的属性如下:
供应商:
{供应商编号、供应商名称、单位性质、城市、详细地址、联系人}
商品:
{商品编号、商品名、价格、生产日期}
账目单:
{账目单号、登账日期、合同类别、相应合同编号、金额、备注}
进货合同:
{进货合同编号、签订日期、供应商编号、交货期限、备注}
图2采购子系统的分ER图
退货合同:
{退货合同编号、供应商编号、退货日期}
进货人库单:
{入库单号、入库日期、供应商号、入库仓库号}
退货单:
{退货单号、退货总数量}
注意:
实体的码用下横线画出。
为了节省篇幅,实体与属性的关系没有用图形表示。
三、总体概念设计
各个子系统的分E-R图完成之后,就要将其合成为一个全局的概念设计。
遵循总体概念设计的原则,商品配送中心信息管理系统的总体概念结构E-R图如图3所示。
其中虚线方框①内是采购子系统的分E-R图,虚线方框②内是销售子系统的分E-R图,虚线方框③内是库存子系统的分E-R图,虚线方框④内是人事管理子系统的分E-R图。
四、逻辑结构设计
逻辑结构设计分两步进行。
1.按照E-R图向数据模型转换的原则,将概念结构转换成DBMS所支持的数据模型这里根据E-R图向关系数据模型转换的规则,将图3的虚线框①内采购子系统的分E-R图中的实体及其联系转换成一组关系模式。
关系模式的码用下横线标出。
(1)实体“供应商”对应的关系模式
供应商(供应商编号,供应商名称,单位性质,城市,详细地址,联系人)
根据转换规则,将实体“供应商”直接转换成一个独立的关系模式。
(2)实体“商品”对应的关系模式
商品(商品编号,商品名,参考价格,生产日期)
根据转换规则,将实体“商品”直接转换成一个独立的关系模式。
图3总体概念结构图的ER图
(3)联系“供应”对应的关系模式
供应(供应商编号,商品编号,价格)
由于联系“供应”是一个m:
n联系,故根据转换规则,将其转换成一个独立的关系模式,与该联系相连的两个实体的码“供应商编号”和“商品编号”组成该关系模式的码。
(4)实体“进货合同”对应的关系模式
进货合同(进货合同编号,签订日期,供应商编号,交货期限,备注)
该关系模式中已包含了联系“签订”所对应的关系模式。
联系“签订”是一个1:
n联系,根据转换规则,既可以将其转换为一个独立的关系模式,也可以与n端实体(这里是进货合同实体)对应的关系模式合并。
这里采用将其合并到进货合同实体的方法。
也可以将其转换成如下的独立的一个关系模式:
签订(进货合同编号,供应商编号)
(5)实体“退货合同”对应的关系模式
退货合同(退货合同编号,供应商编号,退货日期)
该关系模式中已包含了联系“履行”所对应的关系模式。
(6)联系“进货”对应的关系模式
进货(进货合同编号,商品编号,进价,进货数量,进价金额)
(7)联系“退货”对应的关系模式
退货(退货合同编号、商品编号、退货单号,退价,退货数量,退货金额)
由于联系“退货”是一个三元联系,故根据转换规则,将其转换成一个独立的关系模式,与该联系相连的3个实体的码“进货合同编号”、“商品编号”和“退货单号”组成该关系模式的码。
(8)实体“账目单”对应的关系模式
账目单(账目单号,登账日期,合同类别,相应合同编号,金额,备注)根据转换规则,将实体“账目单”直接转换成一个独立的关系模式。
(9)实体“进货入库单”对应的关系模式
进货入库单(入库单号、入库日期、供应商号、入库仓库号)
根据转换规则,将实体“进货入库单”直接转换成一个独立的关系模式。
(l0)实体“退货单”对应的关系模式
退货单(退货单号、退货总数量)
根据转换规则,将实体“退货单”直接转换成一个独立的关系模式。
(ll)联系“进货人库”对应的关系模式
进货人库(入库单号、商品编号、数量、保质期)
由于该关系模式的码和关系模式“进货人库单”相同,故根据转换规则,可以将这两个关系模式合并。
2.对数据模型进行优化
根据关系模型规范原理,所有的关系模式都要符合第三范式。
本实例中的关系模式已经符合第三范式。
五、物理结构设计
数据库的逻辑结构设计完后,接下来需要做的就是结合指定的DBMS进行物理结构设计进行物理设计,设计者必须具有3个方面的知识:
了解所用的DBMS的功能;了解机器硬件特别是外存储器的设备特性;熟悉应用环境和用户需求。
1.确定数据库的存储结构
为了提高系统性能,先根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低的部分分开在两个磁盘上存放,并且考虑将日志文件单独存放于一个磁盘。
同时,考虑到本系统是多用户的,为了提高效率,可以考虑将最大的表——商品表分开存放在多个磁盘上。
至于备份的数据和日志文件将保存在磁带中。
一般来说,关系到用户和商品的表需要经常修改和存取,而关系到职工资料的表相对比较稳定。
本例中,经常存取部分和数据的易变部分如:
商品表、折扣表、销售记录表、顾客退货记录表、销售统计报表等。
而存取频率较低的部分和稳定部分如职工记录表等。
2.确定数据的存取方法
由于商品配送中心信息管理系统是多用户共享的系统,对同一个关系要建立多条存取路径,才能满足多用户的多种应用要求。
在数据库设计中,可供选用的索引方法主要有3种:
B﹢树索引、聚簇索引、HASH索引。
其中,B﹢树索引方法发展较为完善,也是目前大型数据库使用的经典存取方法,使用最为普遍,并且符合本系统的要求,因此,这里选用B﹢树索引方法作为系统的存取方法。
所谓选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引,哪些属性列建立组合索引,哪些索引要设计为惟一索引等。
根据本信息系统的具体情况,索引的具体建立情况如下:
·对以下经常进行连接操作的属性列建立索引:
商品编号,职工编号,部门编号,供应商编号
·对以下经常作为最大值和最小值等聚集函数的参数的属性列建立索引:
折扣表的折扣率属性,销售记录表的总金额属性,销售统计报表的利润属性.对以下经常在查询中出现的属性列建立索引:
因考虑到系统为了维护和查找索引所要付出的代价,而且前两个部分中的属性列已经基本包含经常在查询中出现的属性列,因此在这里不再列出更多的属性列。
3.物理结构的评价
这部分工作需要在数据库建立以后再进行。
在现在的实际情况下只能对物理结构的设计提出最基本的部分。
六、数据库实施、运行和维护
完成数据库的物理设计之后,设计人员就要用DBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。
然后就可以组织数据入库,从而建立起真正的数据库。
同时,在数据库的基础上开发出各种应用程序,建立完善、规范的管理制度,使数据库系统进入正常运行状况。
随着系统运行环境的变化,数据库也要进行动态的维护和扩充。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 举例 商品 配送 中心