1、 本科学生综合性实验报告课程名称:数据库技术及应用第三方物流运输系统数据库设计项目组长 强项 学号 0093954 成 员 彭聪 学号 0093956 蔡佳欣 学号 0093971 班 级 B01 班 实验项目名称 第三方物流运输系统数据库设计 指导教师及职称 刘爱红 老师 开课学期 2010 至 2011 学年 第 2 学期截止日期 2011 年 6 月 20 日 目 录1 需求分析 .11.1 编写目的 .11.2 背景 .11.3 功能分析 .21.4 系统功能分析 .21.4.1 客户基本信息管理 .21.4.2 车辆基本信息管理 .31.4.3 订单基本信息管理 .31.4.4 路线
2、基本信息管理 .31.4.5 客户评价基本信息管理 .31.5 系统功能图分析 .41.6 数据需求及业务规则分析 .41.7 数据约束分析 .51.8 数据字典 .61.8.1 数据项与数据结构 .61.8.2 数据处理 .92 数据库概念设计 .92.1 定义实体集及属性 .92.2 定义联系集及属性 .102.3E-R 模型设计 .102.3.1 实体 E-R 模型设计 .102.3.2 多元联系 E-R 模型设计 .112.3.3 总 E-R 模型设计 .123 逻辑设计 .123.1 实体集转化为关系模式 .123.2 联系集转化为关系模式 .133.3 聚合转化为关系模式 .133
3、.3 关系设计 .133.4 函数依赖关系 .163.5 模式求精 .164 物理设计 .174.1 关系模式存储方式选择 .174.1.1 索引存取方式,主要采用 B+ 树索引方法 .184.1.2 聚簇存取方式 .184.2 数据库的存取结构 .184.2.1 数据的存放位置 .184.2.2 数据存储路径 .185 数据库脚本 .186 游标、触发器与存储过程 .2411 需求分析需求分析将从编写目的、背景、系统目标系统功能分析、系统总体功能图、数据字典、数据需求及业务规则分析、实体和联系等方面进行分析,为概念设计提供依据。1.1 编写目的改变当下物流运输的滞后现状,通过科学的数据库管理
4、,完善物流运输行业的工作环节,提高运输效率,从而达到客户满意水平,形成一个一体化运输与反馈的物流运输环境。1.2 背景背景之一:我国国民经济高速发展我国自改革开放以来,国民经济就走上了持续稳定高速发展的道路,年均增长 8%以上,而从全国看,发展最快的又是我国东南沿海一些省市,他们利用国家给经济特区等一系列优惠政策,大力改革开放,发展经济,率先实现经济的超常规大幅度增长,其中出现了一批大型实力客户,像海尔、宝洁、IBM 等。经济的大幅增长,必然导致巨大的物质产品的流动,也就必然导致物流量的增加。这是经济发展的必然规律,也是物流业成长的必然规律。背景二:是改革开放的结果我国第三方物流的诞生是改革开
5、放的结果,跟改革开放有直接的关系。首先由一些国内的外资客户率先促成的,人们不难从我国第三方物流的产生过程看出它有三个特点:第一,它们是从东南沿海一些改革开放程度比较高的省市首先搞起来;第二,它首先是由像宝洁、IBM 等这样一些国外的大公司促成我国的一些客户搞起来的;第三,第三方物流公司的业务最先也主要是为国外这些大公司服务的物流业务。而由点到面的发展,必然需要发达的物流来带动。背景三:是我国物流学发展的结果我国第三方物流的发展有一个有趣的现象,就是一旦有了一个第三方物流的样板和模式,社会很快在各个地方推广开来。特别是最近几年,发展特快,上海、北京、天津等城市且不说,武汉就一下子兴起了如中远、长
6、江、中储、武储等好几家大型第三方物流公司。出现这种现象,可以说是中国物流学发展的结果,人们已经有了比较好的物流观念和物流学基础。背景四:是信息技术发展的结果20 世纪 90 年代以来,随着因特网技术以及各种信息技术的发展,为客户建设高效率的信息技术网络创造了条件,信息技术实现了数据的快速、准确传递,一方面提高了物流客户在仓库管理、装卸运输、采购、订货、配送发运、认单处理的自动化水平,促使订货、包装、保管、运输、流通加工一体化,使大规模、高质量、高服务水平处理物流客户与其他客户间的信息沟通交流、协调合作方便快捷,并能有效跟踪和管理物流渠道中的货物,精确计算物流活动2的成本,这就使客户可以随时跟踪
7、自己的货物,因而放心地把自己的物流业务交由第三方物流客户处理,这些环境条件都促使了第三方物流客户的产生。背景五:是市场竞争的结果第三方物流的产生是社会分工的必然结果。各客户为增强市场竞争力,而将客户的资金,人力,物力投入到其核心业务上,寻求社会化分工协作带来的效果和效率的最大化。专业化分工的结果导致许多非核心业烟从客户生产经营中分离出来,生产客户的核心是业务就是生产,物流业务不是他们的核心业务,它们将物流业务委托给第三方专业物流公司负责,不但自己可以集中精力发展自己的核心竞争力,抓好生产,而且可以降低成本。而第三方物流则以物流为核心竞争力,他们依靠自己的物流实力,完善物流服务功能,参与市场竞争
8、,取得市场竞争优势。这样,第三方物流的出现,实现了社会的合理分工,实现了社会资源的合理配置,同时又使生产客户和物流客户的核心竞争力都得到了加强,效益都是显著提高,这公分显示了第三方物流的综合优越性。1.3 功能分析第三方物流系统的两个重要因素:线路和节点,过去我们比较重视的是线路问题,线路与节点发展的不平衡使得我国物流的效率长期低下,资源利用率不高。对此,我们将从以下几个方面改善上述问题:快速、及时方面:及时性不但是服务性的延伸,也是流通对物流提出的要求。快速、及时既是一个传统目标,更是一个现代目标。其原因是随社会大生产发展,这一要求更加强烈了。在物流领域采取的诸如直达物流、联合一贯运输、高速
9、公路、时间表系统等管理和技术,就是这一目标的体现。 节约方面:节约是经济领域的重要规律,在物流领域中除流通时间的节约外,由于流通过程消耗大而又基本上不增加或提高商品使用价值,所以领先节约来降低投入,是提高相对产出的重要手段。 规模化方面:以物流规模做为物流系统的目标,是以此来追求“规模效益“ 。生产领域的规模生产是早已为社会所承认的。由于物流系统比生产系统的稳定性差,因而难于形成标准的规模化格式。在物流领域以分散或集中 等不同方式建立物流系统,研究物流集约化的程度,就是规模优化这一目标的体现。 库存调节方面:是服务性的延伸,也是宏观调控的要求,当然,也涉及到物流系统本身的效益。在物流领域中正确
10、确定库存方式、库存数量、库存 结构、库存分布就是这一目标的体现。1.4 系统功能分析第三方物流系统功能:客户基本信息管理、路线基本信息管理、车辆基本信息管理、订单基本信息管理、客户评价基本信息管理。1.4.1 客户基本信息管理为客户提供基本信息增加、修改、删除功能。包括:(1)客户基本信息增加:客户通过注册录入基本信息,客户注册时要求填写基本信息,包括客户名称、客户电话、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息,系统在注册用户注册完后自动为其生成一个客户编号,并且嵌入到客户注册信息内,形成完整的客户资料。3(2)客户基本信息修改:客户基本信息注册错误或有所改变时可以进行信息的修
11、改。可以修改登陆密码,修改联系人姓名,修改联系人电话。(3)客户基本信息删除:客户可以通过注销来删除客户基本信息。1.4.2 车辆基本信息管理提供车辆基本信息增加、修改、查询、删除功能。包括:(1)车辆基本信息增加:系统可以增加车辆基本信息,包括车牌号、车类型、最大载重量、上牌时间、服务范围、事故情况、运输单价(以路程和重量计算)等信息。系统检查所有信息填写正确后提示增加成功,返回车辆编号。(2)车辆基本信息修改:车辆基本信息如果出错或者有所改变,系统可以对车辆基本信息的具体内容进行修改。可以修改车辆车牌号,修改车辆车类型,修改车辆载物重,修改车辆上牌时间车龄,修改车辆事故情况,修改车辆服务意
12、向,修改车辆运输单价。 (3)车辆基本信息查询:根据不同的条件查询车辆基本信息。可以按车辆车牌号查询车辆基本信息,按车辆车类型查询车辆基本信息,按车辆载物重查询车辆基本信息,按车辆事故情况查询车辆基本信息,按车辆供车服务意向查询车辆基本信息,按车辆运输单价查询车辆基本信息。(4)车辆基本信息删除:由于车辆报废或转卖,可以删除车辆基本信息,包括车辆编号、车牌号、车类型、最大载重量、上牌时间、服务意向、事故情况、运输单价等信息。1.4.3 订单基本信息管理提供订单表的增加、删除、修改功能:(1)订单基本信息增加:客户在填写客户编号、货物名称、货物重量、路程长度、出发地、目的地、订单时间、订单备注等
13、信息后,系统检查所有信息填写正确后提示增加成功并返回订单总额和订单编号。订单表还包括订单数量和运输费用等。(2)订单基本信息更新:系统根据订单表自动更新订单表中的信息,如订单表编号、订单数量、订单总额等。(3)订单基本信息修改:客户可根据需要修改出发地、货物名称、货物重量、目的地、订单备注等信息。(4)订单基本信息查询:客户或第三方物流公司可根据订单编号、出发地、目的地、订单金额、运输费用和货物重量等对订单进行查询。1.4.4 路线基本信息管理提供路线基本信息增加、删除、优化、修改功能。包括:(1)路线基本信息增加:第三方物流公司统计订单目的地后添加路线基本信息,其中包含路线编号,出发地,目的
14、地,预计所需时间等信息。(2)路线基本信息删除:根据客户退单情况或者交通天气状况的改变进行一些无效线路的删除。(3) 路线基本信息优化:根据筛选重复路线及包含路线进行路线整合,优化计算所需最短最少路线。(4) 路线基本信息修改:根据更改订单状况或者交通天气状况对路线信息进行修改。包括路线出发地的修改,路线目的地的修改和路线交通工具的修改。1.4.5 客户评价基本信息管理提供客户满意度评价功能及查询功能。4(1) 客户满意度评价:需求商和供应商对此次物流运输的整体情况做一个星级评价。包括:评价编号和总体评价。(2)具体服务项目评价:客户(包括供应商和需求商)对本次第三方物流运输情况的各个子项目进
15、行评价。包括:对服务质量的评价,对运输路线的评价,对运输车辆的评价,对运输时间的评价,对运输费用的评价。(3)反馈信息查询:根据不同条件查询总体评价和各项服务评级水平。可以按评价号查询,按客户姓名查询,按路线编号查询,按运输费用查询,按车辆评价查询,按费用评价查询,按所花时间查询。1.5 系统功能图分析第三方物流运输系统功能图如图 1.1 所示。第三方物流运输系统客户基本信息管理路线基本信息管理车辆基本信息管理订单基本信息管理客户评价信息管理客户基本信息增加客户基本信息修改客户基本信息删除路线基本信息增加 路线基本信息删除路线基本信息优化 路线基本信息修改路线基本信息查询车辆基本信息增加 车辆
16、基本信息修改车辆基本信息查询 车辆基本信息删除订单基本信息查询 订单基本信息更新订单基本信息增加客户满意度评价 反馈信息查询各项服务评价查询图 1.1 系统功能图1.6 数据需求及业务规则分析 业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解第三方物流运输系统需求及业务分析规则5如下:(1)客户由客户编号唯一标识,需要存储客户的公司名、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息。(2)客户只能查询自己的基本信息。(3)供应商客户需在 48 小时内登陆并发货。(4)需求商客户提交运输申请 48 小时后不得修改。(5)需求商客户 48
17、小时内提交相同目的地的运输申请可合并为一个订单。(6)需求商客户 48 小时内可以取消运输申请,登陆后请求删除订单。(7)一个客户只能有一名法人。(8)供应商客户与需求商客户同时确认订单时予以发货运输。提出申请 48 小时后有一方未确认则取消订单。(9)未发货的同一目的地或其包含路线上的订单数小于 10 时,在最早提交申请的订单确认 24 小时后发货运输。(10)双方确认订单后原则上不允许撤销,如有真实存在的不可抗拒因素而必须取消订单的话,责任方需交付订单金额的 10%作为违约金。若取消订单数目过多导致上条情况发生,则责任方需另交付订单金额 5%作为剩余订单公司的延迟运输补偿。(11)在交付第
18、三方物流运输费用后我司方可开始运输。(12)每个运输车辆在事故状况中出现 3 次以上事故本月停止运输工作。(13)订单中的运输费用必须大于 0。(14)服务评价最高等级为 5,最低为 1,且一次运输订单号只有一次评价机会。(15)客户满意度评价中供应商客户与需求商客户对每张订单分别能且仅能评价一次。(16)每一辆车的总载重量不能超过该车的最大载重量。(17)订单中的出发地和目的地必须和路线中的出发地和目的地相同。1.7 数据约束分析(1)客户编号约束:以字母 E 开头再加上 8 位数字组成,按流水号一次增大。check 约束为 check(EcompNo like E0-9 0-9 0-9 0
19、-9 0-9 0-9 0-9 0-9)。(2)路线编号约束:以字母 R 开头再加上 8 位数字,按流水号一次增大。check 约束为 check(RouNo like R0-9 0-9 0-9 0-9 0-9 0-9 0-9 0-9)。(3)车辆编号约束:以字母 C 开头再加上 8 位数字。按流水号一次增大。check 约束为 check(CarNo like B0-9 0-9 0-9 0-9 0-9 0-9 0-9 0-9)。(4)订单编号约束:以字母 O 开头再加上 8 位数字。按流水号一次增大。check 约束为 check(OrderNo like O0-9 0-9 0-9 0-9 0
20、-9 0-9 0-9 0-9)(5)客户信息表的主键是 EcompNo,每一个编号都是唯一的。(6)客户的所有信息不允许为空。(7)车辆信息表的主键是 CarNo,每一个车辆编号都是唯一的。(8) 路线信息表的主键是 RouNo,每一个路线编号都是唯一的。6(9) 路线信息表中所有信息不允许为空。(10)订单表的主键是 OrderNo,每一个订单编号都是唯一的。(11)订单表中运输单价为 X 元/kgkm ,具体情况根据货物类型而定。(12)所有密码(SSerCode)不能为空值,由 6-12 位字母和数字组成。(13)注册日期(regDate)不能为空值,数据类型为 datetime。(14
21、) 联系人电话(Telephone)不能为空值,取值范围为 00000000000-99999999999,固定电话加地区号输入。(15)订单一旦生成则无法删除。(16)联系人姓名(EcompName)不能为空值,不得超过 20 字。(17)最大载重量(MaxWgt)不能为空值,数据为 int。(18)车牌号(CarNoo)不能为空值,真实填写。(19)车类型(CarType)不能为空值,不得超过 5 字,用文字说明。(20)事故状况(Accidents)不能为空值,数据类型为 int。(21)上牌时间(CarTime)不能为空值,数据类型为 int。(22)总体评价(SerLevel)不能为
22、空值,0-100 范围内 int。(23)运输时间(TranTime)数据类型为 int,单位:小时。(24)运输单价(TranFee)不可以为空值,数据类型 int。(25)出发地(Start)不能为空值,不得超过 20 字,用文字说明,默认只能用城市名。(26)目的地(destination)不能为空值,不得超过 20 字,用文字说明,默认只能用城市名。1.8 数据字典1.8.1 数据项与数据结构通过对所建立的表进行分析,我们得到了以下一些数据项:(1)客户表如表 1.1 所示。表 1.1 客户表数据项 数据类 型 别名 是否为空 约束 取值含义EcompNo char(9) 客户编号 N
23、ot nullE00000001-E99999999 主键E 代表客户,后8 位按顺序由系统自动编号EcompName char(6) 客户名称 Not null 真实填写RegDate char(8) 注册日期 Not null 以天为单位 以系统时间为准SSerCode Char(6) 登陆密码 Not null字母或数字6 位(不分大小写)AddressChar(30) 客户地址 Not nullTelephonevarchar(11) 联系人电话 Not null7LPName varchar(6) 法人姓名 Not null 不得超过 3字 用文字说明ETelephonevarcha
24、r(11) 客户电话 Not nullConName Char(6) 联系人姓名 Notnull必须为客户公司的经理联系人(2)车辆表如表 1.2 所示。表 1.2 车辆表数据项数据类型 别名 是否为空 约束 取值含义CarNo char(9) 车辆编号 Not null C00000001-C99999999 主键C 代表车辆,后 8 位按顺序编号CarLisen Char(6) 车牌号 Not null 真实填写CarTimeDatetime 上牌时间 Not null 6-12 位,由字母和数字组成SerTend varchar(20)服务意向 Null 不得超过 20 字 用文字说明A
25、ccidentsvarchar(20)事故状况 Not null 不超过 20 字 用文字说明TranFeevarchar(20)运输单价 Not null 不超过 40 字 用文字说明MaxWgtInt 最大载重 Not nullCarTypedvarchar(20)车类型 Not null 不超过五字 用文字说明(3)订单表如表 1.3 所示。表 1.3 订单表数据项数据类型 别名 是否为空 约束 取值含义OrderNochar(9) 订单编号 Not null D00000001-D99999999 主键D 代表明细表,后 8 位按顺序编号OrderNumchar(9) 订单数量 Not
26、 nullOrderSumchar(9) 订单金额 NullStart varchar(40)出发地 Not null 不得超过 20 字外键用文字说明8destinationvarchar(40)目的地 Not null 不得超过 20 字外键用文字说明GName varchar(20)货物名称 Not null 不超过 20 字 用文字说明GWgt char(10) 货物重量 Not nullLengthchar(10) 路程长度 Not null 外键OrderFeechar(9) 运输费用 Null 不得超过 40 字OrderScriptVarchar(20)订单备住 Null 不超
27、过 40 字 用文字说明OrdertimeDatetime 订单时间 Not null 订单生成时间(4)路线表如表 1.4 所示。表 1.4 路线表数据项数据类型 别名 是否为空 约束 取值含义RouNo char(9) 路线编号 Not null R00000001-R99999999 主键R 代表订单,后 8 位按顺序编号Start varchar(20)出发地 Not null 不超过 20 字 用文字说明Distinationvarchar(20)目的地 Not null 不超过 20 字 用文字说明Lengthchar(10) 路程长度 Not nullPriTimechar(10) 预计时间 Not null(5)客户评价表如表 1.5 所示。表 1.5 客户评价表数据项数据类型 别名 是否为空 约束 取值含义CommLevelchar(9) 评价编号 Not null P00000001-P99999999 主键P 代表评价,后 8 位按顺序编号SerLevelchar(10) 总体评价 Not nullCarLevelchar(10) 车辆评价 Not nullSvLevelchar(10) 服务评价 Not null