中外运物流配送系统数据库设计文档v10.docx
《中外运物流配送系统数据库设计文档v10.docx》由会员分享,可在线阅读,更多相关《中外运物流配送系统数据库设计文档v10.docx(33页珍藏版)》请在冰豆网上搜索。
中外运物流配送系统数据库设计文档v10
中外运物流配送系统
数据库设计说明书
变更记录
日期
版本
变更说明
作者
2004/5/6
1.0
新建数据库设计说明书
徐连武
签字确认
职务
姓名
签字
日期
项目负责人
俞海宏
2004/5/10
1引言5
1.1预期的读者5
1.2数据库5
1.3目的和作用5
2数据库设计6
2.1系统物理结构设计6
2.2数据字典6
2.2.1客户6
2.2.2员工6
2.2.3司机7
2.2.4订单7
2.2.5货物7
2.2.6报表7
2.2.7交接单8
2.2.8车辆8
2.2.9路线8
2.2.10配送点9
2.2.11配送范围9
2.2.12省份9
2.2.13运输价格9
2.2.14运力调度10
2.2.15操作权限10
2.2.16角色10
2.3数据库概念设计10
2.4数据库物理模型设计11
2.5数据库表设计12
2.5.1员工表(Personnel)12
2.5.2司机表(Driver)12
2.5.3客户表(Client)13
2.5.4订单表(Orderlist)13
2.5.5订单货物表(Goods)14
2.5.6货物种类表(GoodsType)15
2.5.7报表(Report)15
2.5.8交接单表(DeliveryReceipt)16
2.5.9车辆表(Lorry)16
2.5.10路线表(Path)16
2.5.11路线时间表(RL_Path_Time)17
2.5.12运力调度表(Transport)17
2.5.13配送点路线关系表(RL_Path_Station)17
2.5.14配送点表(Station)18
2.5.15配送点客户关系表(RL_Station_Client)18
2.5.16省份表(Province)18
2.5.17配送范围表(Area)18
2.5.18运输价格表(DelivervyPrice)19
2.5.19操作权限表(Operation)19
2.5.20角色表(Role)19
2.5.21客户角色关系表(RL_Client_Role)20
2.5.22员工角色关系表(RL_Personnel_Role)20
2.5.23角色权限关系表(RL_Role_Operation)错误!
未定义书签。
2.5.24字典表(Dictionary)20
2.6表之间的关联关系21
2.6.1员工与司机关系21
2.6.2员工与角色关系21
2.6.3客户与角色关系21
2.6.4客户与订单关系21
2.6.5订单与货物关系21
2.6.6货物与交接单关系21
2.6.7交接单与运力调度的关系21
2.6.8运力调度与车辆、司机、路线、路线时间关系22
2.6.9订单与报表关系22
2.6.10路线与配送点关系22
2.6.11路线与运输价格关系22
2.6.12配送点与省份关系22
2.6.13配送点与配送范围关系22
2.7Job设计22
1引言
1.1预期的读者
1)项目经理
2)客户项目经理
3)系统开发人员
4)系统测试人员
1.2数据库
●采用SQLServer2005Express版
●数据库命名规范:
1、数据库表
根据表所属的子系统/模块,命名方式为:
数据库表名=子系统/模块缩写
其中子系统/模块的缩写首字母大写
2、表字段:
概念模型中,每个数据库中为每个表定义唯一的缩写
字段名=表缩写+字段含义。
如地区代码表字段前缀为Area,其相关字段名:
AreaId:
地区代码ID主键
AreaName:
地区代码名称
数据库表名及表缩写应在《数据库设计说明书》中加以描述。
3、索引
索引名=Idx+_+表缩写+相关字段/索引含义
4、关联
关联指数据库表之间的外键关系
关联名=rl+_+主表+从表(首字母大写)
5、存储过程:
存储过程名=proc+_+存储过程含义(首字母大写)
1.3目的和作用
将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据库。
2数据库设计
2.1系统物理结构设计
估计数据库大小:
100M
增长速度:
10%
数据文件命名:
Db6
日志文件命名:
Db6_log
数据文件及日志文件的存放位置:
App_Data
2.2数据字典
数据字典提供查阅对不了解的条目的解释。
在数据字典中记录数据元素的下列信息:
一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。
下面以数据卡片的实行
2.2.1
名字:
Client
别名:
客户
描述:
与公司有运货业务的人,可以有自己的账号,可以没有
定义:
客户表=客户编号+用户名+客户姓名+客户家庭地址+客户电话+客户邮箱+密码+密码提示问题+提示问题回答
位置:
名字:
客户编号
别名:
描述:
唯一地标识客户表中的一个客户
定义:
客户编号=int(8)
设置自增
位置:
客户表
订单表
客户角色关系表
客户
2.2.2
名字:
员工编号
别名:
描述:
唯一地标识员工表中的一个员工
定义:
客户编号=int(8)
设置自增
位置:
员工表
员工角色关系表
员工
2.2.3
名字:
driver
别名:
司机
描述:
公司内的司机
定义:
司机=司机编号+员工编号+司机姓名+司机首选路线+司机驾照号+司机信息
位置:
司机
2.2.4订单
名字:
订单编号
别名:
描述:
唯一地标识订单表中的一个订单
定义:
订单编号=int(8)
设置自增
位置:
订单表
货物表表
名字:
Orderlist
别名:
订单
描述:
客户运输货物的订单
定义:
订单=订单编号+订单客户编号+报表编号+订单状态+起始配送点+目的配送点+货物总重量+货物总体积+运送价格+配送价格+总价格+保价+时间+收货人姓名+收货人联系电话+
收货人地址+寄件人姓名+寄件人联系电话+寄件人地址+寄件人邮箱+订单描述+交接单号+路线编号
位置:
2.2.5
名字:
Goods
别名:
货物
描述:
订单中的货物
定义:
货物=货物名称+货物数量+订单号+货物种类号
位置:
货物
2.2.6报表
名字:
报表编号
别名:
描述:
唯一地标识报表中的一个报表
定义:
报表编号=int(8)
设置自增
位置:
报表
订单表
名字:
Report
别名:
报表
描述:
每个月生成报表信息
定义:
报表=报表编号+月份+
年份+配送点名称+收货总重量+发货总重量+收货总体积+发货总体积+收发总重量+收发总体积+运送收入+配送收入+总收入+本配送点本月订单数
位置:
2.2.7
名字:
DeliveryReceipt
别名:
交接单
描述:
货物装车时产生的交接单
定义:
交接单=交接单编号+交接单时间+始发配送点编号+目的配送点编号+司机编号+货车编号
位置:
名字:
交接单编号
别名:
描述:
唯一地标识交接单表表中的一个交接单
定义:
交接单编号=int(8)
设置自增
位置:
交接单
订单表
交接单
2.2.8
名字:
车辆编号
别名:
描述:
唯一地标识车辆表中的一个车辆
定义:
车辆编号=int(8)
设置自增
位置:
车辆表
运力调度表
名字:
Lorry
别名:
车辆
描述:
物流公司内的车辆信息
定义:
车辆=交接单编号+交接单时间+始发配送点编号+目的配送点编号+司机编号+货车编号
位置:
车辆
2.2.9
名字:
路线编号
别名:
描述:
唯一地标识路线表中的一条路线
定义:
路线编号=int(8)
设置自增
位置:
路线表
运力调度表表
路线
2.2.10
名字:
配送点Id
别名:
描述:
唯一地标识路线表中的一条路线
定义:
路线编号=int(8)
设置自增
位置:
配送点表
路线配送点关系表
配送范围表
配送点客户关系表
配送点
名字:
Station
别名:
配送点
描述:
负责各地配送的地点
定义:
配送点=配送点ID+配送点名称+所属省份ID+配送点地址+配送点电话+配送点邮箱+配送点信息
位置:
2.2.11
配送范围
2.2.12
省份
2.2.13运输价格
名字:
所属路线数目
别名:
描述:
记录这两个可达配送点处于多少条路线上。
定义:
所属路线数目=int(8)
位置:
运输价格
2.2.14
运力调度
2.2.15
操作权限
2.2.16
角色
2.3数据库概念设计
E-R图:
2.4数据库物理模型设计
2.5数据库表设计
2.5.1员工表(Personnel)
Personnel
字段名
数据类型
是否为空
默认值
含义
备注
PersonnelId
int
notnull
员工编号
主键
StationId
int
notnull
所属配送点
外键
PersonnelUserName
varchar(50)
notnull
员工账号
PersonnelName
varchar(50)
notnull
员工姓名
PersonnelGender
char
(2)
notnull
员工性别
PersonnelAge
int
员工年龄
PersonnelAddress
varchar(200)
员工家庭地址
PersonnelPhone
varchar(20)
员工固定电话
PersonnelMobilePhone
Varchar(20)
员工手机
PersonnelEmail
varchar(50)
员工邮箱
PersonnelPolitics
varchar(20)
员工政治面貌
PersonnelJob
varchar(50)
员工职位
PersonnelDepartment
varchar(50)
员工部门
PersonnelEntryDate
datetime
notnull
员工入职日期
PersonnelSalary
money
员工薪水
PersonnelStatus
varchar(20)
员工工作状态
PersonnelPassword
varchar(20)
notnull
员工帐号密码
PersonnelPasswordQuestion
varchar(200)
密码提示问题
PersonnelPasswordAnswer
varchar(200)
提问问题答案
2.5.2司机表(Driver)
Driver
字段名
数据类型
是否为空
默认值
含义
备注
PersonnelId
int
notnull
司机员工编号
外键
PathName
Varchar(50)
首选路线
DriverLicenseId
varchar(50)
notnull
司机驾照号
主键
DriverRemark
varchar(250)
空
司机备注
2.5.3客户表(Client)
Client
字段名
数据类型
是否为空
默认值
含义
备注
ClientId
int
notnull
客户编号
主键
ClientUserName
varchar(50)
客户账号
ClientName
varchar(50)
notnull
客户姓名
ClientAddress
varchar(200)
空
客户家庭地址
ClientPhone
varchar(20)
空
客户固定电话
ClientMobilePhone
Varchar(20)
客户手机
ClientEmail
varchar(50)
空
客户邮箱
ClientPassword
varchar(50)
客户账号密码
ClientPasswordQuestion
varchar(50)
密码提示问题
ClientPasswordAnswer
varchar(50)
提问问题答案
2.5.4订单表(Orderlist)*
Orderlist
字段名
数据类型
是否为空
默认值
含义
备注
OrderlistId
int
notnull
订单编号
主键
ReportId
int
报表编号
外键
DeliveryReceiptid
Int
交接单编号
外键
ClientId
int
订单客户编号
外键
OrderlistStatus
varchar(20)
订单状态
StartStationId
int
notnull
发货配送点
外键
EndStationId
int
notnull
送货配送点
外键
AreaId
Int
Notnull
配送范围编号
外键
EndArea
Varchar(50)
Notnull
收货配送范围
OrderlistWeight
float
notnull
货物总重量
OrderlistVolume
float
notnull
货物总体积
OrderlistDeliveryPrice
money
notnull
货物运输费用(给起始配送点的)
OrderlistDispatchPrice
money
notnull
货物配送费用(给目的配送点的)
OrderlistAssureValue
money
货物保价金额
OrderlistAssuretPrice
money
货物保价费用
OrderlistTotalPrice
money
notnull
总费用
OrderlistDate
datetime
notnull
订单日期
OrderlistReceiverName
varchar(50)
notnull
收货人姓名
OrderlistReceiverPhone
varchar(250)
收货人固定电话
OrderlistReceiverMobilePhone
Varchar(20)
notnull
收货人手机
OrderlistReceiverAddress
varchar(200)
notnull
收货人地址
OrderlistReceiverPostCode
Varchar(20)
收货人邮编
OrderlistSenderName
varchar(50)
notnull
寄件人姓名
OrderlistSenderPhone
varchar(20)
空
寄件人联系电话
OrderlistSenderAddress
varchar(200)
空
寄件人地址
OrderlistSenderPostCode
varchar(20)
邮编
OrderlistSenderFax
Varchar(20)
寄件人传真
OrderlistSenderEmail
varcha(50)r
寄件人邮箱
OrderRequestDate
date
要求发货日期
OrderlistRemark
Varchar(200)
空
订单描述
OrderlistIdentifyCode
int
notnull
订单验证码
2.5.5订单状态表(OrderStatus)*
OrderStatus
字段名
数据类型
是否为空
默认值
含义
备注
OrderStatusId
int
notnull
状态编号
主键
PersonnelId
int
notnull
负责员工编号
外键
OrderListId
int
notnull
订单编号
外键
OrderStatus
Varchar(50)
notnull
状态内容
OrderRemark
Varchar(200)
备注
OrderStatusChageTime
datetime
notnull
状态变更时间
2.5.6订单货物明细表(Goods)*
Goods
字段名
数据类型
是否为空
默认值
含义
备注
GoodsId
int
notnull
货物条形码号
主键
OrderlistId
int
notnull
订单号
外键
GoodsTypeName
varchar(50)
notnull
货物种类
GoodsName
varchar(50)
notnull
货物名称
GoodsAmount
int
notnull
货物数量
GoosValue
Money
货物价值
GoodsVolume
Float
货物体积
GoodsWeigh
Float
货物重量
GoodsRemark
Varchar(200)
货物描述
2.5.7货物种类表(GoodsType)*
Goods
字段名
数据类型
是否为空
默认值
含义
备注
GoodsTypeId
int
notnull
货物种类号
主键
GoodsTypeName
varchar(50)
notnull
货物种类名称
GoodsTypeRemark
varchar(200)
货物种类备注
2.5.8报表(Report)*
Report
字段名
数据类型
是否为空
默认值
含义
备注
ReportId
int
notnull
报表编号
主键
ReportMonth
int
notnull
报表月份
ReportYear
int
notnull
报表年份
ReportTime
datetime
notnull
报表生成时间
ReportStationName
varchar(50)
notnull
配送点名称
ReportReceiveWeight
float
notnull
收货总重量
ReportSendWeight
float
notnull
发货总重量
ReportReceiveVolume
float
notnull
收货总体积
ReportSendVolume
float
notnull
发货总体积
ReportDeliveryIncome
money
notnull
运送收入
ReportDispatchIncome
money
notnull
配送收入
ReprotTotalIncome
money
notnull
总收入
ReportOrderAmount
int
notnull
本配送点本月订单数
2.5.9交接单表(DeliveryReceipt)
DeliveryReceipt
字段名
数据类型
是否为空
默认值
含义
备注
DeliveryReceiptId
Int
notNull
交接单编号
主键
TransportId
int
notnull
运力编号
外键
DeliveryReceiptTime
datetime
notnull
交接单生成时间
StartStationId
Int
Notnull
交接单发货点
外键
EndStationId
Int
Notnull
交接单收货点
外键
StationRemark
Varchar(200)
交接情况
2.5.10车辆表(Lorry)*
Lorry
字段名
数据类型
是否为空
默认值
含义
备注
LorryId
int
notnull
车辆编号
主键
LorryNumber
Varchar(50)
notNull
车辆的车牌号
Lorrylicense
Varchar(50)
运营证号
LorryType
Varchar(20)
车型
LorryLoad
float
notNull
车吨位
LorryIsCarriage
Char
(2)
是否厢式
LorryVolume
float
notNull
车辆的容积
LorryBuyDate
datetime
notNull
车辆购买日期
LorryProduceDate
datetime
notNull
车辆生产日期
LorryStatus
varchar(50)
notNull
车辆的状态
LorryBrand
varchar(50)
notNull
车辆品牌
PathId
int
notnull
车辆的首选路线
外键
BuyerId
Varchar(50)
Notnull
车辆购买负责人的姓名
外键
LorryRemark
varchar(200)
Null
空
车辆的备注
2.5.11路线表(P