资源描述
物流管理系统数据库设计文档
25
2020年4月19日
文档仅供参考
August物流配送系统
数据库设计说明书
编写:郑宇孙海翰 日期: 9月9日
审核: 日期:
批准: 日期:
受控状态:是
发布版次:1.0 日期:
编号:
变更记录
日期
版本
变更说明
作者
9月9日
1.0
新建数据库说明书
郑宇
签字确认
职务
姓名
签字
日期
项目负责人
9月9日
1 引言 4
1.1 预期的读者 4
1.2 数据库 4
1.3 目的和作用 4
2 数据字典设计 5
2.4 城市 7
2.5 城市区域 7
2.6 管理员 7
2.7 交接单 8
2.8 路线 9
2.9 配送点 9
2.10 配送范围 10
2.11 省份 10
2.12 用户组 10
3 数据库设计 11
3.1 系统物理结构设计 11
3.2 数据库概念设计 11
3.3 数据库物理模型设计 12
3.4 数据库表设计 13
3.4.1 消费者 13
3.4.2 订单 14
3.4.3 车辆 14
3.4.4 城市 15
3.4.5 城市区域 15
3.4.6管理员 15
3.4.7 交接单 15
3.4.8 路线 16
3.4.9 配送点 16
3.4.10 配送范围 17
3.4.11 省份 17
3.4.12 用户组 17
3.5 表之间的关联关系 17
3.5.1 配送点与配送范围关系 17
3.5.2 配送点与省份关系 18
3.5.3 配送点与城市关系 18
3.5.4 路线与城市关系 18
3.5.5 订单与报表关系 18
3.5.6 客户与订单关系 18
3.6 存储过程设计 18
3.6.1 用户信息存储过程(UserInfo)...................................19
3.6.2 车辆存储过程(WLBus)..........................................19
3.6.3 信息检验存储过程(WLCheckInfo)................................19
3.6.4 常见查询存储过程(WLCommonSearch).............................19
3.6.5 配送点存储过程(WLDeliverPlace)...............................20
3.6.6 配送价格存储过程(WLDeliverPrice).............................20
3.6.7 配送范围存储过程(WLDeliverRange).............................20
3.6.8 交接单存储过程(WLDelRe)......................................20
3.6.9 订单存储过程(WLOrder).......................................20
3.6.10 报表存储过程(WLReport)......................................20
3.6.11 路线存储过程(WLRoute).......................................20
3.6.12 配送点管理员存储过程(WLUserManage).........................20
1 引言
1.1 预期的读者
主要为本公司以几份承包方的阅读者,如设计人员、开发人员等。有时能够包括客户方的阅读者,如:市场部人员、开发人员等。
1.2 数据库
l 指明所采用的数据库管理系统,版本等必要信息。
l 指明所设计的数据库的中、英文名称。
1.3 目的和作用
将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据库。
2 数据字典设计
数据字典
数据字典提供查阅对不了解的条目的解释。在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。
下面以数据卡片的实行
2.1 消费者
名字:Client
别名:消费者
描述:与公司有运货业务的人,能够有自己的账号,能够没有
定义:消费者表=消费者编号+消费者姓名+性别+用户组编号+密码+联系电话+出生日期+地址+备注
位置:
名字:消费者编号
别名:
描述:唯一地标识客户表中的一个客户
定义:消费者编号=nvarchar(10)
设置自增
位置:客户表
订单表
客户角色关系表
2.2 订单
名字:Orderlist
别名:订单
描述:客户运输货物的订单
定义:订单=订单编号+订单类型+交接单编号+货物名称+货物重量+邮寄人+邮寄地址+收货地址+订单状态+邮寄人电话+收货人+收货人电话+起始城市+中点城市+终点城市+运送价格+配送价格+运输价格+总价格+备注+车辆
位置:
名字:订单编号
别名:
描述:唯一地标识订单表中的一个订单
定义:订单编号=nvarchar(10)
设置自增
位置:订单表
货物表表
2.3 车辆
名字:Lorry
别名:车辆
描述:物流公司内的车辆信息
定义:车辆= 车辆编号+产地+路线编号+生产日期+购买日期+备注
位置:
名字:车辆编号
别名:
描述:唯一地标识车辆表中的一个车辆
定义:车辆编号=nvarchar(10)
设置自增
位置:车辆表
运力调度表
2.4 城市
名字:城市
别名:
描述:记录可送达的城市
定义:城市=城市编号+城市名称+省份编号
位置:
2.5 城市区域
名字:区域
别名:
描述:记录可送达的区域
定义:城市=区域编号+区域名称+城市编号
位置:
2.6 管理员
名字:管理员
别名:
描述:各个管理员的信息
定义:管理员=管理员编号+姓名+性别+用户组编号+状态+所在城市+地址+密码+联系电话+备注
位置:
2.7 交接单
名字:DeliveryReceipt
别名:交接单
描述:货物装车时产生的交接单
定义:交接单= 起点城市+终点城市+已到城市+状态+生成时间+备注
位置:
名字:交接单编号
别名:
描述:唯一地标识交接单表表中的一个交接单
定义:交接单编号=nvarchar(10)
设置自增
位置:交接单
订单表
2.8 路线
名字:Path
别名:路线
描述:存储路线信息表
定义:路线=路线编号+路线名称+起始省份编号+其实诚实编号+中点省份编号+中点城市编号+终点省份编号+终点城市编号+运输价格+备注
位置:
名字:路线编号
别名:
描述:唯一地标识路线表中的一条路线
定义:路线编号=nvarchar(10)
设置自增
位置:路线表
运力调度表表
2.9 配送点
名字:Station
别名:配送点
描述:负责各地配送的地点
定义:配送点=配送点ID+配送点名称+省份ID+城市ID+管理员ID+联系电话+地址+备注
位置:
名字:配送点
别名:
描述:唯一地标识路线表中的一条路线
定义:路线编号=nvarchar(10)
设置自增
位置:配送点表
路线配送点关系表
配送范围表
配送点客户关系表
2.10 配送范围
名字:Area
别名:配送范围
描述:每一个配送范围的详细信息
定义:配送范围=配送区域ID+配送区域名称+配送价格+所属城市ID+备注
位置:
2.11 省份
名字:Province
别名:省份
描述:记录可送达的省份
定义:省份=省份编号+省份名称
位置:
2.12 用户组
名字:用户组
别名:
描述:记录用户的身份
定义:用户组=用户组编号+用户组名称+备注
位置:
3 数据库设计
3.1 系统物理结构设计
估计数据库大小:10M
增长速度:10%
数据文件命名:DBWL_mdf
日志文件命名:DBWL_log
数据文件及日志文件的存放位置:App_Data
3.2 数据库概念设计
E-R图:
3.3 数据库物理模型设计
3.4 数据库表设计
3.4.1 消费者
字段名
数据类型
是否为空
默认值
含义
备注
消费者ID
nvarchar(10)
not null
消费者的唯一标识
主键
姓名
nvarchar(10)
姓名
性别
int
性别
用户组ID
nvarchar(10)
用户组ID
外键
密码
nvarchar(10)
密码
联系电话
nvarchar(20)
联系电话
出生日期
datetime
出生日期
地址
nvarchar(50)
地址
备注
nvarchar(50)
备注
3.4.2 订单
字段名
数据类型
是否为空
默认值
含义
备注
订单ID
nvarchar(10)
not null
订单ID
主键
订单类型
int
订单类型
交接单编号
nvarchar(10)
交接单编号
货物名称
nvarchar(20)
货物名称
货物重量
int
货物重量
邮寄人
nvarchar(20)
邮寄人
邮寄地址
nvarchar(50)
邮寄地址
收货地址
nvarchar(50)
收货地址
订单状态
int
订单状态
邮寄人电话
nvarchar(20)
邮寄人电话
收货人
nvarchar(20)
收货人
收货人电话
nvarchar(20)
收货人电话
起始城市
nvarchar(10)
起始城市
中点城市
nvarchar(10)
中点城市
终点城市
nvarchar(10)
终点城市
运送价格
decimal(18,0)
运送价格
配送价格
decimal(18,0)
配送价格
运输价格
decimal(18,0)
运输价格
总价格
nvarchar(10)
总价格
车辆
nvarchar(10)
车辆
备注
nvarchar(50)
备注
3.4.3 车辆
字段名
数据类型
是否为空
默认值
含义
备注
车辆编号
nvarchar(10)
not null
车辆编号
主键
车辆型号
nvarchar(10)
产地
Nvarchar(20)
产地
路线编号
nvarchar(10)
路线编号
外键
生产日期
datetime
生产日期
购买日期
datetime
购买日期
备注
nvarchar(50)
备注
3.4.4 城市
字段名
数据类型
是否为空
默认值
含义
备注
城市ID
nvarchar(10)
not null
城市ID
主键
城市名称
nvarchar(10)
城市名称
省份ID
nvarchar(10)
省份ID
外键
3.4.5 城市区域
字段名
数据类型
是否为空
默认值
含义
备注
区域ID
nvarchar(10)
not null
区域ID
主键
区域名称
nvarchar(50)
区域名称
城市ID
nvarchar(50)
城市ID
外键
3.4.6管理员
字段名
数据类型
是否为空
默认值
含义
备注
管理员编号
nvarchar(10)
not null
管理员编号
主键
姓名
nvarchar(10)
姓名
性别
int
性别
用户组编号
int
用户组编号
外键
状态
int
状态
所在城市
nvarchar(10)
所在城市
地址
nvarchar(10)
地址
密码
nvarchar(10)
密码
联系电话
nvarchar(20)
联系电话
备注
nvarchar(50)
备注
3.4.7 交接单
字段名
数据类型
是否为空
默认值
含义
备注
起点城市
nvarchar(10)
not null
起点城市
主键
终点城市
nvarchar(10)
终点城市
已到城市
nvarchar(10)
已到城市
状态
int
状态
生成时间
dayetime
生成时间
备注
nvarchar(50)
备注
3.4.8 路线
字段名
数据类型
是否为空
默认值
含义
备注
路线编号
nvarchar(10)
not null
路线编号
主键
路线名称
nvarchar(10)
路线名称
起始省份编号
nvarchar(10)
起始省份编号
外键
起始诚实编号
nvarchar(10)
起始诚实编号
外键
中点省份编号
nvarchar(10)
中点省份编号
外键
中点城市编号
nvarchar(10)
中点城市编号
外键
终点省份编号
nvarchar(10)
终点省份编号
外键
终点城市编号
nvarchar(10)
终点城市编号
外键
运输价格
decimal(18,0)
运输价格
备注
nvarchar(10)
备注
3.4.9 配送点
字段名
数据类型
是否为空
默认值
含义
备注
配送点ID
int
not noll
配送点ID
主键
配送点名称
nvarchar(10)
配送点名称
省份ID
nvarchar(10)
省份ID
外键
城市ID
nvarchar(10)
城市ID
外键
管理员ID
nvarchar(10)
管理员ID
外键
联系电话
nvarchar(20)
联系电话
地址
nvarchar(50)
地址
备注
nvarchar(50)
备注
3.4.10 配送范围
字段名
数据类型
是否为空
默认值
含义
备注
配送区域ID
int
not null
配送区域ID
主键
配送区域名称
nvarchar(10)
配送区域名称
配送价格
decimal(18,0)
配送价格
所属城市ID
nvarchar(10)
所属城市ID
外键
备注
nvarchar(50)
备注
3.4.11 省份
字段名
数据类型
是否为空
默认值
含义
备注
身份ID
nvarchar(10)
not null
身份ID
主键
名称
nvarchar(10)
名称
3.4.12 用户组
字段名
数据类型
是否为空
默认值
含义
备注
用户组编号
nvarchar(10)
not null
用户组编号
主键
用户组名称
nvarchar(10)
not null
用户组名称
备注
nvarchar(50)
备注
3.5 表之间的关联关系
3.5.1 配送点与配送范围关系
一个配送范围属于一个配送点,一个配送点有多个配送范围。在配送范围表上引用所属城市ID作为外键。
3.5.2 配送点与省份关系
一个配送地属于一个省份,一个省份有多个配送点。在配送点表上引用省份的编号作为外键。
3.5.3 配送点与城市关系
一个配送地属于一个城市,一个城市有一个配送点。在配送点表上引用城市的编号作为外键。
3.5.4 路线与城市关系
一条路线上有多个城市、一个城市属于多条路线。因此新建一个路线城市关系表,引用路线编号及城市编号作为外键,同时这两个属性作为复合主键。
3.5.5 订单与报表关系
报表在数据库中只存储月报表,每到月底系统自动生成月报表。一个订单只与一个报表有关,一个报表有多个订单。因此在订单表中存储报表的编号。
3.5.6 客户与订单关系
订单与客户是多对一的关系。在订单中存储客户的编号信息,确定客户与订单的关系。
3.6 存储过程设计
存储过程是一组预先定义并编译好的SQL语句,能够接受参数、返回状态值和参数值,并能够嵌套调用。使用存储过程能够改变SQL语句的运行性能,提高其执行效率。存储过程还可用做一种安全机制,使用户经过它访问未授权的表或视图。
3.6.1 用户信息存储过程(UserInfo)
包含方法: SearchUserInfo 查询用户信息
Edit 编辑用户信息
CSearch 查询消费者信息
3.6.2 车辆存储过程(WLBus)
包含方法:Save 添加车辆
Edit 修改车辆信息
SearchDetail 查看车辆信息
Delete 删除车辆
3.6.3 信息检验存储过程(WLCheckInfo)
包含方法:CheckLogin 登录信息检验
CheckPsw 密码检验
ModifyPsw 修改密码
CheckRegion 配送区域检验
3.6.4 常见查询存储过程(WLCommonSearch)
包含方法: GetAllProvince 获取所有省份
GetCity 获得城市
GetAllCity 获取所有城市
GetAllAdmin 获取所有管理员
GetAllDelP 获取所有配送点
GetAllArea 获取所有配送区域
MaxPrice 获得最大价格
MinPrice 获得最小价格
GetDeliveryPrice 获得配送价格
GetAllRoute 获取所有路线
GetAllBus 获取所有车辆
GetAllDelRe 获取所有交接单
3.6.5 配送点存储过程(WLDeliverPlace)
包含方法:Search 查询配送点
Save 添加配送点
SearchDetail 查看配送点信息
Edit 修改信息
Delete 删除配送点、
3.6.6 配送价格存储过程(WLDeliverPrice)
包含方法:Search 查看配送价格
3.6.7 配送范围存储过程(WLDeliverRange)
包含方法:Search 查询配送区域
Save 添加配送区域
Edit 修改信息
SearchDetail 查看信息
Delete 删除配送区域
3.6.8 交接单存储过程(WLDelRe)
3.6.9 订单存储过程(WLOrder)
3.6.10 报表存储过程(WLReport)
包含方法:SearchHeadRe 查看总公司报表
SearchDPRe 查看配送点发货报表
SearchDGRe 查看配送点收货报表
SearchDPGRe 查看收发总表
3.6.11 路线存储过程(WLRoute)
包含方法:Search 查询路线
Save 添加路线
Delete 删除路线
3.6.12 配送点管理员存储过程(WLUserManage)
包含方法:Search 查看管理员
Delete 删除管理员
Save 添加管理员
CheckSingleAdmin 管理员检验
展开阅读全文