物流管理系统数据库设计文档.docx
《物流管理系统数据库设计文档.docx》由会员分享,可在线阅读,更多相关《物流管理系统数据库设计文档.docx(21页珍藏版)》请在冰豆网上搜索。
物流管理系统数据库设计文档
August物流配送系统
数据库设计说明书
编写:
郑宇孙海翰日期:
2011年9月9日
审核:
日期:
批准:
日期:
受控状态:
是
发布版次:
1.0日期:
编号:
变更记录
日期
版本
变更说明
作者
2011年9月9日
1。
0
新建数据库说明书
郑宇
签字确认
职务
姓名
签字
日期
项目负责人
2011年9月9日
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数据库
●指明所采用的数据库管理系统,版本等必要信息.
●指明所设计的数据库的中、英文名称。
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)
notnull
消费者的唯一标识
主键
姓名
nvarchar(10)
姓名
性别
int
性别
用户组ID
nvarchar(10)
用户组ID
外键
密码
nvarchar(10)
密码
联系电话
nvarchar(20)
联系电话
出生日期
datetime
出生日期
地址
nvarchar(50)
地址
备注
nvarchar(50)
备注
3.4。
2订单
字段名
数据类型
是否为空
默认值
含义
备注
订单ID
nvarchar(10)
notnull
订单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)
notnull
车辆编号
主键
车辆型号
nvarchar(10)
产地
Nvarchar(20)
产地
路线编号
nvarchar(10)
路线编号
外键
生产日期
datetime
生产日期
购买日期
datetime
购买日期
备注
nvarchar(50)
备注
3.4。
4城市
字段名
数据类型
是否为空
默认值
含义
备注
城市ID
nvarchar(10)
notnull
城市ID
主键
城市名称
nvarchar(10)
城市名称
省份ID
nvarchar(10)
省份ID
外键
3。
4。
5城市区域
字段名
数据类型
是否为空
默认值
含义
备注
区域ID
nvarchar(10)
notnull
区域ID
主键
区域名称
nvarchar(50)
区域名称
城市ID
nvarchar(50)
城市ID
外键
3.4.6管理员
字段名
数据类型
是否为空
默认值
含义
备注
管理员编号
nvarchar(10)
notnull
管理员编号
主键
姓名
nvarchar(10)
姓名
性别
int
性别
用户组编号
int
用户组编号
外键
状态
int
状态
所在城市
nvarchar(10)
所在城市
地址
nvarchar(10)
地址
密码
nvarchar(10)
密码
联系电话
nvarchar(20)
联系电话
备注
nvarchar(50)
备注
3。
4。
7交接单
字段名
数据类型
是否为空
默认值
含义
备注
起点城市
nvarchar(10)
notnull
起点城市
主键
终点城市
nvarchar(10)
终点城市
已到城市
nvarchar(10)
已到城市
状态
int
状态
生成时间
dayetime
生成时间
备注
nvarchar(50)
备注
3。
4。
8路线
字段名
数据类型
是否为空
默认值
含义
备注
路线编号
nvarchar(10)
notnull
路线编号
主键
路线名称
nvarchar(10)
路线名称
起始省份编号
nvarchar(10)
起始省份编号
外键
起始诚实编号
nvarchar(10)
起始诚实编号
外键
中点省份编号
nvarchar(10)
中点省份编号
外键
中点城市编号
nvarchar(10)
中点城市编号
外键
终点省份编号
nvarchar(10)
终点省份编号
外键
终点城市编号
nvarchar(10)
终点城市编号
外键
运输价格
decimal(18,0)
运输价格
备注
nvarchar(10)
备注
3。
4。
9配送点
字段名
数据类型
是否为空
默认值
含义
备注
配送点ID
int
notnoll
配送点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
notnull
配送区域ID
主键
配送区域名称
nvarchar(10)
配送区域名称
配送价格
decimal(18,0)
配送价格
所属城市ID
nvarchar(10)
所属城市ID
外键
备注
nvarchar(50)
备注
3。
4.11省份
字段名
数据类型
是否为空
默认值
含义
备注
身份ID
nvarchar(10)
notnull
身份ID
主键
名称
nvarchar(10)
名称
3.4.12用户组
字段名
数据类型
是否为空
默认值
含义
备注
用户组编号
nvarchar(10)
notnull
用户组编号
主键
用户组名称
nvarchar(10)
notnull
用户组名称
备注
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管理员检验