1、 本科学生综合性实验报告 课程名称:数据库技术及应用 第三方物流运输 系统数据库设计 项目组长 强项 学号 0093954 成 员 彭聪 学号 0093956 蔡佳欣 学号 0093971 班 级 B01班 实验项目名称 第三方物流运输系统数据库设计 指导教师及职称 刘爱红 老师 开课学期 2010 至
2、 2011 学年 第 2 学期 截止日期 2011 年 6 月 20 日 目 录 1 需求分析 1 1.1 编写目的 1 1.2背景 1 1.3 功能分析 2 1.4系统功能分析 2 1.4.1客户基本信息管理 2 1.4.2车辆基本信息管理 3 1.4.3订单基本信息管理 3 1.4.4路线基本信息管理 3 1.4.5客户评价基本信息管理 3 1.5系统功能图分析 4 1.6数据需求及业务规则分析 4 1.7数据约束分析 5 1.8数据字典 6 1.8.1数据项与数据结构 6 1.8.2数据处
3、理 9 2 数据库概念设计 9 2.1定义实体集及属性 9 2.2定义联系集及属性 10 2.3E-R模型设计 10 2.3.1实体E-R模型设计 10 2.3.2多元联系E-R模型设计 11 2.3.3总E-R模型设计 12 3 逻辑设计 12 3.1实体集转化为关系模式 12 3.2联系集转化为关系模式 13 3.3聚合转化为关系模式 13 3.3关系设计 13 3.4函数依赖关系 16 3.5模式求精 16 4 物理设计 17 4.1关系模式存储方式选择 17 4.1.1索引存取方式,主要采用B+ 树索引方法 18 4.1.2聚簇存取方式 18 4.
4、2数据库的存取结构 18 4.2.1数据的存放位置 18 4.2.2数据存储路径 18 5 数据库脚本 18 6 游标、触发器与存储过程 24 1 需求分析 需求分析将从编写目的、背景、系统目标系统功能分析、系统总体功能图、数据字典、数据需求及业务规则分析、实体和联系等方面进行分析,为概念设计提供依据。 1.1 编写目的 改变当下物流运输的滞后现状,通过科学的数据库管理,完善物流运输行业的工作环节,提高运输效率,从而达到客户满意水平,形成一个一体化运输与反馈的物流运输环境。 1.2背景 背景之一:我国国民经济高速发展 我国自改革开放以来,国民经济就走上了
5、持续稳定高速发展的道路,年均增长8%以上,而从全国看,发展最快的又是我国东南沿海一些省市,他们利用国家给经济特区等一系列优惠政策,大力改革开放,发展经济,率先实现经济的超常规大幅度增长,其中出现了一批大型实力客户,像海尔、宝洁、IBM等。经济的大幅增长,必然导致巨大的物质产品的流动,也就必然导致物流量的增加。这是经济发展的必然规律,也是物流业成长的必然规律。 背景二:是改革开放的结果 我国第三方物流的诞生是改革开放的结果,跟改革开放有直接的关系。首先由一些国内的外资客户率先促成的,人们不难从我国第三方物流的产生过程看出它有三个特点:第一,它们是从东南沿海一些改革开放程度比较高的省市首先搞起
6、来;第二,它首先是由像宝洁、IBM等这样一些国外的大公司促成我国的一些客户搞起来的;第三,第三方物流公司的业务最先也主要是为国外这些大公司服务的物流业务。而由点到面的发展,必然需要发达的物流来带动。 背景三:是我国物流学发展的结果 我国第三方物流的发展有一个有趣的现象,就是一旦有了一个第三方物流的样板和模式,社会很快在各个地方推广开来。特别是最近几年,发展特快,上海、北京、天津等城市且不说,武汉就一下子兴起了如中远、长江、中储、武储等好几家大型第三方物流公司。出现这种现象,可以说是中国物流学发展的结果,人们已经有了比较好的物流观念和物流学基础。 背景四:是信息技术发展的结果 20世纪9
7、0年代以来,随着因特网技术以及各种信息技术的发展,为客户建设高效率的信息技术网络创造了条件,信息技术实现了数据的快速、准确传递,一方面提高了物流客户在仓库管理、装卸运输、采购、订货、配送发运、认单处理的自动化水平,促使订货、包装、保管、运输、流通加工一体化,使大规模、高质量、高服务水平处理物流客户与其他客户间的信息沟通交流、协调合作方便快捷,并能有效跟踪和管理物流渠道中的货物,精确计算物流活动的成本,这就使客户可以随时跟踪自己的货物,因而放心地把自己的物流业务交由第三方物流客户处理,这些环境条件都促使了第三方物流客户的产生。 背景五:是市场竞争的结果 第三方物流的产生是社会分工的必然结果。
8、各客户为增强市场竞争力,而将客户的资金,人力,物力投入到其核心业务上,寻求社会化分工协作带来的效果和效率的最大化。专业化分工的结果导致许多非核心业烟从客户生产经营中分离出来,生产客户的核心是业务就是生产,物流业务不是他们的核心业务,它们将物流业务委托给第三方专业物流公司负责,不但自己可以集中精力发展自己的核心竞争力,抓好生产,而且可以降低成本。而第三方物流则以物流为核心竞争力,他们依靠自己的物流实力,完善物流服务功能,参与市场竞争,取得市场竞争优势。这样,第三方物流的出现,实现了社会的合理分工,实现了社会资源的合理配置,同时又使生产客户和物流客户的核心竞争力都得到了加强,效益都是显著提高,这公
9、分显示了第三方物流的综合优越性。 1.3 功能分析 第三方物流系统的两个重要因素:线路和节点,过去我们比较重视的是线路问题,线路与节点发展的不平衡使得我国物流的效率长期低下,资源利用率不高。对此,我们将从以下几个方面改善上述问题: 快速、及时方面:及时性不但是服务性的延伸,也是流通对物流提出的要求。快速、及时既是一个传统目标,更是一个现代目标。其原因是随社会大生产发展,这一要求更加强烈了。在物流领域采取的诸如直达物流、联合一贯运输、高速公路、时间表系统等管理和技术,就是这一目标的体现。 节约方面:节约是经济领域的重要规律,在物流领域中除流通时间的节约外,由于流通过程消耗大而又基本
10、上不增加或提高商品使用价值,所以领先节约来降低投入,是提高相对产出的重要手段。 规模化方面:以物流规模做为物流系统的目标,是以此来追求"规模效益" 。生产领域的规模生产是早已为社会所承认的。由于物流系统比生产系统的稳定性差,因而难于形成标准的规模化格式。在物流领域以分散或集中 等不同方式建立物流系统,研究物流集约化的程度,就是规模优化这一目标的体现。 库存调节方面:是服务性的延伸,也是宏观调控的要求,当然,也涉及到物流系统本身的效益。在物流领域中正确确定库存方式、库存数量、库存 结构、库存分布就是这一目标的体现。 1.4系统功能分析 第三方物流系统功能:客户基本信息管理、路
11、线基本信息管理、车辆基本信息管理、订单基本信息管理、客户评价基本信息管理。 1.4.1客户基本信息管理 为客户提供基本信息增加、修改、删除功能。包括: (1)客户基本信息增加:客户通过注册录入基本信息,客户注册时要求填写基本信息,包括客户名称、客户电话、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息,系统在注册用户注册完后自动为其生成一个客户编号,并且嵌入到客户注册信息内,形成完整的客户资料。 (2)客户基本信息修改:客户基本信息注册错误或有所改变时可以进行信息的修改。可以修改登陆密码,修改联系人姓名,修改联系人电话。 (3)客户基本信息删除:客户可以通过注销来删除客户基本
12、信息。 1.4.2车辆基本信息管理 提供车辆基本信息增加、修改、查询、删除功能。包括: (1)车辆基本信息增加:系统可以增加车辆基本信息,包括车牌号、车类型、最大载重量、上牌时间、服务范围、事故情况、运输单价(以路程和重量计算)等信息。系统检查所有信息填写正确后提示增加成功,返回车辆编号。 (2)车辆基本信息修改:车辆基本信息如果出错或者有所改变,系统可以对车辆基本信息的具体内容进行修改。可以修改车辆车牌号,修改车辆车类型,修改车辆载物重,修改车辆上牌时间车龄,修改车辆事故情况,修改车辆服务意向,修改车辆运输单价。 (3)车辆基本信息查询:根据不同的条件查询车辆基本信息。可以按车
13、辆车牌号查询车辆基本信息,按车辆车类型查询车辆基本信息,按车辆载物重查询车辆基本信息,按车辆事故情况查询车辆基本信息,按车辆供车服务意向查询车辆基本信息,按车辆运输单价查询车辆基本信息。 (4)车辆基本信息删除:由于车辆报废或转卖,可以删除车辆基本信息,包括车辆编号、车牌号、车类型、最大载重量、上牌时间、服务意向、事故情况、运输单价等信息。 1.4.3订单基本信息管理 提供订单表的增加、删除、修改功能: (1)订单基本信息增加:客户在填写客户编号、货物名称、货物重量、路程长度、出发地、目的地、订单时间、订单备注等信息后,系统检查所有信息填写正确后提示增加成功并返回订单总额和订单编号。订
14、单表还包括订单数量和运输费用等。 (2)订单基本信息更新:系统根据订单表自动更新订单表中的信息,如订单表编号、订单数量、订单总额等。 (3)订单基本信息修改:客户可根据需要修改出发地、货物名称、货物重量、目的地、订单备注等信息。 (4)订单基本信息查询:客户或第三方物流公司可根据订单编号、出发地、目的地、订单金额、运输费用和货物重量等对订单进行查询。 1.4.4路线基本信息管理 提供路线基本信息增加、删除、优化、修改功能。包括: (1)路线基本信息增加:第三方物流公司统计订单目的地后添加路线基本信息,其中包含路线编号,出发地,目的地,预计所需时间等信息。 (2)路线基本信息删除:
15、根据客户退单情况或者交通天气状况的改变进行一些无效线路的删除。 (3) 路线基本信息优化:根据筛选重复路线及包含路线进行路线整合,优化计算所需最短最少路线。 (4) 路线基本信息修改:根据更改订单状况或者交通天气状况对路线信息进行修改。包括路线出发地的修改,路线目的地的修改和路线交通工具的修改。 1.4.5客户评价基本信息管理 提供客户满意度评价功能及查询功能。 (1) 客户满意度评价:需求商和供应商对此次物流运输的整体情况做一个星级评价。包括:评价编号和总体评价。 (2)具体服务项目评价:客户(包括供应商和需求商)对本次第三方物流运输情况的各个子项目进行评价。包括:对服务质量的评
16、价,对运输路线的评价,对运输车辆的评价,对运输时间的评价,对运输费用的评价。 (3)反馈信息查询:根据不同条件查询总体评价和各项服务评级水平。可以按评价号查询,按客户姓名查询,按路线编号查询,按运输费用查询,按车辆评价查询,按费用评价查询,按所花时间查询。 1.5系统功能图分析 第三方物流运输系统功能图如图1.1所示。 第三方物流运输系统 客户基本信息管理 路线基本信息管理 车辆基本信息管理 订单基本信息管理 客户评价信息管理 客户基本信息增加 客户基本信息修改 客户基本信息删除 路线基本信息增加 路线基本信息删除 路线基本信息优化 路线基本信息修改
17、路线基本信息查询 车辆基本信息增加 车辆基本信息修改 车辆基本信息查询 车辆基本信息删除 订单基本信息查询 订单基本信息更新 订单基本信息增加 客户满意度评价 反馈信息查询 各项服务评价查询 图1.1 系统功能图 1.6数据需求及业务规则分析 业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解第三方物流运输系统需求及业务分析规则如下: (1)客户由客户编号唯一标识,需要存储客户的公司名、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息。 (2)客户只能查询自己的基本信息。 (3)供应商客户需在48小时
18、内登陆并发货。 (4)需求商客户提交运输申请48小时后不得修改。 (5)需求商客户48小时内提交相同目的地的运输申请可合并为一个订单。 (6)需求商客户48小时内可以取消运输申请,登陆后请求删除订单。 (7)一个客户只能有一名法人。 (8)供应商客户与需求商客户同时确认订单时予以发货运输。提出申请48小时后有一方未确认则取消订单。 (9)未发货的同一目的地或其包含路线上的订单数小于10时,在最早提交申请的订单确认24小时后发货运输。 (10)双方确认订单后原则上不允许撤销,如有真实存在的不可抗拒因素而必须取消订单的话,责任方需交付订单金额的10%作为违约金。若取消订单数目过多导致
19、上条情况发生,则责任方需另交付订单金额5%作为剩余订单公司的延迟运输补偿。 (11)在交付第三方物流运输费用后我司方可开始运输。 (12)每个运输车辆在事故状况中出现3次以上事故本月停止运输工作。 (13)订单中的运输费用必须大于0。 (14)服务评价最高等级为5,最低为1,且一次运输订单号只有一次评价机会。 (15)客户满意度评价中供应商客户与需求商客户对每张订单分别能且仅能评价一次。 (16)每一辆车的总载重量不能超过该车的最大载重量。 (17)订单中的出发地和目的地必须和路线中的出发地和目的地相同。 1.7数据约束分析 (1)客户编号约束:以字母E开头再加上8位数字组成
20、按流水号一次增大。check约束为check(EcompNo like ‘[E][0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)。 (2)路线编号约束:以字母R开头再加上8位数字,按流水号一次增大。check约束为check(RouNo like ‘[R][0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)。 (3)车辆编号约束:以字母C开头再加上8位数字。按流水号一次增大。check约束为check(CarNo like ‘[B][0-9] [0-9] [0-9] [0-9] [0-9] [
21、0-9] [0-9] [0-9]’)。 (4)订单编号约束:以字母O开头再加上8位数字。按流水号一次增大。check约束为check(OrderNo like ‘[O][0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’) (5)客户信息表的主键是EcompNo,每一个编号都是唯一的。 (6)客户的所有信息不允许为空。 (7)车辆信息表的主键是CarNo,每一个车辆编号都是唯一的。 (8) 路线信息表的主键是RouNo,每一个路线编号都是唯一的。 (9) 路线信息表中所有信息不允许为空。 (10)订单表的主键是OrderNo,每一个订单
22、编号都是唯一的。 (11)订单表中运输单价为X元/kg•km ,具体情况根据货物类型而定。 (12)所有密码(SSerCode)不能为空值,由6-12位字母和数字组成。 (13)注册日期(regDate)不能为空值,数据类型为datetime。 (14) 联系人电话(Telephone)不能为空值,取值范围为00000000000-99 999999999,固定电话加地区号输入。 (15)订单一旦生成则无法删除。 (16)联系人姓名(EcompName)不能为空值,不得超过20字。 (17)最大载重量(MaxWgt)不能为空值,数据为int。 (18)车牌号(CarNoo)不
23、能为空值,真实填写。 (19)车类型(CarType)不能为空值,不得超过5字,用文字说明。 (20)事故状况(Accidents)不能为空值,数据类型为int。 (21)上牌时间(CarTime)不能为空值,数据类型为int。 (22)总体评价(SerLevel)不能为空值,0-100范围内int。 (23)运输时间(TranTime)数据类型为int,单位:小时。 (24)运输单价(TranFee)不可以为空值,数据类型int。 (25)出发地(Start)不能为空值,不得超过20字,用文字说明,默认只能用城市名。 (26)目的地(destination)不能为空值,不得超
24、过20字,用文字说明,默认只能用城市名。 1.8数据字典 1.8.1数据项与数据结构 通过对所建立的表进行分析,我们得到了以下一些数据项: (1)客户表如表1.1所示。 表1.1客户表 数据项 数据类型 别名 是否为空 约束 取值含义 EcompNo char(9) 客户编号 Not null E00000001-E99999999 主键 E代表客户,后8位按顺序由系统自动编号 EcompName char(6) 客户名称 Not null 真实填写 RegDate char(8) 注册日期 Not null 以天为单位 以系统时间
25、为准 SSerCode Char(6) 登陆密码 Not null 字母或数字6位(不分大小写) Address Char(30) 客户地址 Not null Telephone varchar(11) 联系人电话 Not null LPName varchar(6) 法人姓名 Not null 不得超过3字 用文字说明 ETelephone varchar(11) 客户电话 Not null ConName Char(6) 联系人姓名 Notnull 必须为客户公司的经理联系人 (2)车辆表如表1.2所
26、示。 表1.2 车辆表 数据项 数据类型 别名 是否为空 约束 取值含义 CarNo char(9) 车辆编号 Not null C00000001-C99999999 主键 C代表车辆,后8位按顺序编号 CarLisen Char(6) 车牌号 Not null 真实填写 CarTime Datetime 上牌时间 Not null 6-12位,由字母和数字组成 SerTend varchar(20) 服务意向 Null 不得超过20字 用文字说明 Accidents varchar(20) 事故状况 Not n
27、ull 不超过20字 用文字说明 TranFee varchar(20) 运输单价 Not null 不超过40字 用文字说明 MaxWgt Int 最大载重 Not null CarType dvarchar(20) 车类型 Not null 不超过五字 用文字说明 (3)订单表如表1.3所示。 表1.3 订单表 数据项 数据类型 别名 是否为空 约束 取值含义 OrderNo char(9) 订单编号 Not null D00000001-D99999999 主键 D代表明细表,后8位按顺序编号 OrderNum
28、 char(9) 订单数量 Not null OrderSum char(9) 订单金额 Null Start varchar(40) 出发地 Not null 不得超过20字 外键 用文字说明 destination varchar(40) 目的地 Not null 不得超过20字 外键 用文字说明 GName varchar(20) 货物名称 Not null 不超过20字 用文字说明 GWgt char(10) 货物重量 Not null Length char(10) 路程长度 Not nu
29、ll 外键 OrderFee char(9) 运输费用 Null 不得超过40字 OrderScript Varchar(20) 订单备住 Null 不超过40字 用文字说明 Ordertime Datetime 订单时间 Not null 订单生成时间 (4)路线表如表1.4所示。 表1.4 路线表 数据项 数据类型 别名 是否为空 约束 取值含义 RouNo char(9) 路线编号 Not null R00000001-R99999999 主键 R代表订单,后8位按顺序编号 Start varchar(2
30、0) 出发地 Not null 不超过20字 用文字说明 Distination varchar(20) 目的地 Not null 不超过20字 用文字说明 Length char(10) 路程长度 Not null PriTime char(10) 预计时间 Not null (5)客户评价表如表1.5所示。 表1.5 客户评价表 数据项 数据类型 别名 是否为空 约束 取值含义 CommLevel char(9) 评价编号 Not null P00000001-P99999999 主键 P代表评
31、价,后8位按顺序编号 SerLevel char(10) 总体评价 Not null CarLevel char(10) 车辆评价 Not null SvLevel char(10) 服务评价 Not null TTLevel char(10) 所花时间评价 Not null RouLevel char(10) 路线评价 Not null FeeLevel char(10) 费用评价 Not null 1.8.2数据处理 数据处理结果如表1.6所示。 表1.6 数据处理 编号 功能 处理
32、说明 1. 客户注册 当客户成功注册后,自动在客户表中添加该客户的注册信息 2. 修改客户登陆密码 先按客户编号查询到客户基本型信息再对登陆密码进行修改 3. 修改客户联系人姓名 先按客户编号查询到客户基本型信息再对客户联系人姓名进行修改 4. 修改客户联系人电话 先按客户编号查询到客户基本型信息再对客户联系人电话进行修改 5. 按客户名称查询客户基本信息 按客户名称精确查询客户基本信息 6. 按客户编号查询客户基本信息 按客户编号精确查询客户基本信息 7. 按法人姓名查询客户基本信息 按客户法人姓名精确查询客户基本信息 8. 按客户经理人姓名查询
33、客户基本信息 按客户经理人姓名精确查询客户基本信息 9. 按客户经理人电话查询客户基本信息 按客户经理人电话查询客户基本信息 10. 客户注销 按客户编号精确查询到客户基本信息,再进行删除 11. 订单金额计算 按照路程长度和货物重量计算订单金额 12. 客户评价 客户按照路线,车辆,服务,时间,费用评价,算出平均分生成总体评价。 2 数据库概念设计 对实体集及属性、联系集及属性进行定义和E-R模型设计。 2.1定义实体集及属性 (1)客户实体集Ecomp:客户编号(EcompNo)、客户名称(EcompName)、客户电话(ETelephone)、注
34、册日期(RegDate)、登陆密码(SSerCode)、地址(Address)、法人姓名(LPName)、联系人姓名(ConName)。 (2)路线实体集Route:路线编号(RouNo)、出发地( Start)、目的地 (Distination)、路程长度(Length)、 预计时间(PriTime)等信息。 (3)车辆实体集Car:车辆编号(CarNo)、车牌号(CarLisen)、上牌时间(CarTime)服务意向(SerTend)、事故状况(Accidents)、运输单价(TranFee)、最大载重(MaxWgt)、车类型(CarType)。 2.2定义联系集及属性 (1)订单
35、Order:订单编号(OrderNo)、订单数量(OrderNum)、订单总额(OrderSum)、出发地(Start)、目的地(destination)、货物名称(GName)、货物重量(GWgt)、运输费用(OrderFee)、路程长度(Length)、订单备注(OrderScript)、订单时间(Ordertime)。 (2)客户评价CommLevel:评价编号(CommNo)、总体评价(SerLevel)、车辆评价(CarLevel)、路线评价(RouLevel)、服务质量评价(SvLevel)、运输时间评价(TTLevel)、费用评价(FeeLevel)。 2.3E-R模型设计
36、 系统的E-R模型设计,不仅包括基本实体的E-R图设计,还包括两个实体之间的联系的E-R图设计,下面分别从单个实体E-R图设计、两个实体E-R图设计以及聚合的E-R图设计进行简单表示与阐述。 2.3.1实体E-R模型设计 (1)客户E-R模型如图2.1所示。 联系人姓名 客户电话 客户编号 登陆密码 客户地址 客户名称 客户 法人姓名 注册日期 图2.1 客户E-R模型 (2)车辆E-R模型如图2.2所示。 车辆编号 车牌号 车类型 最大载重量 上牌时间 服务意向 事故状况 费用说明 车辆 图2.2 车辆E-R模型 (3)路线E
37、R模型如图2.3所示。 路线 预计时间 路线编号 出发地 目的地 路程长度 图2.3 路线E-R模型 2.3.2多元联系E-R模型设计 订单联系集的E-R模型如图2.4所示。 订单 车辆 客户 路线 订单数量 订单金额 订单编号 货物名称 出发地 目的地 订单时间 路程长度 图2.4 订单联系E-R模型 2.3.3总E-R模型设计 第三方物流运输系统总ER图如图2.5所示。 订单 车辆 客户 路线 评价 运输费用评价 运输时间评价 评价编号 服务质量评价 总体评价 订单编号 收货方 发货方 货物名称 订单金
38、额 订单数量 图2.5 总E-R模型 3 逻辑设计 本次设计的数据库在SQL Server 2000上实现,将概念结构设计中的E-R图转换成SQL Sever 2000支持的关系数据模型。 3.1实体集转化为关系模式 (1)客户实体集Ecomp: Ecomp (EcompNo、EcompName 、ETelephone、regDate、SSerCode、Address、LPName、Telephone、ConName) (2)车辆实体集Car: Car (CarNo、CarLisen、CarTime、SerTend、Accidents、TranFee、MaxWgt、CarTy
39、pe) (3) 路线实体集Route: Route (RouNo、Start、Distination、PriTime) 3.2联系集转化为关系模式 订单联系集Order: Order(Orderno、OrderNum 、OrderSum 、GName、GWgt、Length、Start、 destination、OrderFee、OrderScript) 3.3聚合转化为关系模式 客户评价CommLevel: CommLevel (CommNo、SerLevel、CarLevel、RouLevel、SvLevel、TTLevel、FeeLevel) 3.3关系设计 关系设
40、计包括转换后所得表和函数依赖关系,转换后为: (1)客户表如表3.1所示。 表3.1 客户表 数据项 数据类型 别名 是否为空 约束 取值含义 EcompNo char(9) 客户编号 Not null E00000001-E99999999 主键 E代表客户,后8位按顺序由系统自动编号 EcompName char(6) 客户名称 Not null 真实填写 ETelephone varchar(11) 客户电话 Not null RegDate Datetime 注册日期 Not null 以天为
41、单位 以系统时间为准 SSerCode Char(6) 登陆密码 Not null 字母或数字6位(不分大小写) 初始密码为123456 Telephone varchar(11) 联系人电话 Not null LPName varchar(10) 法人姓名 Notnull 不得超过5字 用文字说明 ConName Char(6) 联系人姓名 Notnull 必须为客户公司的经理联系人 (2)车辆表如表3.2所示。 表3.2 车辆表 数据项 数据类型 别名 是否为空 约束 取值含义 CarNo char(9)
42、车辆编号 Not null C00000001-C99999999 主键 C代表车辆,后8位按顺序编号 CarLisen Char(6) 车牌号 Not null 真实填写 CarTime Datetime 上牌时间 Not null 6-12位,由字母和数字组成 SerTend varchar(40) 服务意向 Null 不得超过20字 用文字说明 Accidents Int 事故状况 Not null 用数字说明 TranFee varchar(20) 运输单价 Not null 不超过40字 用文字说明 Ma
43、xWgt、 Int 最大载重 Not null CarType dvarchar(20) 车类型 Null 不超过五字 用文字说明 (3)订单表如表3.3所示。 表3.3 订单表 数据项 数据类型 别名 是否为空 约束 取值含义 OrderNo char(9) 订单编号 Not null D00000001-D99999999 主键 D代表订单,后8位按顺序编号 OrderNum char(9) 订单数量 Not null OrderSum char(9) 订单总额 Null Start varch
44、ar(40) 出发地 Not null 不得超过20字 外键 用文字说明 Destination varchar(40) 目的地 Not null 不得超过20字 外键 用文字说明 GName varchar(40) 货物名称 Null 不超过20字 外键 用文字说明 GWgt char(10) 货物重量 Not null Length char(10) 路程长度 Not null OrderFee Char(9) 运输费用 Null 不得超过40字 OrderScript Varchar(20) 订单
45、备住 Null 不超过40字 用文字说明 (4)路线表如表3.4所示。 表3.4 路线表 数据项 数据类型 别名 是否为空 约束 取值含义 RouNo char(9) 订单编号 Not null R00000001-R99999999 主键 R代表路线,后8位按顺序编号 Start varchar(20) 出发地 Not null 不超过10字 用文字说明 Destination varchar(20) 目的地 Not null 不超过10字 用文字说明 PriTime char(10) 预计时间 Null
46、 (5)客户评价表如表3.5所示。 表3.5 客户评价表 数据项 数据类型 别名 是否为空 约束 取值含义 CommLevel char(9) 评价编号 Not null P00000001-P99999999 主键 P代表评价,后8位按顺序编号 SerLevel int 总体评价 null 1-100 int 平均分数 CarLevel char(10) 车辆评价 Not null 1-100 int 分数 SvLevel char(10) 服务评价 Not null 1-100 int 分数 TTLevel char
47、10) 运输时间评价 Not null 1-100 int 分数 RouLevel char(10) 路线评价 Not null 1-100 int 分数 FeeLevel char(10) 运输费用评价 Not null 1-100 int 分数 3.4函数依赖关系 (1)客户实体集Ecomp: Ecomp(EcompNo、EcompName、ETelephone、regDate、SSerCode、Address、LPName、Telephone、ConName)∈3NF (2)车辆实体集Car: Car(CarNo、CarLisen、CarTim
48、e、SerTend、Accidents、TranFee、MaxWgt、CarType)∈3NF (3) 路线实体集Route: Route(RouNo、Start、Destination、Length、PriTime) ∈3NF (4)订单联系集Order: Order(OrderNo、OrderNum、OrderSum、Start、GName、GWgt、Length、Destination、OrderFee、OrderScript)∈2NF (5) 客户评价CommLevel: CommLevel(CommNo 、SerLevel、CarLevel、RouLevel、SvLeve
49、l、TTLevel、FeeLevel) ∈3NF 3.5模式求精 仔细分析订单表与客户表可以知道,由于订单数据过于庞大,所以会造成大量的冗余。因此可以把这订单表的属性分别再产生一张明细表,客户表产生一份供应商和需求商两张表。在订单主表和订单明细表中分别加上一个订单编号做主码。 订单表求精: (1)订单主表OrderMaster如表3.6所示。 表3.6 OrderMaster 数据项 数据类型 别名 是否为空 约束 取值含义 OrderNo char(9) 订单明细表编号 Not null D00000001-D9999
50、9999 主键 D代表订单,后8位按顺序编号 OrderNum char(9) 订单数量 Not null OrderSum char(9) 订单总额 Not null Start varchar(40) 出发地 Not null 不得超过20字 用文字说明 Destination varchar(40) 目的地 Not null 不得超过20字 用文字说明 (2)订单明细表OrderDetail如表3.7所示。 表3.7 订单明细表OrderDetail 数据项 数据类型 别名 是否为空 约束 取值含义 Ord






