物流系统数据库设计.doc

上传人:good****022 文档编号:116429064 上传时间:2022-07-05 格式:DOC 页数:31 大小:423KB
返回 下载 相关 举报
物流系统数据库设计.doc_第1页
第1页 / 共31页
物流系统数据库设计.doc_第2页
第2页 / 共31页
物流系统数据库设计.doc_第3页
第3页 / 共31页
点击查看更多>>
资源描述
本科学生综合性实验报告课程名称:数据库技术及应用第三方物流运输 系统数据库设计项目组长 强项 学号 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路线基本信息管理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关系设计133.4函数依赖关系163.5模式求精164 物理设计174.1关系模式存储方式选择174.1.1索引存取方式,主要采用B+ 树索引方法184.1.2聚簇存取方式184.2数据库的存取结构184.2.1数据的存放位置184.2.2数据存储路径185 数据库脚本186 游标、触发器与存储过程241 需求分析 需求分析将从编写目的、背景、系统目标系统功能分析、系统总体功能图、数据字典、数据需求及业务规则分析、实体和联系等方面进行分析,为概念设计提供依据。1.1 编写目的改变当下物流运输的滞后现状,通过科学的数据库管理,完善物流运输行业的工作环节,提高运输效率,从而达到客户满意水平,形成一个一体化运输与反馈的物流运输环境。1.2背景背景之一:我国国民经济高速发展我国自改革开放以来,国民经济就走上了持续稳定高速发展的道路,年均增长8%以上,而从全国看,发展最快的又是我国东南沿海一些省市,他们利用国家给经济特区等一系列优惠政策,大力改革开放,发展经济,率先实现经济的超常规大幅度增长,其中出现了一批大型实力客户,像海尔、宝洁、IBM等。经济的大幅增长,必然导致巨大的物质产品的流动,也就必然导致物流量的增加。这是经济发展的必然规律,也是物流业成长的必然规律。背景二:是改革开放的结果我国第三方物流的诞生是改革开放的结果,跟改革开放有直接的关系。首先由一些国内的外资客户率先促成的,人们不难从我国第三方物流的产生过程看出它有三个特点:第一,它们是从东南沿海一些改革开放程度比较高的省市首先搞起来;第二,它首先是由像宝洁、IBM等这样一些国外的大公司促成我国的一些客户搞起来的;第三,第三方物流公司的业务最先也主要是为国外这些大公司服务的物流业务。而由点到面的发展,必然需要发达的物流来带动。背景三:是我国物流学发展的结果我国第三方物流的发展有一个有趣的现象,就是一旦有了一个第三方物流的样板和模式,社会很快在各个地方推广开来。特别是最近几年,发展特快,上海、北京、天津等城市且不说,武汉就一下子兴起了如中远、长江、中储、武储等好几家大型第三方物流公司。出现这种现象,可以说是中国物流学发展的结果,人们已经有了比较好的物流观念和物流学基础。背景四:是信息技术发展的结果20世纪90年代以来,随着因特网技术以及各种信息技术的发展,为客户建设高效率的信息技术网络创造了条件,信息技术实现了数据的快速、准确传递,一方面提高了物流客户在仓库管理、装卸运输、采购、订货、配送发运、认单处理的自动化水平,促使订货、包装、保管、运输、流通加工一体化,使大规模、高质量、高服务水平处理物流客户与其他客户间的信息沟通交流、协调合作方便快捷,并能有效跟踪和管理物流渠道中的货物,精确计算物流活动的成本,这就使客户可以随时跟踪自己的货物,因而放心地把自己的物流业务交由第三方物流客户处理,这些环境条件都促使了第三方物流客户的产生。背景五:是市场竞争的结果第三方物流的产生是社会分工的必然结果。各客户为增强市场竞争力,而将客户的资金,人力,物力投入到其核心业务上,寻求社会化分工协作带来的效果和效率的最大化。专业化分工的结果导致许多非核心业烟从客户生产经营中分离出来,生产客户的核心是业务就是生产,物流业务不是他们的核心业务,它们将物流业务委托给第三方专业物流公司负责,不但自己可以集中精力发展自己的核心竞争力,抓好生产,而且可以降低成本。而第三方物流则以物流为核心竞争力,他们依靠自己的物流实力,完善物流服务功能,参与市场竞争,取得市场竞争优势。这样,第三方物流的出现,实现了社会的合理分工,实现了社会资源的合理配置,同时又使生产客户和物流客户的核心竞争力都得到了加强,效益都是显著提高,这公分显示了第三方物流的综合优越性。1.3 功能分析第三方物流系统的两个重要因素:线路和节点,过去我们比较重视的是线路问题,线路与节点发展的不平衡使得我国物流的效率长期低下,资源利用率不高。对此,我们将从以下几个方面改善上述问题:快速、及时方面:及时性不但是服务性的延伸,也是流通对物流提出的要求。快速、及时既是一个传统目标,更是一个现代目标。其原因是随社会大生产发展,这一要求更加强烈了。在物流领域采取的诸如直达物流、联合一贯运输、高速公路、时间表系统等管理和技术,就是这一目标的体现。 节约方面:节约是经济领域的重要规律,在物流领域中除流通时间的节约外,由于流通过程消耗大而又基本上不增加或提高商品使用价值,所以领先节约来降低投入,是提高相对产出的重要手段。 规模化方面:以物流规模做为物流系统的目标,是以此来追求规模效益 。生产领域的规模生产是早已为社会所承认的。由于物流系统比生产系统的稳定性差,因而难于形成标准的规模化格式。在物流领域以分散或集中 等不同方式建立物流系统,研究物流集约化的程度,就是规模优化这一目标的体现。 库存调节方面:是服务性的延伸,也是宏观调控的要求,当然,也涉及到物流系统本身的效益。在物流领域中正确确定库存方式、库存数量、库存 结构、库存分布就是这一目标的体现。1.4系统功能分析第三方物流系统功能:客户基本信息管理、路线基本信息管理、车辆基本信息管理、订单基本信息管理、客户评价基本信息管理。1.4.1客户基本信息管理为客户提供基本信息增加、修改、删除功能。包括:(1)客户基本信息增加:客户通过注册录入基本信息,客户注册时要求填写基本信息,包括客户名称、客户电话、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息,系统在注册用户注册完后自动为其生成一个客户编号,并且嵌入到客户注册信息内,形成完整的客户资料。(2)客户基本信息修改:客户基本信息注册错误或有所改变时可以进行信息的修改。可以修改登陆密码,修改联系人姓名,修改联系人电话。(3)客户基本信息删除:客户可以通过注销来删除客户基本信息。1.4.2车辆基本信息管理提供车辆基本信息增加、修改、查询、删除功能。包括:(1)车辆基本信息增加:系统可以增加车辆基本信息,包括车牌号、车类型、最大载重量、上牌时间、服务范围、事故情况、运输单价(以路程和重量计算)等信息。系统检查所有信息填写正确后提示增加成功,返回车辆编号。(2)车辆基本信息修改:车辆基本信息如果出错或者有所改变,系统可以对车辆基本信息的具体内容进行修改。可以修改车辆车牌号,修改车辆车类型,修改车辆载物重,修改车辆上牌时间车龄,修改车辆事故情况,修改车辆服务意向,修改车辆运输单价。 (3)车辆基本信息查询:根据不同的条件查询车辆基本信息。可以按车辆车牌号查询车辆基本信息,按车辆车类型查询车辆基本信息,按车辆载物重查询车辆基本信息,按车辆事故情况查询车辆基本信息,按车辆供车服务意向查询车辆基本信息,按车辆运输单价查询车辆基本信息。(4)车辆基本信息删除:由于车辆报废或转卖,可以删除车辆基本信息,包括车辆编号、车牌号、车类型、最大载重量、上牌时间、服务意向、事故情况、运输单价等信息。1.4.3订单基本信息管理提供订单表的增加、删除、修改功能:(1)订单基本信息增加:客户在填写客户编号、货物名称、货物重量、路程长度、出发地、目的地、订单时间、订单备注等信息后,系统检查所有信息填写正确后提示增加成功并返回订单总额和订单编号。订单表还包括订单数量和运输费用等。(2)订单基本信息更新:系统根据订单表自动更新订单表中的信息,如订单表编号、订单数量、订单总额等。(3)订单基本信息修改:客户可根据需要修改出发地、货物名称、货物重量、目的地、订单备注等信息。(4)订单基本信息查询:客户或第三方物流公司可根据订单编号、出发地、目的地、订单金额、运输费用和货物重量等对订单进行查询。1.4.4路线基本信息管理提供路线基本信息增加、删除、优化、修改功能。包括:(1)路线基本信息增加:第三方物流公司统计订单目的地后添加路线基本信息,其中包含路线编号,出发地,目的地,预计所需时间等信息。(2)路线基本信息删除:根据客户退单情况或者交通天气状况的改变进行一些无效线路的删除。(3) 路线基本信息优化:根据筛选重复路线及包含路线进行路线整合,优化计算所需最短最少路线。(4) 路线基本信息修改:根据更改订单状况或者交通天气状况对路线信息进行修改。包括路线出发地的修改,路线目的地的修改和路线交通工具的修改。1.4.5客户评价基本信息管理提供客户满意度评价功能及查询功能。(1) 客户满意度评价:需求商和供应商对此次物流运输的整体情况做一个星级评价。包括:评价编号和总体评价。(2)具体服务项目评价:客户(包括供应商和需求商)对本次第三方物流运输情况的各个子项目进行评价。包括:对服务质量的评价,对运输路线的评价,对运输车辆的评价,对运输时间的评价,对运输费用的评价。(3)反馈信息查询:根据不同条件查询总体评价和各项服务评级水平。可以按评价号查询,按客户姓名查询,按路线编号查询,按运输费用查询,按车辆评价查询,按费用评价查询,按所花时间查询。1.5系统功能图分析 第三方物流运输系统功能图如图1.1所示。第三方物流运输系统客户基本信息管理路线基本信息管理车辆基本信息管理订单基本信息管理客户评价信息管理客户基本信息增加客户基本信息修改客户基本信息删除路线基本信息增加路线基本信息删除路线基本信息优化路线基本信息修改路线基本信息查询车辆基本信息增加车辆基本信息修改车辆基本信息查询车辆基本信息删除订单基本信息查询订单基本信息更新订单基本信息增加客户满意度评价反馈信息查询各项服务评价查询图1.1 系统功能图1.6数据需求及业务规则分析 业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解第三方物流运输系统需求及业务分析规则如下:(1)客户由客户编号唯一标识,需要存储客户的公司名、登陆密码、公司地址、注册时间、法人姓名、联系人姓名等信息。(2)客户只能查询自己的基本信息。(3)供应商客户需在48小时内登陆并发货。(4)需求商客户提交运输申请48小时后不得修改。(5)需求商客户48小时内提交相同目的地的运输申请可合并为一个订单。(6)需求商客户48小时内可以取消运输申请,登陆后请求删除订单。(7)一个客户只能有一名法人。(8)供应商客户与需求商客户同时确认订单时予以发货运输。提出申请48小时后有一方未确认则取消订单。(9)未发货的同一目的地或其包含路线上的订单数小于10时,在最早提交申请的订单确认24小时后发货运输。(10)双方确认订单后原则上不允许撤销,如有真实存在的不可抗拒因素而必须取消订单的话,责任方需交付订单金额的10%作为违约金。若取消订单数目过多导致上条情况发生,则责任方需另交付订单金额5%作为剩余订单公司的延迟运输补偿。(11)在交付第三方物流运输费用后我司方可开始运输。(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-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-9 0-9 0-9 0-9)(5)客户信息表的主键是EcompNo,每一个编号都是唯一的。(6)客户的所有信息不允许为空。(7)车辆信息表的主键是CarNo,每一个车辆编号都是唯一的。(8) 路线信息表的主键是RouNo,每一个路线编号都是唯一的。(9) 路线信息表中所有信息不允许为空。(10)订单表的主键是OrderNo,每一个订单编号都是唯一的。(11)订单表中运输单价为X元/kgkm ,具体情况根据货物类型而定。(12)所有密码(SSerCode)不能为空值,由6-12位字母和数字组成。(13)注册日期(regDate)不能为空值,数据类型为datetime。(14) 联系人电话(Telephone)不能为空值,取值范围为00000000000-99999999999,固定电话加地区号输入。(15)订单一旦生成则无法删除。(16)联系人姓名(EcompName)不能为空值,不得超过20字。(17)最大载重量(MaxWgt)不能为空值,数据为int。(18)车牌号(CarNoo)不能为空值,真实填写。(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)不能为空值,不得超过20字,用文字说明,默认只能用城市名。1.8数据字典1.8.1数据项与数据结构通过对所建立的表进行分析,我们得到了以下一些数据项:(1)客户表如表1.1所示。表1.1客户表数据项数据类型别名是否为空约束取值含义EcompNochar(9)客户编号Not nullE00000001-E99999999 主键E代表客户,后8位按顺序由系统自动编号EcompNamechar(6)客户名称Not null真实填写RegDatechar(8)注册日期Not null以天为单位以系统时间为准SSerCodeChar(6)登陆密码Not null字母或数字6位(不分大小写)AddressChar(30)客户地址Not nullTelephonevarchar(11)联系人电话Not nullLPNamevarchar(6)法人姓名Not null不得超过3字用文字说明ETelephonevarchar(11)客户电话Not nullConNameChar(6)联系人姓名Notnull必须为客户公司的经理联系人(2)车辆表如表1.2所示。表1.2 车辆表数据项数据类型别名是否为空约束取值含义CarNochar(9)车辆编号Not nullC00000001-C99999999 主键C代表车辆,后8位按顺序编号CarLisen Char(6)车牌号Not null真实填写CarTimeDatetime上牌时间Not null6-12位,由字母和数字组成SerTend varchar(20)服务意向Null不得超过20字用文字说明Accidentsvarchar(20)事故状况Not null不超过20字用文字说明TranFeevarchar(20)运输单价Not null不超过40字用文字说明MaxWgtInt最大载重Not nullCarTypedvarchar(20)车类型Not null不超过五字用文字说明(3)订单表如表1.3所示。表1.3 订单表数据项数据类型别名是否为空约束取值含义OrderNochar(9)订单编号Not nullD00000001-D99999999 主键D代表明细表,后8位按顺序编号OrderNumchar(9)订单数量Not nullOrderSumchar(9)订单金额NullStartvarchar(40)出发地Not null不得超过20字外键用文字说明destinationvarchar(40)目的地Not null不得超过20字外键用文字说明GNamevarchar(20)货物名称Not null不超过20字 用文字说明GWgtchar(10)货物重量Not nullLengthchar(10)路程长度Not null外键OrderFeechar(9)运输费用Null不得超过40字OrderScriptVarchar(20)订单备住Null不超过40字用文字说明OrdertimeDatetime订单时间Not null订单生成时间 (4)路线表如表1.4所示。表1.4 路线表数据项数据类型别名是否为空约束取值含义RouNochar(9)路线编号Not nullR00000001-R99999999 主键R代表订单,后8位按顺序编号Startvarchar(20)出发地Not null不超过20字用文字说明Distinationvarchar(20)目的地Not null不超过20字 用文字说明Lengthchar(10)路程长度Not nullPriTimechar(10)预计时间Not null (5)客户评价表如表1.5所示。表1.5 客户评价表数据项数据类型别名是否为空约束取值含义CommLevelchar(9)评价编号Not nullP00000001-P99999999 主键P代表评价,后8位按顺序编号SerLevelchar(10)总体评价Not nullCarLevelchar(10)车辆评价Not nullSvLevelchar(10)服务评价Not nullTTLevelchar(10)所花时间评价Not nullRouLevelchar(10)路线评价Not nullFeeLevelchar(10)费用评价Not null1.8.2数据处理数据处理结果如表1.6所示。表1.6 数据处理编号功能处理说明1.客户注册当客户成功注册后,自动在客户表中添加该客户的注册信息2.修改客户登陆密码先按客户编号查询到客户基本型信息再对登陆密码进行修改3.修改客户联系人姓名先按客户编号查询到客户基本型信息再对客户联系人姓名进行修改4.修改客户联系人电话先按客户编号查询到客户基本型信息再对客户联系人电话进行修改5.按客户名称查询客户基本信息按客户名称精确查询客户基本信息6.按客户编号查询客户基本信息按客户编号精确查询客户基本信息7.按法人姓名查询客户基本信息按客户法人姓名精确查询客户基本信息8.按客户经理人姓名查询客户基本信息按客户经理人姓名精确查询客户基本信息9.按客户经理人电话查询客户基本信息按客户经理人电话查询客户基本信息10.客户注销按客户编号精确查询到客户基本信息,再进行删除11.订单金额计算按照路程长度和货物重量计算订单金额12.客户评价客户按照路线,车辆,服务,时间,费用评价,算出平均分生成总体评价。2 数据库概念设计对实体集及属性、联系集及属性进行定义和E-R模型设计。2.1定义实体集及属性 (1)客户实体集Ecomp:客户编号(EcompNo)、客户名称(EcompName)、客户电话(ETelephone)、注册日期(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)订单Order:订单编号(OrderNo)、订单数量(OrderNum)、订单总额(OrderSum)、出发地(Start)、目的地(destination)、货物名称(GName)、货物重量(GWgt)、运输费用(OrderFee)、路程长度(Length)、订单备注(OrderScript)、订单时间(Ordertime)。(2)客户评价CommLevel:评价编号(CommNo)、总体评价(SerLevel)、车辆评价(CarLevel)、路线评价(RouLevel)、服务质量评价(SvLevel)、运输时间评价(TTLevel)、费用评价(FeeLevel)。2.3E-R模型设计系统的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-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模型设计第三方物流运输系统总图如图2.5所示。订单车辆客户路线评价运输费用评价运输时间评价评价编号服务质量评价总体评价订单编号收货方发货方货物名称订单金额订单数量图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、CarType)(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关系设计关系设计包括转换后所得表和函数依赖关系,转换后为:(1)客户表如表3.1所示。表3.1 客户表数据项数据类型别名是否为空约束取值含义EcompNochar(9)客户编号Not nullE00000001-E99999999 主键E代表客户,后8位按顺序由系统自动编号EcompNamechar(6)客户名称Not null真实填写ETelephonevarchar(11)客户电话Not nullRegDateDatetime注册日期Not null以天为单位以系统时间为准SSerCodeChar(6)登陆密码Not null字母或数字6位(不分大小写)初始密码为123456Telephonevarchar(11)联系人电话Not nullLPNamevarchar(10)法人姓名Notnull不得超过5字用文字说明ConNameChar(6)联系人姓名Notnull必须为客户公司的经理联系人 (2)车辆表如表3.2所示。表3.2 车辆表数据项数据类型别名是否为空约束取值含义CarNochar(9)车辆编号Not nullC00000001-C99999999 主键C代表车辆,后8位按顺序编号CarLisen Char(6)车牌号Not null真实填写CarTimeDatetime上牌时间Not null6-12位,由字母和数字组成SerTend varchar(40)服务意向Null不得超过20字用文字说明AccidentsInt事故状况Not null用数字说明TranFeevarchar(20)运输单价Not null不超过40字用文字说明MaxWgt、Int最大载重Not nullCarTypedvarchar(20)车类型 Null不超过五字用文字说明(3)订单表如表3.3所示。表3.3 订单表数据项数据类型别名是否为空约束取值含义OrderNochar(9)订单编号Not nullD00000001-D99999999 主键D代表订单,后8位按顺序编号OrderNumchar(9)订单数量Not nullOrderSumchar(9)订单总额NullStartvarchar(40)出发地Not null不得超过20字外键用文字说明Destinationvarchar(40)目的地Not null不得超过20字外键用文字说明GNamevarchar(40)货物名称Null不超过20字 外键用文字说明GWgtchar(10)货物重量Not nullLengthchar(10)路程长度Not nullOrderFeeChar(9)运输费用Null不得超过40字OrderScriptVarchar(20)订单备住Null不超过40字用文字说明 (4)路线表如表3.4所示。表3.4 路线表数据项数据类型别名是否为空约束取值含义RouNochar(9)订单编号Not nullR00000001-R99999999 主键R代表路线,后8位按顺序编号Startvarchar(20)出发地Not null不超过10字用文字说明Destinationvarchar(20)目的地Not null不超过10字 用文字说明PriTimechar(10)预计时间Null(5)客户评价表如表3.5所示。表3.5 客户评价表数据项数据类型别名是否为空约束取值含义CommLevelchar(9)评价编号Not nullP00000001-P99999999 主键P代表评价,后8位按顺序编号SerLevelint总体评价null1-100 int平均分数CarLevelchar(10)车辆评价Not null1-100 int分数SvLevelchar(10)服务评价Not null1-100 int分数TTLevelchar(10)运输时间评价Not null1-100 int分数RouLevelchar(10)路线评价Not null1-100 int分数FeeLevelchar(10)运输费用评价Not null1-100 int分数3.4函数依赖关系(1)客户实体集Ecomp:Ecomp(EcompNo、EcompName、ETelephone、regDate、SSerCode、Address、LPName、Telephone、ConName)3NF(2)车辆实体集Car:Car(CarNo、CarLisen、CarTime、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、SvLevel、TTLevel、FeeLevel) 3NF3.5模式求精仔细分析订单表与客户表可以知道,由于订单数据过于庞大,所以会造成大量的冗余。因此可以把这订单表的属性分别再产生一张明细表,客户表产生一份供应商和需求商两张表。在订单主表和订单明细表中分别加上一个订单编号做主码。订单表求精:(1)订单主表OrderMaster如表3.6所示。 表3.6 OrderMaster数据项数据类型别名是否为空约束取值含义OrderNochar(9)订单明细表编号Not nullD00000001-D99999999 主键D代表订单,后8位按顺序编号OrderNumchar(9)订单数量Not nullOrderSumchar(9)订单总额Not nullStartvarchar(40)出发地Not null不得超过20字用文字说明Destinationvarchar(40)目的地Not null不得超过20字用文字说明(2)订单明细表OrderDetail如表3.7所示。表3.7 订单明细表OrderDetail数据项数据类型别名是否为空约束取值含义OrderNochar(9)订单编号Not nullD00000001-D99999999 主键D代表订单,后8位按顺序编号SEcompNochar(9)发货方客户编号Not nullE00000001-E99999999 外键GNamevarchar(20)货物名称Null不超过10字 用文字说明GWgtchar(10)货物重量Not nullLengthchar(10)路程长度Not nullDEcompNochar(9)收货方客户编号Not nullE00000001-E99999999 外键用文字说明OrderFeeChar(9)运输费用Not nullOrdertimeDatetime订单时间Not null订单生成时间OrderScriptVarchar(20)订单备住Null不超过40字用文字说明4 物理设计在逻辑设计的基础上,对关系模式的存储方式和数据库的存取结构进行了物理优化。4.1关系模式存储方式选择为提高数据库数据的存取速度,而需要设置合适的存取方式,主要采用以下两类存取方式。4.1.1索引存取方式,主要采用B+ 树索引方法(1)Ecomp表数据量相当大,其中EcompName (客户名称)、ETelephone (客户电话) 等属性列, Route表的start(出发地)和Destination(目的地)等属性列,以及Car表的carType(车类型)等属性经常出现在查询条件中,所以在以上几个表中的这几列中建立索引。(2)Order表的OrderNum(订单数量)、OrderSum(订单总额)和CommLevel表中的车辆评价(CarLevel)、路线评价(RouLevel)、服务质量评价(SvLevel)、所花时间评价(TTLevel)等属性列经常被查询,所以在这几个表中建立索引。4.1.2聚簇存取方式除特殊说明的表外,在其余各表主键上默认地建立聚簇索引。4.2数据库的存取结构为了提高系统整体性能,将数据库中的数据组织分为多个文件,分开进行存储。4.2.1数据的存放位置数据库中的数据组织一个primary文件进行存储,以下是对各表数据进行分析。(1)数据相对稳定、数据量较大、经常用于查询的表存组,符合该条件的表为: 客户表Ecomp,车辆表Car。(2)将数据变动可能性较大,数量较大,查询比较多的表,符合此条件的表有: 订单表Order,路线表Route,客户评价表CommLevel。4.2.2数据存储路径(1)在目前实验条件下,根据实验的需求,将各数据文件存储在以下路径中。create database Transdbon primary ( name= Transdb , filename= D:databaseTransdb.mdf, size=5, maxsize=20, filegrowth= 1 )log on ( name= Translog, filename= D:databaseTranslog.ldf, size=2, maxsize=8, filegrowth=1)Go5 数据库脚本set nocount on set dateformat ymduse mastergo if not exists(select * from syslogins where name=user01) exec sp_addlogin user01,user01go/*create database*/if exists(select *from sysdatabases where name= Transdb ) drop database Transdbgo create database Transdbon primary (name=Transdb , filename=D:databaseTransdb.mdf, size=1, maxsize=5, filegrowth=1)log on (name=CarLog, filename=D:databaseTransLog.ldf, size=1, maxsize=5, filegrowth=1)go/*data mydatabase*/use Transdbgo/* add my user*/exec sp_adduser user01,user01go-/*客户表*/Creat table Ecomp(EcompNo char(9) Not null /*客户编号*/EcompName char(6) Not null /*客户名称*/RegDate char(8) Not null /*注册日期*/SSerCode Char(6) Not null /*登陆密码*/address Char(30) Not null /*客户地址*/LPName varchar(6) Not null /*法人姓名*/ETelephone varchar(11) Not null /*客户电话*/ConName Char(6) Notnull /*联系人姓名*/Telephone varchar(11) Not null /*联系人电话*/Constraint EcompPK primary key (EcompNo)gogrant all on Ecomp to user01go/*车辆表*/create table Car( CarNo char(9) not null check(CarNo like C0-90-90-90-90-90-90-90-9), CarLisen char(6) Not null, CarTime Datetime Not null, SerTend varchar(40) Null, Accidents int Not null, TranFee varchar(20) Not null, MaxWgt int Not null, CarType varchar(20) Null, constraint CarPK primary key (Carno)gogrant all on Car to user01go/*订单主表*/create table Ordermaster ( OrderNo char(9) not null check(CarNo like D0-90-90-90-90-90-90-90-9), OrderNum char(9) Not null, OrderSum char(9) Null, Start varchar(40) Not null, Destination varchar(40) Not null, constraint OrderMaster pk primary key(OrderNo), constraint OrderMasterFK1 foreign key(Start) references Route(Start)constraint OrderMasterFK2 foreign key(Destination) references Route(Destination)gogrant all on Ordermaster to user01go/*订单明细表*/create table Orderdetail ( OrderNo char(9) Not null, SEcompNo char(9) Not null, GName varchar(20) Null, GWgt char(10) Not null,Length char(10) Not nullDEcompNo char(9) Not null,OrderFee char(9) Not null,Ordertime Datetime Not null,OrderScript Varchar(20) Null, constraint OrderDetailPK primary key (OrderNo), constraint OrderDetailFK1 foreign key(SEcompNo) references Ecomp(EcompNo), constraint OrderDetailFK2 foreign key(DEcompNo) references Ecomp (EcompNo)constraint OrderMasterFK3 foreign key(Length) references Route(Length))gogrant all on Orderdetail to user01go/*路线信息表*/print create Routegocreate table Route( RouNo char(9) not null primary key, /*路线编号*/ check(rouNo like R0-90-90-90-90-90-90-90-9), Start varchar(40) not null, /*出发地*/ Destination varchar(40) not null, /*目的地*/ Length char(10) not null /*路程长度*/ PriTime char(10) null, /*预计时间*/)gogrant all on Route to us
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 高中资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!