编写:姜辰 审核: 批准: 受控状态: 发布版次:1.0 编号:
日期:2009-8-22 日期: 日期: 是
日期:2009-8-22
物流管理系统数据库计说明书
物流管理系统数据库设计说明书 内部文档
变更记录
日期 2009/08/22 版本 V1.0 变更说明 初始文档 签字确认
职务 姓名 签字
IT_MOB项目组 第 2 页 共 26 页
作者 姜辰 日期 物流管理系统数据库设计说明书 内部文档
目 录
1
引言 .................................................................................................................................................................. 4 1.1 1.2 1.3 2
预期的读者 .............................................................................................................................................. 4 数据库说明 .............................................................................................................................................. 4 目的和作用 .............................................................................................................................................. 4
数据库设计 ...................................................................................................................................................... 4 2.1
抽象数据对象 .......................................................................................................................................... 4 2.1.1 系统主要业务分析 .......................................................................................................................... 4 2.1.2 需求分析参考 .................................................................................................................................. 4 2.2 系统物理结构设计 .................................................................................................................................. 5 2.3 数据库逻辑设计 ...................................................................................................................................... 5 2.3.1 数据库设计命名规范 ...................................................................................................................... 5 2.3.2 数据库表名汇总 .............................................................................................................................. 6 2.3.3 数据库表结构设计 .......................................................................................................................... 7 2.4 存储过程设计 ........................................................................................................ 错误!未定义书签。 2.5 触发器设计 ............................................................................................................ 错误!未定义书签。 2.6 JOB设计 .................................................................................................................. 错误!未定义书签。
3 数据字典设计 ................................................................................................................ 错误!未定义书签。
IT_MOB项目组 第 3 页 共 26 页
物流管理系统数据库设计说明书 内部文档
1 1.1
引言 预期的读者
主要为本公司以几份承包方的阅读者,如设计人员、开发人员等。有时可以包括客户方
的阅读者,如:业务人员、系统管理人员等。 1.2
数据库说明
物流管理系统采用的时当前流行的企业级数据库oracle,使用的版本是9i。设计的数据库全局数据库名为ITMOB,开发用的表空间名是pdms(physical distribution manageSystem),操作的用户名为itmob,密码为itmob。 1.3
目的和作用
将业务分析,系统设计中对信息的描述进一步分析并加以总计,抽象出数据集合(数据库表)。对数据集合做进一步分析,确定集合之间的关系并最终形成数据库物理模型,以便开发人员建立物理数据库。 2 2.1
数据库设计 抽象数据对象
2.1.1 系统主要业务分析
根据物流系统的业务流程描述,我们大致可以从中抽象出几个数据集合,如:各级使用者(用户),公司网点(配送点),网点间的通路(路线),订单信息等等。
按照业务及系统功能简单总结数据对象: 用户 配送点 路线 订单 2.1.2 需求分析参考
根据系统需求分析内容进一步确定数据对象。由于系统需求分析中考虑到路线信息并不
IT_MOB项目组 第 4 页 共 26 页
物流管理系统数据库设计说明书 内部文档
能准确将订单锁定在路线上,因此引入一个新的数据对象——班次,该对象能够描述一个正在路线上运动的实体,而该实体可以携带大量订单。在实体的运输过程中,由于有许多的订单执行相同的过程,因此将其抽象成一个集合——交接单,交接单是一个同时同地加载到实体而又将同时同地离开实体的一系列订单的集合。
总结数据对象: 用户信息 配送点信息 路线信息 交接单信息 班次信息 订单信息 2.2
数据库结构设计
根据系统的分布式部署设计,数据库将部署到一部独立的计算机中。根据前期的分析,系统将有大量的数据存放入数据库。预留数据库空间400m,日增长约3m,日志空间1G,日增长5m。
数据库位置:*oracle9ipath*/n2ms/db/ 日志位置:*oracle9ipath*/n2ms/log/
2.3 数据库设计命名规范
1,表名命名规则
本数据库使用的表名一律采用有意义的小写英文字符命名,考虑将来编码方便,表名不 使用‘-’连接相关 2,表项命名规则
命名,字段名不适用‘-’连接相关字符,方便编码书写。
本数据库各个表的每个字段,依照表名命名规则,全部使用有意义的小写英文字符
2.4 数据库逻辑设计
表设计中应注意的问题:
IT_MOB项目组 第 5 页 共 26 页
物流管理系统数据库设计说明书 内部文档
1.对于字符类型的字段,要仔细确认字段的可能长度。在oracle数据库设计中,一般来说,对于定长的字符数据字段,取字符类型(char),对于不定长的,取变长字符类型(varchar)。
2.对于以分类形式出现的字段,建议不使用字符类型,而使用数字类型。如:货物是否配送为是或(和)否;如果用字符类型,则将这些字符串需要入库;如果使用数字类型分别用1、0代表高职、中职、低职,则入库的是数字信息,从程序编写的角度考虑,后者更好维护一些,主要体现在如果是多语言版本时,我们不需要在程序中将这些字符串信息进行判断处理。
2.4.1 数据库表名汇总
表2-1 数据库表
数据库表名 automobile baseroad carsize charge city class classtime custom excorder goodstype join orderbyjoin ordertype permiss point power profits
中文名 车辆 基本路线 车辆类型 收费标准 城市列表 班次 班次时刻表
顾客 异常订单 物品类型 交接单 订单绑定 订单类型 职责分配 配送点 权限 实际利润
文字说明 保存公司车辆的基本信息 保存基本路线的相关信息 保存车辆载型的基本信息 保存收费标准的设置信息 保存省市县区的关联信息 保存班次的相关信息 保存班次时刻信息 保存网上顾客的基本信息 保存异常订单的基本信息 保存物品类型的基本信息 保存交接单的基本信息 保存订单绑定的相关信息 保存订单类型的基本信息 保存职责分配的基本信息 保存配送点的基本信息 保存权限的基本信息 保存实际利润的基本信息
IT_MOB项目组 第 6 页 共 26 页
物流管理系统数据库设计说明书 内部文档
profitsset
road roadwaybypoint
role staff torder transfee transfer tuser
利润分配 路线 途经 角色 员工 订单 运费计算方案 中转信息 用户
保存利润分配的相关信息 保存路线的基本信息 保存途径路线的相关信息 保存角色的基本信息 保存员工的基信息 保存订单的基本信息 保存运费计算的参数信息 保存中转信息的相关内容 保存用户的基本信息
2.4.2 数据库表结构设计
2.4.2.1 逻辑表结构
automobile 表2-2 automobile表项
中文 车辆ID 类型ID 车辆载重 车辆载体 车辆牌号 主驾驶 副驾驶
英文 autombileid carsizeid cartweight carvol carnum driver1 driver2
数据类型 NUMBER NUMBER VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(20) VARCHAR2(20)
可否空 否 否 否 否 否 可 可
初始值
说明 主键,流水自增
baseroad
表2-3 baseroad表项
中文 基本路线ID 开始配送点ID
英文 baseid sendpointid
数据类型 NUMBER NUMBER
可否空 初始值 否 可
说明 主键,流水自增
IT_MOB项目组 第 7 页 共 26 页
物流管理系统数据库设计说明书 内部文档
结束配送点ID 路线名称 权值 距离
recvpointid basename basevalue lenght
NUMBER VARCHAR2(30)
FLOAT FLOAT
可 否 否 否
carsize
表2-5 carsize表项
中文 类型ID 类型名
英文 carsizeid carsizename
数据类型 NUMBER VARCHAR2(10)
可否空 否 否
初始值
说明 主键,流水自增
charge
表2-6 charge表项
中文 收费标准ID 城区ID 首重量单价 首体积单价 次重量单价 次体积单价 启用时间 终止时间 状态 备注
英文 chargeid cityid firstweight firstvol secondweight secondvol starttime endtime chargestate chargeremarks
数据类型 NUMBER NUMBER FLOAT FLOAT FLOAT FLOAT DATE DATE VARCHAR2(10) VARCHAR2(300)
可否空 否 可 否 否 否 否 否 否 否 否
初始值
说明 主键,流水自增
city
表2-7 city表项
中文 城市编号 省份 城市
英文 cityid province city
数据类型 NUMBER VARCHAR2(40) VARCHAR2(40)
可否空 否 否 否
初始值
说明 主键
IT_MOB项目组 第 8 页 共 26 页
物流管理系统数据库设计说明书 内部文档
县区 district VARCHAR2(40) 否
class
表2-8 class表项
中文 班次ID 线路ID 发车时间 抵达时间 状态 备注
英文 classid roadid classstarttime classendtime classstate classremarks
数据类型 NUMBER NUMBER DATE DATE VARCHAR2(10) VARCHAR2(300)
可否空 否 否 否 否 否 否
初始值
说明 主键,流水自增
classtime
表2-9 classtime表项
中文 时刻表ID 线路ID 途经ID 到达时间 发车时间
英文 classtimeid classid waypassid cometime gotime
数据类型 NUMBER NUMBER NUMBER DATE DATE
可否空 否 否 否 否 否
初始值
说明 主键,流水自增
custom
表2-10 custom表项
中文 顾客ID 顾客名称 顾客密码 顾客邮箱
英文 customid customname custompsw custommail
数据类型 NUMBER VARCHAR2(30) VARCHAR2(30) VARCHAR2(40)
可否空 否 否 否 否
初始值
说明 主键,流水自增
excorder
表2-11 excorder表项
IT_MOB项目组 第 9 页 共 26 页
物流管理系统数据库设计说明书 内部文档
中文 异常订单ID 交接单ID 订单编号 汇报时间 发生事故 补偿方案 顾客反馈 状态
英文 excid joinid orderid exctime accident resolve position excstate
数据类型 NUMBER NUMBER NUMBER DATE VARCHAR2(300) VARCHAR2(300) VARCHAR2(300) VARCHAR2(10)
可否空 否 否 否 否 否 否 否 否
初始值
说明 主键,流水自增
goodstype
表2-12 goodstype表项
中文 类型编号 类型名称
英文 goodstypeid goodstypename
数据类型 NUMBER VARCHAR2(10)
可否空 否 否
初始值
说明 主键,流水自增
join
表2-13 join表项
中文 交接单ID 发货配送点ID 收货配送点ID 班次ID 体积 重量 出发时间 预期时间 实际抵达时间
英文 joinid sendpointid recvpointid classid joinvol joinweight joinsendtime joinexptime joinrecvtime
数据类型 NUMBER NUMBER NUMBER NUMBER FLOAT(20) FLOAT(20) DATE DATE DATE
可否空 否 可 可 可 否 否 否 否 否
初始值
说明 主键,流水自增
orderbyjoin
IT_MOB项目组 第 10 页 共 26 页
物流管理系统数据库设计说明书 内部文档
表2-14 orderbyjoin表项
中文 绑定ID 订单编号 交接单编号
英文 orderbyjoinid orderid joinid
数据类型 NUMBER NUMBER NUMBER
可否空 否 否 否
初始值
说明 主键,流水自增
ordertype
表2-15 ordertype表项
中文 订单类型ID 订单编号 类型编号
英文 ordertypeid orderid goodssizeid
数据类型 NUMBER NUMBER NUMBER
可否空 否 否 否
初始值
说明 主键,流水自增
permiss
表2-16 permiss表项
中文 职责ID 角色ID 权限ID
英文 permissid roleid powerid
数据类型 NUMBER NUMBER NUMBER
可否空 否 否 否
初始值
说明 主键,流水自增
point
表2-17 point表项
中文 配送点ID 城市编号 配送点姓名 配送点地址 联系电话
英文
pointid cityid
pointname pointaddr pointphone
数据类型 NUMBER NUMBER VARCHAR2(20) VARCHAR2(100) VARCHAR2(20)
可否空 否 可 否 否 否
初始值
说明 主键,流水自增
power
表2-18 power表项
IT_MOB项目组 第 11 页 共 26 页
物流管理系统数据库设计说明书 内部文档
中文 权限ID 权限名称
英文 powerid
powername
数据类型 NUMBER VARCHAR2(40)
可否空 否 否
初始值
说明 主键,流水自增
profits
表2-19 profits表项
中文 实际利润ID 订单ID 全部利润 发货配送点利润 总公司利润 收货配送点利润 到账时间 备注
英文
profitsid orderid allprofits sendprofits companyprofits recvprofits gettime
数据类型 NUMBER NUMBER FLOAT FLOAT FLOAT FLOAT DATE
可否空 否 否 否 否 否 否 否 否
初始值
说明 主键,流水自增
profitsremarks VARCHAR2(100)
profitsset
表2-20 profitsset表项
中文 项目名称 发货配送点 收货配送点 总公司
英文
profitsname sendpoint recvpoint company
数据类型 VARCHAR2(10)
NUMBER NUMBER NUMBER
可否空 否 否 否 否
初始值
说明 主键
road
表2-21 road表项
中文 线路ID 起始配送点ID 终止配送点ID
英文
roadid startpointid endpointid
数据类型 NUMBER NUMBER NUMBER
可否空 否 否 否
初始值
说明 主键,流水自增
IT_MOB项目组 第 12 页 共 26 页
物流管理系统数据库设计说明书 内部文档
线路名 距离 权值
roadname raodlength raodvalue
VARCHAR2(10)
FLOAT FLOAT
否 否 否
roadwaybypoint
表2-22 roadwaybypoin表项
中文 途经ID 线路ID 路过配送点 顺序
英文
waypassid roadid passpointid sequence
数据类型 NUMBER NUMBER NUMBER NUMBER
可否空 否 否 否 否
初始值
说明 主键,流水自增
role
表2-23 role表项
中文 角色ID 角色名称
英文 roleid
rolename
数据类型 NUMBER VARCHAR2(40)
可否空 否 否
初始值
说明 主键,流水自增
staff
表2-24 staff表项
中文 员工ID 员工姓名 员工职务 联系方法
英文
staffid staffname staffpost staffphone
数据类型 NUMBER VARCHAR2(20) VARCHAR2(20) VARCHAR2(20)
可否空 否 否 否 否
初始值
说明 主键,流水自增
torder
表2-25 torder表项
中文 订单ID 顾客ID
英文 orderid
customid
数据类型 NUMBER NUMBER
可否空 否 可
初始值
说明 主键,流水自增
IT_MOB项目组 第 13 页 共 26 页
物流管理系统数据库设计说明书 内部文档
起点城市 终止城市 起始配送点 终止配送点 发货配送 收货配送 startcityid endcityid startpointid endpointid senddelivery recvdelivery NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER
可 可 可 可 可 可
下单时间 预计时间 完成时间 保价费 物品质量 物品体积 物品描述 发件人姓名 发件人电话 发件人地址 收件人姓名 收件人电话 收件人地址 物品加急 加急费 物品计费 中转 投递员 状态 备注
transfee
IT_MOB项目组 sendtime exptime recvtime safe weight volume
describe sendname sendphone sendaddress recvname recvphone recvaddress
fast fastcost cost transfer mailing state remarks
DATE DATE DATE NUMBER(8,2) FLOAT(20) FLOAT(20)
VARCHAR2(300) VARCHAR2(20) VARCHAR2(30) VARCHAR2(100) VARCHAR2(20) VARCHAR2(30) VARCHAR2(100)
NUMBER NUMBER(8,2) NUMBER(8,2) NUMBER NUMBER VARCHAR2(10) VARCHAR2(300)
否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 可 否 可
第 14 页 共 26 页
物流管理系统数据库设计说明书 内部文档
表2-26 transfee表项
中文 中转ID 首重量 次重量 首体积 次体积
英文
transfeeid firstw secondw firstv secondv
数据类型 NUMBER FLOAT FLOAT FLOAT FLOAT
可否空 否 否 否 否 否
初始值
说明 主键,流水自增
transfer
表2-27 transfer表项
中文 中转ID 订单标号 配送点ID 顺序
英文
transferid orderid pointid sequence
数据类型 NUMBER NUMBER NUMBER NUMBER
可否空 否 可 可 否
初始值
说明 主键,流水自增
tuser
表2-28 tuser表项
中文 用户ID 配送点ID 角色编号 用户姓名 用户密码
英文 userid
pointid roleid username
数据类型 NUMBER NUMBER NUMBER VARCHAR2(40)
可否空 否 可 可 否 否
初始值
说明 主键,流水自增
password VARCHAR2(40)
IT_MOB项目组 第 15 页 共 26 页
物流管理系统数据库设计说明书 内部文档
2.4.2.2 数据库表逻辑ER图
图2-1逻辑ER图
图中“ ”表示多对一关系,三叉线表示对应的多方表,多对多应该为
“
”。一对一关系为
2.4.2.3 表之间的关联设计
在数据库ER逻辑模型的基础上确定ER物理模型,通过主外键的约束明确表之间的关系。该物理模型可直接映射到数据库中进行物理操作,以便据此建立数据库结构。
ER物理模型如下:
IT_MOB项目组 第 16 页 共 26 页
物流管理系统数据库设计说明书 内部文档
图2-2物理ER图
物理模型字段如下表:
Table 车辆 column 车辆ID 类型ID 车辆载重 车辆载体 Code autombileid carsizeid cartweight carvol description 主键索引 由车辆类型表引用的外间 IT_MOB项目组 第 17 页 共 26 页
物流管理系统数据库设计说明书 内部文档
车辆牌号 主驾驶 副驾驶 基本路线 基本路线ID 开始配送点ID 结束配送点ID 路线名称 权值 距离 车辆类型 类型ID 类型名 收费标准 收费标准ID 城区ID 首重量单价 首体积单价 次重量单价 次体积单价 启用时间 终止时间 状态 备注 城区列表 城市编号 省份 城市 县区 班次 班次ID carnum driver1 driver2 baseid sendpointid recvpointid basename basevalue lenght carsizeid carsizename chargeid cityid firstweight firstvol secondweight secondvol starttime endtime chargestate chargeremarks cityid province city district classid 主键索引 由配送点表引用的外键 由配送点表引用的外键 主键索引 主键索引 由城区表引用的外键 主键索引 主键索引 IT_MOB项目组 第 18 页 共 26 页
物流管理系统数据库设计说明书 内部文档
线路ID 发车时间 抵达时间 状态 备注 roadid classstarttime classendtime classstate classremarks classtimeid classid waypassid cometime gotime customid customname custompsw custommail excid joinid orderid exctime accident resolve position excstate goodstypeid goodstypename joinid sendpointid 由路线表引用的外键 主键索引 由班次表引用的外键 由途经表引用的外键 主键索引 主键索引 由交接单表引用的外键 由订单表引用的外键 主键索引 主键索引 由配送点表引用的外键 班次时刻 时刻ID 班次ID 途经ID 到达时间 出发时间 顾客 顾客ID 顾客名称 顾客密码 顾客邮箱 异常订单 异常订单ID 交接单ID 订单编号 汇报时间 发生事故 补偿方案 顾客反馈 状态 物品类型 类型编号 类型名称 交接单 交接单ID 发货配送点ID IT_MOB项目组 第 19 页 共 26 页
物流管理系统数据库设计说明书 内部文档
收货配送点ID 班次ID 体积 重量 出发时间 预期时间 实际抵达时间 订单绑定 绑定ID 订单编号 交接单编号 订单类型 订单类型ID 订单编号 类型编号 职责分配 职责ID 角色ID 权限ID 配送点 配送点ID 城市编号 配送点姓名 配送点地址 联系电话 权限 权限ID 权限名称 实际利润 实际利润ID 订单ID 全部利润 recvpointid classid joinvol joinweight joinsendtime joinexptime joinrecvtime orderbyjoinid orderid joinid ordertypeid orderid goodssizeid permissid roleid powerid pointid cityid pointname pointaddr pointphone powerid powername profitsid orderid allprofits 由配送点表引用的外键 由班次表引用的外键 主键索引 由订单表引用的外键 由交接单表引用的外键 主键索引 由订单表引用的外键 主键索引 由角色表引用的外键 由权限表引用的外键 主键索引 由城市列表表引用的外键 主键索引 主键索引 由订单表引用的外键 IT_MOB项目组 第 20 页 共 26 页
物流管理系统数据库设计说明书 内部文档
发货配送点利润 总公司利润 收货配送点利润 到账时间 备注 利润分配 项目名称 发货配送点 收货配送点 总公司 路线 线路ID 起始配送点ID 终止配送点ID 线路名 距离 权值 途经 途经ID 线路ID 路过配送点 顺序 角色 角色ID 角色名称 员工 员工ID 员工姓名 员工职务 联系方法 订单 订单ID sendprofits companyprofits recvprofits gettime profitsremarks profitsname sendpoint recvpoint company roadid startpointid endpointid roadname raodlength raodvalue waypassid roadid passpointid sequence roleid rolename staffid staffname staffpost staffphone orderid 主键索引 主键索引 由配送点表引用的外键 由配送点表引用的外键 主键索引 由路线表引用的外键 由配送点表引用的外键 主键索引 主键索引 主键索引 IT_MOB项目组 第 21 页 共 26 页
物流管理系统数据库设计说明书 内部文档
顾客ID 起点城市 终止城市 起始配送点 终止配送点 发货配送 收货配送 下单时间 预计时间 完成时间 保价费 物品质量 物品体积 物品描述 发件人姓名 发件人电话 发件人地址 收件人姓名 收件人电话 收件人地址 物品加急 加急费 物品计费 中转 投递员 状态 customid startcityid endcityid startpointid endpointid senddelivery recvdelivery sendtime exptime recvtime safe weight volume describe sendname sendphone sendaddress recvname recvphone recvaddress fast fastcost cost transfer mailing state 由顾客表引用的外键 由城市列表表引用的外键 由城市列表表引用的外键 由配送点表引用的外键 由配送点表引用的外键 由员工表引用的外键 IT_MOB项目组 第 22 页 共 26 页
物流管理系统数据库设计说明书 内部文档
备注 运费计算方案 运费主键 首重量 次重量 首体积 次体积 中转信息 中转ID 订单标号 配送点ID 顺序 用户 用户ID 配送点ID 角色编号 用户姓名 用户密码 remarks transfee firstw second firstv secondv transferid orderid pointid sequence userid pointid roleid username password 主键索引 主键索引 由订单表引用的外键 由配送点表引用的外键 主键索引 由配送点表引用的外键
外键关联说明:
表2-7 外键关联说明 描述表名 车辆 外键引用表 车辆类型 配送点 基本路线 配送点 收费标准 城区 线路 班次 车辆 班次 班次时刻 途经 途经ID 物流管理系统数据库设计说明书 内部文档 订单 异常订单 交接单 配送点 交接单 配送点 班次 交接单 订单绑定 订单 订单 订单类型 物品类型 订单ID 物流管理系统数据库设计说明书 内部文档 角色 角色编号 关于仓库储存的问题 由ER物理模型局部表关系如下“图2-3物理ER图局部1” 图2-3物理ER图局部1 订单在仓库中只有3种情况,第一、始发未发,第二、终点未投,第三、中转。我们如此实现:始发未发:订单起始配送点为当前配送点,状态为未发;终点未投:订单终止配送点为当前配送点,状态为已达;中转:状态为中转,中转站为当前。 财务管理 由ER物理模型局部表关系如下“图2-4物理ER图局部2” IT_MOB项目组 第 25 页 共 26 页 物流管理系统数据库设计说明书 内部文档 图2-4物理ER图局部1 起始或终止配送点是当前配送点的订单,通过利润表查询就可得到配送点或公司的利润情况。 IT_MOB项目组 第 26 页 共 26 页 因篇幅问题不能全部显示,请点此查看更多更全内容