1、数据库详细设计说明文档天翼物流管理信息系统数据库详细设计说明1.0天翼软件开发团队版权所有 不得复制文档属性及版本文档属性文件状态: 草 稿 正式发布 正在修改文件标识:天翼 v1.0当前版本:1.0作 者:陈珊珊文件密级: 普通 秘密 绝密文档版本版本/状态作者参与者日期说明1.0陈珊珊2009-08-251.数据库设计的基本规范1.1开发规范1)遵守数据的设计规范3NF 规定2)一行记录必须表内唯一,表必须有主键。3)金额类型使用Money4)时间使用 DateTime5)在主外键的选择上应注意:为关联字段创建外键、所有的键都必须唯一、避免使用复合键、外键总是关联唯一的键字段。1.2命名规
2、范1)对象名称应当准确完整地描述了对象的含义。2)数据库对象的命名应当避免和系统原有的对象名称(如:系统表、系统存储过程等)混淆。3)对象名称中不同的单词间应当能够方便的区分开。4)使用Pascal 命名规则2.基本表及其说明2.1订单表Orders字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注OrderID订单号Int主键OrderTime接单日期Datatime设置为当前日期可为空OrderAmount订单金额MoneyCustomerID客户号Int外键TransportUnitID承运单位Varchar(20)外键Receiver收货方Var
3、char(20)Payer支付方Varchar(20)StartCity起点城市Varchar(20)EndCity止点城市Varchar(20)RequestArrivalDate要求到货日期DatatimePaymentMethod付款方式Varchar(20)Remark备注Ntext可以为空IsBackOrder是否回单Bool2.2客户表Customers字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注CustomerID客户号Int主键CustomerName客户名称Varchar(20)CustomerCategory客户类别Varcha
4、r(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调度日期Datatim
5、eTransportUnitID承运单位Varchar(20)外键TeamID车队号Int外键Remark备注Ntext2.4职工信息表Employee字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注EmployeeID工号Int主键EmployeeName姓名Varchar(20)Department部门Varchar(20)外键position职位Varchar(20)BirthDate出生日期Varchar(20)可以为空Gender性别BitTrue为男,false为女EducationLevel学历Varchar(20)可以为空ID身份证号码
6、Varchar(20)唯一性的约束ContractAddress联系地址Varchar(20)可以为空ContractPhone联系电话Varchar(20)可以为空Remark备注Ntext可以为空2.5用户表Users字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注UserID用户编号Int主键EmployeeID员工工号Int外键Password密码Varchar(20)LastLoginTime上次登录时间Datatime2.6角色表Roles字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注RoleID
7、角色编号Int主键RoleName角色名Varchar(20)Description角色描述Varchar(20)2.7用户角色表UserInRole字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注UserID用户编号Int主键RoleID角色编号Int主键(都是外键)Description描述Ntext2.8承运单位表TransportUnit字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注UnitID单位号Int主键UnitName单位名Varchar(20)UnitManager单位主管Varchar(2
8、0)UnitAddress单位地址Varchar(20)2.9回车报账表TruckBackBill字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注ExpenseID费用序号Int既是主键又是外键Time报账时间DatetimeTravelMales行驶公里IntTravelDays行驶天数IntIsCheck是否审核Bit2.10车辆表Truck字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注TruckID车辆序号Int主键TruckNumber车牌号Varchar(20)唯一的TeamID车队号IntTruc
9、kName车辆名称Varchar(20)Driver驾驶员Varchar(20)TruckType车辆类型Varchar(20)可以为空BearVolume承载体积IntBearWeight承载重量IntTruckState车辆状态Varchar(20)待命状态、出车状态、维修状态2.11出车登记表TripRegister字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注TripRegisterID出车号Int主键OrderID订单号Int外键TransportUnit承运单位Varchar(20)外键TruckID车辆序号Int外键State出车状态V
10、archar(20)Time出车日期Datetime可为空2.12部门表Department字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注DepartmentID部门编号Int主键DepartmentName部门名称Varchar(20)DepartmentManger部门主管Varchar(20)在职员表中有外键FunctionalDescription部门功能描述Varchar(20)可以为空2.13货物表Cargo字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注CargoID货物号Int主键CargoN
11、ame货物名称Varchar(20)OrderID订单号Int外键CargoAttributes货物属性Varchar(20)Weight重量IntVolume体积IntPackMode包装方式Varchar(20)Quantity数量Int2.14仓库表Depot字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注DepotID仓库号Int主键DepotName仓库名Varchar(20)DepotCategory仓库类别Varchar(20)DepotAddress仓库地址Varchar(20)DepotManger仓库管理员Varchar(20)2.
12、15仓库货物表CargoInDepot字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注CargoID货物号Int主键DepotID仓库号Int主键(同是外键)EnterTime入库时间Datetime可以为空DispatchTime调度时间Datetime可以为空(无默认值)OutTime出库时间Datetime可以为空DeliveryAddress发货地址Varchar(20)Inventory库存量Int2.16车辆费用表Expense字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注ExpenseID费用序
13、号Int主动生成,主键TruckID车辆序号Int外键OrderID订单号Int外键ExpenseAmount费用金额Money计算列IsPay是否已报销Bit2.17费用类型表ExpenseType字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注ExpenseID费用序号Int主键(外键)TollCharge过路费用MoneyUpkeep维修费MoneyBunkerSurcharge燃油费MoneyBoardWages伙食费MoneyHotelExpense住宿费MoneyOtherExpense其他Money2.18审核登记表Verificatio
14、n字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注TruckID车辆序号Varchar(20)主键VerificationDate审核时间DateTime可以为空ExpireDate到期时间DateTime可以为空VerificationAmount审核金额MoneyVerificationGrade审核等级Varchar(20)VerificationType审核类型Varchar(20)Remarks备注Ntext2.19事故表Accident字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注Accident
15、ID事故单号int主键TruckID车辆序号Int外键AccidentDate事故日期DateTime有默认值;可以为空AccidentAddress事故地点Varchar(20)Description事故描述Varchar(20)Unit责任单位Varchar(20)AccidentAmount事故金额MoneyTruckSituation车辆损坏情况NtextIsCompensation是否赔偿BitCompensationAmount赔偿金额Money可为空Remarks备注Varchar(20)2.20罚款记录表FineRecord字段名字段意义数据类型主从键/组合主键/可否NULL/
16、取值范围/特定值意义/触发/其他备注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/取值范围/特定值意义/触发/其他备注V
17、erifyID核算单号Int主键VerifyDate核算日期DateTimeVerifyDepartment核算部门Varchar(20)VerifyType核算类型Varchar(20)InvoiceID发票编号Varchar(20)外键OrderID订单号Int外键Cost成本MoneyRemarks备注)Ntext2.22现金日记账表CashDayAccount字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注ID序号Int主键Date日期DateTimeCost成本MoneyIncome收入MoneyHandlePerson经手人Varchar(
18、20)Department部门Varchar(20)OrderID订单号Int外键Remarks备注)Ntext2.23车队表TruckTeam字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注TeamID车队号Int主键TeamName车队名Varchar(20)TeamHeader队长Varchar(20)TruckNumber车辆数Int2.24发票表Invoice字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注InvoiceID序号Int主键InvoiceReceiptNumber发票编号Varchar(
19、20)InvoiceType发票类型Varchar(20)HandlePerson经手人Varchar(20)InvoiceAmount发票金额MoneyInvoiceTime发票日期Datetime可为空Remark备注Ntext可为空2.25表信息表TableInformation字段名字段意义数据类型主从键/组合主键/可否NULL/取值范围/特定值意义/触发/其他备注InformationID序号Int主键TableName表名Varchar(100)KeyName键名Varchar(100)KeyType键类型Varchar(100)主要分为主键和外键3. 存储过程的使用由于只是简单的增删改查,所以在程序中用到存储过程的地方并不多,主要的是一些常用的存储过程的使用,比如说用户登陆时检验用户名是否存在、和密码是否匹配、属于哪种角色之类的。4.总结数据库中总共用到24张基本表,一张辅助表,28个外键约束(默认值约束、唯一性约束、check约束没有去统计)。同时用到了约束、索引、存储过程。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1