数据库详细设计说明文档.docx
- 文档编号:3570481
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:20.68KB
数据库详细设计说明文档.docx
《数据库详细设计说明文档.docx》由会员分享,可在线阅读,更多相关《数据库详细设计说明文档.docx(17页珍藏版)》请在冰豆网上搜索。
数据库详细设计说明文档
天翼物流管理信息系统
数据库详细设计说明
1.0
天翼软件开发团队
版权所有不得复制
文档属性及版本
文档属性
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
天翼v1.0
当前版本:
1.0
作者:
陈珊珊
文件密级:
[]普通[√]秘密[]绝密
文档版本
版本/状态
作者
参与者
日期
说明
1.0
陈珊珊
2009-08-25
1.数据库设计的基本规范
1.1开发规范
1)遵守数据的设计规范3NF规定
2)一行记录必须表内唯一,表必须有主键。
3)金额类型使用Money
4)时间使用DateTime
5)在主外键的选择上应注意:
为关联字段创建外键、所有的键都必须唯一、避免使用复合键、外键总是关联唯一的键字段。
1.2命名规范
1)对象名称应当准确完整地描述了对象的含义。
2)数据库对象的命名应当避免和系统原有的对象名称(如:
系统表、系统存储过程等)混淆。
3)对象名称中不同的单词间应当能够方便的区分开。
4)使用Pascal命名规则
2.基本表及其说明
2.1订单表Orders
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
OrderID
订单号
Int
主键
OrderTime
接单日期
Datatime
设置为当前日期可为空
OrderAmount
订单金额
Money
CustomerID
客户号
Int
外键
TransportUnitID
承运单位
Varchar(20)
外键
Receiver
收货方
Varchar(20)
Payer
支付方
Varchar(20)
StartCity
起点城市
Varchar(20)
EndCity
止点城市
Varchar(20)
RequestArrivalDate
要求到货日期
Datatime
PaymentMethod
付款方式
Varchar(20)
Remark
备注
Ntext
可以为空
IsBackOrder
是否回单
Bool
2.2客户表Customers
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
CustomerID
客户号
Int
主键
CustomerName
客户名称
Varchar(20)
CustomerCategory
客户类别
Varchar(20)
Credits
信用额
Varchar(20)
ContactPerson
联系人
Varchar(20)
ContactPhone
联系电话
Varchar(20)
MobilePhone
手机号码
Int
可以为空
FaxNumber
传真号码
Int
可以为空
ContractAddress
联系地址
Varchar(20)
可以为空
Remark
备注
Ntext
可以为空
2.3承运单表TransportList
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
TransportListID
承运单号
Int
主键
OrderID
订单号
Int
外键
DispatchDate
调度日期
Datatime
TransportUnitID
承运单位
Varchar(20)
外键
TeamID
车队号
Int
外键
Remark
备注
Ntext
2.4职工信息表Employee
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
EmployeeID
工号
Int
主键
EmployeeName
姓名
Varchar(20)
Department
部门
Varchar(20)
外键
position
职位
Varchar(20)
BirthDate
出生日期
Varchar(20)
可以为空
Gender
性别
Bit
True为男,false为女
EducationLevel
学历
Varchar(20)
可以为空
ID
身份证号码
Varchar(20)
唯一性的约束
ContractAddress
联系地址
Varchar(20)
可以为空
ContractPhone
联系电话
Varchar(20)
可以为空
Remark
备注
Ntext
可以为空
2.5用户表Users
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
UserID
用户编号
Int
主键
EmployeeID
员工工号
Int
外键
Password
密码
Varchar(20)
LastLoginTime
上次登录时间
Datatime
2.6角色表Roles
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
RoleID
角色编号
Int
主键
RoleName
角色名
Varchar(20)
Description
角色描述
Varchar(20)
2.7用户角色表UserInRole
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
UserID
用户编号
Int
主键
RoleID
角色编号
Int
主键(都是外键)
Description
描述
Ntext
2.8承运单位表TransportUnit
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
UnitID
单位号
Int
主键
UnitName
单位名
Varchar(20)
UnitManager
单位主管
Varchar(20)
UnitAddress
单位地址
Varchar(20)
2.9回车报账表TruckBackBill
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
ExpenseID
费用序号
Int
既是主键又是外键
Time
报账时间
Datetime
TravelMales
行驶公里
Int
TravelDays
行驶天数
Int
IsCheck
是否审核
Bit
2.10车辆表Truck
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
TruckID
车辆序号
Int
主键
TruckNumber
车牌号
Varchar(20)
唯一的
TeamID
车队号
Int
TruckName
车辆名称
Varchar(20)
Driver
驾驶员
Varchar(20)
TruckType
车辆类型
Varchar(20)
可以为空
BearVolume
承载体积
Int
BearWeight
承载重量
Int
TruckState
车辆状态
Varchar(20)
待命状态、出车状态、维修状态
2.11出车登记表TripRegister
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
TripRegisterID
出车号
Int
主键
OrderID
订单号
Int
外键
TransportUnit
承运单位
Varchar(20)
外键
TruckID
车辆序号
Int
外键
State
出车状态
Varchar(20)
Time
出车日期
Datetime
可为空
2.12部门表Department
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
DepartmentID
部门编号
Int
主键
DepartmentName
部门名称
Varchar(20)
DepartmentManger
部门主管
Varchar(20)
在职员表中有外键
FunctionalDescription
部门功能描述
Varchar(20)
可以为空
2.13货物表Cargo
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
CargoID
货物号
Int
主键
CargoName
货物名称
Varchar(20)
OrderID
订单号
Int
外键
CargoAttributes
货物属性
Varchar(20)
Weight
重量
Int
Volume
体积
Int
PackMode
包装方式
Varchar(20)
Quantity
数量
Int
2.14仓库表Depot
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
DepotID
仓库号
Int
主键
DepotName
仓库名
Varchar(20)
DepotCategory
仓库类别
Varchar(20)
DepotAddress
仓库地址
Varchar(20)
DepotManger
仓库管理员
Varchar(20)
2.15仓库货物表CargoInDepot
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
CargoID
货物号
Int
主键
DepotID
仓库号
Int
主键(同是外键)
EnterTime
入库时间
Datetime
可以为空
DispatchTime
调度时间
Datetime
可以为空(无默认值)
OutTime
出库时间
Datetime
可以为空
DeliveryAddress
发货地址
Varchar(20)
Inventory
库存量
Int
2.16车辆费用表Expense
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
ExpenseID
费用序号
Int
主动生成,主键
TruckID
车辆序号
Int
外键
OrderID
订单号
Int
外键
ExpenseAmount
费用金额
Money
计算列
IsPay
是否已报销
Bit
2.17费用类型表ExpenseType
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
ExpenseID
费用序号
Int
主键(外键)
TollCharge
过路费用
Money
Upkeep
维修费
Money
BunkerSurcharge
燃油费
Money
BoardWages
伙食费
Money
HotelExpense
住宿费
Money
OtherExpense
其他
Money
2.18审核登记表Verification
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
TruckID
车辆序号
Varchar(20)
主键
VerificationDate
审核时间
DateTime
可以为空
ExpireDate
到期时间
DateTime
可以为空
VerificationAmount
审核金额
Money
VerificationGrade
审核等级
Varchar(20)
VerificationType
审核类型
Varchar(20)
Remarks
备注
Ntext
2.19事故表Accident
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
AccidentID
事故单号
int
主键
TruckID
车辆序号
Int
外键
AccidentDate
事故日期
DateTime
有默认值;可以为空
AccidentAddress
事故地点
Varchar(20)
Description
事故描述
Varchar(20)
Unit
责任单位
Varchar(20)
AccidentAmount
事故金额
Money
TruckSituation
车辆损坏情况
Ntext
IsCompensation
是否赔偿
Bit
CompensationAmount
赔偿金额
Money
可为空
Remarks
备注
Varchar(20)
2.20罚款记录表FineRecord
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
FineRecordID
罚单记录号
Int
主键
TruckID
车辆序号
Int
外键
Date
日期
DateTime
可为空
Address
地点
Varchar(20)
FineReason
罚款原因
Varchar(20)
FineID
罚款单号
Varchar(20)
唯一约束
FineAmount
罚款金额
Money
FineUnit
罚款单位
Varchar(20)
HandlePerson
经手人
Varchar(20)
Remarks
备注
Varchar(20)
2.21财务核算表FinanceVerify
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
VerifyID
核算单号
Int
主键
VerifyDate
核算日期
DateTime
VerifyDepartment
核算部门
Varchar(20)
VerifyType
核算类型
Varchar(20)
InvoiceID
发票编号
Varchar(20)
外键
OrderID
订单号
Int
外键
Cost
成本
Money
Remarks
备注)
Ntext
2.22现金日记账表CashDayAccount
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
ID
序号
Int
主键
Date
日期
DateTime
Cost
成本
Money
Income
收入
Money
HandlePerson
经手人
Varchar(20)
Department
部门
Varchar(20)
OrderID
订单号
Int
外键
Remarks
备注)
Ntext
2.23车队表TruckTeam
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
TeamID
车队号
Int
主键
TeamName
车队名
Varchar(20)
TeamHeader
队长
Varchar(20)
TruckNumber
车辆数
Int
2.24发票表Invoice
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
InvoiceID
序号
Int
主键
InvoiceReceiptNumber
发票编号
Varchar(20)
InvoiceType
发票类型
Varchar(20)
HandlePerson
经手人
Varchar(20)
InvoiceAmount
发票金额
Money
InvoiceTime
发票日期
Datetime
可为空
Remark
备注
Ntext
可为空
2.25表信息表TableInformation
字段名
字段意义
数据类型
主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注
InformationID
序号
Int
主键
TableName
表名
Varchar(100)
KeyName
键名
Varchar(100)
KeyType
键类型
Varchar(100)
主要分为主键和外键
3.存储过程的使用
由于只是简单的增删改查,所以在程序中用到存储过程的地方并不多,主要的是一些常用的存储过程的使用,比如说用户登陆时检验用户名是否存在、和密码是否匹配、属于哪种角色之类的。
4.总结
数据库中总共用到24张基本表,一张辅助表,28个外键约束(默认值约束、唯一性约束、check约束没有去统计)。
同时用到了约束、索引、存储过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 详细 设计 说明 文档