“好心情旅行社”旅游管理系统介绍_第1页
“好心情旅行社”旅游管理系统介绍_第2页
“好心情旅行社”旅游管理系统介绍_第3页
“好心情旅行社”旅游管理系统介绍_第4页
“好心情旅行社”旅游管理系统介绍_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生综合性实验报告课程名称:数据库系统原理“好心情旅行社”旅游管理系统项目 成员 学号 学号 班 级 实验项目名称“好心情旅行社”旅游管理系统 指导教师及职称 开课学期 2011 至 2012 学年 第1 学期完成时间 2011 年 12 月 23 1.需求分析21.1编写目的21.2背景21.3系统目标21.4需求分析21.4.1系统功能分析21.4.2系统总体功能图41.4.3 主要流程图61.4.4数据需求及业务规则分析81.4.5数据约束分析91.5数据字典101.5.1数据项与数据结构101.5.2数据处理122 数据库概念设计132.1定义实体集及属性132.2定义联系集及属性132.3 E-R模型设计132.3.1实体E-R模型设计142.3.2二元联系E-R模型设计162.3.3 弱联系E-R模型设计172.3.4四元联系E-R模型设计172.3.4聚合联系E-R模型设计182.3.5总 E-R模型设计183 逻辑设计193.1实体集转化为关系模式193.2联系集转化为关系模式203.3聚合联系集转化为关系模式203.4关系设计203.5函数关系依赖243.6模式求精244 物理设计264.1关系模式存储方式选择274.1.1索引存取方式,主要采用B+ 树索引方法274.1.2聚簇存取方式274.2数据库的存取结构274.2.1数据的存放位置274.2.2数据存储路径285 数据库脚本286 触发器与存储过程37 “好心情旅行社”管理系统1.需求分析 需求分析将从目的、背景、目标及用户需求等方面进行分析,为概念设计提供依据。1.1编写目的设计一个旅行社管理系统供旅行社管理员与旅客及相关人员的使用,提高旅行社管理工作的效率,减少以往人员冗余的问题,实现旅行社管理的全面自动化,减少管理中的漏洞,节约管理开支,增加经济收入。同时为旅客旅行带来方便及减少费用。1.2背景一方面,随着人们生活水平的提高,人们的生活方式不再仅限于普通的衣、食、住、行。人们不仅要在物质方面得到提高,而且在精神方面也追求质的突变。于是,人们越来越多的选择在周末或假期外出旅游,享受旅游带来的乐趣,扩展视野。另一方面,在这个以速度与效率为主的时代,你可以看到穿梭在大街小巷,行色匆匆的人群,经过长时间的紧张忙碌的生活方式,不仅对人们的身体造成严重的损害,更极大地摧残人们的心理。在这样一种情况下,我们就开创了“好心情旅行社”,旨在让人们欣赏风景的同时收获美好的心情,然后开始新的生活。而如何运营好一个旅行社就需要有一个合适的管理系统来规范,所以旅行社管理系统的建立是十分必要的。1.3系统目标旅客通过系统可以查看旅游线路信息和导游信息;导游可以查阅线路信息和导游自己的信息,修改导游信息,添加导游信息,删除导游信息;线路管理员可以通过系统查看线路信息,添加线路信息,删除线路信息。1.4需求分析 需求分析主要包括以下内容:系统功能需求、系统总体功能图、数据字典、实体和数据。1.4.1系统功能分析 根据旅行社管理要求以及景点、线路分析,旅行社管理系统应该提供以下方面的功能。(1)旅客基本信息管理:提供旅客的基本信息录入及其查询功能。包括: 录入旅客的基本信息。 更新,增加和删除旅客的基本信息。 用户可根据旅客名字和编号查询旅客的基本信息。(2)导游基本信息管理:提供导游基本信息录入,维护和查询功能。包括: 录入导游基本信息。 更新,增加和删除导游基本信息。 用户可根据导游编号,名字查询导游基本信息。(3)线路基本信息管理:提供线路基本信息录入,维护和查询功能。包括: 录入线路基本信息。 更新,增加和删除线路基本信息。 用户可根据线路编号、名称查询线路基本信息。(4)旅游景点基本信息管理:提供旅游景点基本信息录入,维护和查询功能。包括: 录入旅游景点基本信息。 理员可更新,增加和删除旅游景点基本信息。 用户可根据旅游景点编号,名称查询旅游景点基本信息。(5)线路方案基本信息管理:提供线路方案基本信息录入,维护和查询功能。包括: 录入线路方案基本信息。 管理员可更新,增加和删除线路方案基本信息。 用户可根据线路方案编号,名称查询线路方案基本信息。(6)旅客旅游信息管理:提供旅客旅游基本信息录入,维护和查询功能。包括:录入旅客旅游基本信息。更新,增加和删除旅客旅游基本信息。 根据旅客旅游订单编号,名称查询旅客旅游基本信息。(7)旅客对导游评价信息管理:提供旅客对导游评价基本信息的录入,维护,查询和统计功能。包括:录入旅客对导游评价基本信息。更新,增加和删除旅客对导游评价的基本信息。 统计旅客对导游评价信息。(8)旅客对景点评价信息管理:提供旅客对景点评价基本信息的录入,维护,查询和统计功能。包括:录入旅客对景点评价基本信息。更新,增加和删除旅客对景点评价的基本信息。 统计旅客对景点评价信息。(9)信息统计管理:根据不同条件统计各种信息。包括: 统计导游的综合得分,确定导游受欢迎程度。 统计景点的综合得分,确定景点排行。统计线路、景点的客流量。1.4.2系统总体功能图该系统总体功能图如图1.1所示。好心情旅行社旅游管理系统旅客基本信息管理增加旅客信息修改旅客信息删除旅客信息查看旅客信息统计旅客信息导游基本信息管理增加导游信息修改导游信息删除导游信息查看导游信息线路基本信息管理统计导游信息增加线路信息修改线路信息删除线路信息查看导游信息统计线路信息景点基本信息管理增加景点信息修改景点信息删除景点信息查看景点信息统计景点信息线路方案基本信息管理删除方案信息查看方案信息统计方案信息增加、修改方案信息好心情旅行社旅游管理系统旅客旅游信息管理旅客旅游订单信息增加旅客旅游订单信息修改旅客旅游订单信息删除旅客旅游订单信息查询旅客旅游订单信息统计旅客对导游评价信息管理旅客对导游评价信息增加旅客对导游评价信息修改旅客对导游评价信息删除旅客对导游评价信息查询旅客对导游评价信息统计旅客对景点评价信息管理旅客对景点评价信息修改旅客对景点评价信息增加旅客对景点评价信息删除旅客对景点评价信息查询旅客对景点评价信息统计图1.1 系统功能图1.4.3 主要流程图 Y开始选择线路、线路方案、出行时间等信息是否预订?是否豪华团? 是否经济团乘坐汽车大巴乘坐飞机是否继续预订?结束NYNYN是否选择硬座标准团是否硬卧标准团选择软卧标准团乘坐硬卧N选择硬座YNN预订流程图 1.2开始是否评价导游?选择要评价的导游,并对其评价是否继续评价?是否评价景点?选择要评价的景点,并对其评价是否继续评价?结束NYYYYNNN评价流程图 1.31.4.4数据需求及业务规则分析业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解某旅行社的管理数据需求及业务分析规则如下:(1) 旅客由旅客编号唯一标识,需要存储旅客的姓名,性别,家庭住址,电话号码,身份证号等信息。其中家庭住址由省份,城市及街道组成。 (2) 导游由导游编号唯一标识,需要存储导游的姓名,性别,家庭地址,电话号码,身份证号等信息。其中家庭住址由省份,城市及街道组成。 (3) 线路信息表由线路编号唯一标识,需要存储线路名称,出发时间,结束时间,出发地,目的地,价格等信息。(4) 景点信息表由景点编号唯一标识,需要储存景点名称,营业时间,票价,优惠措施,注意事项等信息。旅客可以凭学生证享受半价优惠,10岁以下儿童免费,旅客必须保持景点卫生,不能故意毁坏景点设施等。(5) 线路方案信息表由线路方案编号唯一标识,需要存储方案名称、价格 、交通方式、总票数等信息。(6) 旅客预订信息表由预订编号唯一标识,包括预定时间、出行时间、旅客标号、线路编号、线路方案编号、单价等信息。一个旅客可以预订多条线路,一条线路可以被多个旅客预订。(7) 旅客出行信息表由出行编号唯一标识,包括出行时间、旅客编号、导游编号、线路编号、线路方案编号、景点编号、参观景点时间等信息。一个旅客可以参加多条线路的旅游,一条线路可以由多个旅客参加,一条线路可以由多个导游参加,一条线路可以包含多个旅游景点,一个导游可以带领多个旅客。(8) 旅客对导游评价表由旅客编号和评价日期唯一标识,需要储存导游编号, 评价得分等信息。每个旅客可以对多个导游进行评价,每个导游可由多个旅客评价。(9) 旅客对景点评价表由旅客编号和评价日期唯一标识,需要存储景点编号、评价得分等信息。每个旅客可以对多个景点进行评价,每个景点可由多个旅客评价。(10) 方案类型包括豪华团,经济团,硬座标准团,硬卧标准团,软卧标准团五种,豪华团交通工具为飞机,经济团交通方式为汽车大巴。火车都为有空调火车。(11) 评价都是匿名评价。(12) 在旅游之前必须先交清旅游费用,没有特殊情况时,中途退出不退款。景点门票另外交费。(13) 不允许退票和换票。(14) 旅客在旅游期间必须服从导游的安排,不得擅自离队,自由行动。(15) 交通工具是根据方案类型而定的。(16) 同一条线路可以根据交通工具,餐饮住宿条件的不同而确定不同的价格。1.4.5数据约束分析(1)用户访问权限:任何用户都不能访问其他用户的密码。(2)密码由六个字符组成,并且每个人设置的密码都是唯一的。 (3)任何导游查询自己带领的旅客情况,不可访问到其他导游的业务情况。(4)旅客编号规则:由字母P开头再加上8位数字,后8位数字按流水号依次生成。每一个旅客编号都是唯一的。(5)导游编号规则:由字母G开头再加上8位数字,前四位数字按照导游加入旅行社的年份生成,后四位按流水号依次生成。每一个导游编号都是唯一的。(6)线路编号规则:由字母L开头,第二个字母代表线路起始地,第三个字母代表线路目的地,其中后六位则是按流水号依次生成。每一条线路编号是唯一的。(7)景点编号规则:由字母S开头再加上8位数字,后8位数字按流水号依次生成。每一个景点编号都是唯一的。(8)旅客预订单编号规则:由字母O开头再加上8位数字,后8位数字按流水号依次生成。每一个订单编号都是唯一的。(9)旅客出行单编号规则:由字母T开头再加上8位数字,后8位数字按流水号依次生成。每一个订单编号都是唯一的。(10)家庭住址(address)可以为空值,字数不得超过20字。(11)电话号码(teletphone)不能为空值,取值范围-, 固定电话加地区号输入。(12)性别(sex)不能为空值,只能输入f或m(f代表男性,m代表女性).(13)姓名(Name)不能为空值,不得超过20字。(14)费用说明(feeExplain)可以为空值,不得超过25字,用文字说明。(15)出发地(start)不能为空值,不得超过20字,用文字说明,默认只能用城市名。(16)目的地(distination)不能为空值,不得超过20字,用文字说明,默认只能用城市名。(17)评价管理中,各项评价得分区间均为010分,分数越高代表评价越高。每位旅客对各项评价内容都进行了评价。1.5数据字典数据字典包括数据项、数据结构、数据处理3个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。1.5.1数据项与数据结构通过对所建立的表进行分析,我们得到了以下一些数据项,如表1.1至表1.4所示。表1.1 旅客信息表数据项数据类型别名是否为空取值范围取值含义pasNochar(9)旅客编号Not nullP-P 主键P代表旅客,后8位按顺序编号,是主码 pasNamevarchar(20) 旅客姓名Not null不得超过20字 sexchar(2) 性别Not null f/mf代表男性,m代表女性addressvarchar(20) 家庭住址Null不得超过20字teletphonechar(11)电话Not null-若输入家庭号码,则要输入地区号 IDNoChar(18)身份证号Not null 由18个数字组成 表1.2 导游信息表数据项数据类型别名是否为空取值范围取值含义guideNochar(9)导游编号Not nullG-G 主键G代表导游,后8位按顺序编号,是主码guideNamevarchar(20) 导游姓名Not null不得超过20字 sexchar(2) 性别Not null f/mf代表男性,m代表女性addressvarchar(20) 家庭住址Null不得超过20字teletphonechar(11)电话Not null-若输入家庭号码,则要输入地区号 IDNoChar(18)身份证号Not null 由18个数字组成 表1.3 线路信息表数据项数据类型别名是否为空取值范围取值含义lineNo1char(9)线路编号Not nullLXY-LXY 主键L代表线路,X代表出发地,Y代表目的地,后6位按顺序编号,是主码startimedatetime 出发时间 null default每天 startvarchar(40)出发地Not null不得超过20字用文字说明distinationvarchar(40)目的地Not null不得超过20字用文字说明表1.4 景点信息表数据项数据类型别名是否为空取值范围取值含义sceNochar(9)景点编号Not nullS-S 主键S代表景点,后8位按顺序编号,是主码sceNamevarchar(20) 景点名称Not null不得超过20字bushourschar(20) 营业时间Not null不得超过20字营业时间段ticketprice int 票价null discountvarchar(40)优惠措施 null不得超过20字用文字说明attentionvarchar(40)注意事项 null不得超过20字用文字说明 表1.5 线路方案信息表数据项数据类型别名是否为空取值范围取值含义Pnochar(3)方案编号Not null001- 999主键按流水号生成Pnamevarchar(20)方案类型名称Not null不得超过20字 Ppriceint价格Not null vehicleVarchar(10)交通方式Nullquantityint总票数Not nulldefault30默认为30张 1.5.2数据处理为了实现预期的系统功能,我们建立了以下数据处理过程,如表1.6所示。表1.6数据处理编号功能处理说明1.统计某一年龄的旅客人数输入旅客年龄,对旅客基本信息逐条查询累计人数2.统计各年龄段的旅客人数输入正确的年龄段,对旅客基本信息逐条查询累计计数3统计某一出发地的路线数输入出发地城市名,对路线基本信息逐条查询累计人数4统计某一目的地的路线数输入目的地城市名,对路线基本信息逐条查询累计人数5统计选择某一种线路方案的人数 输入方案编号,对出行表基本信息逐条查询人数6统计某一线路的预订人数输入线路编号,对订单信息逐条查询累计计数7统计某一线路的出行人数输入线路编号,对出行信息逐条查询累计计数8统计导游综合得分根据旅客对导游评价表统计导游的综合得分,确定导游受欢迎程度9统计景点综合得分根据旅客对导游评价表统计景点的综合得分,确定景点排行2 数据库概念设计 对实体集及属性、联系集及属性进行定义和E-R模型设计。2.1定义实体集及属性(1)旅客实体集Passenger:旅客编号(pasNo)、旅客姓名(pasName)、性别(sex)、家庭住址(address)、电话(telephone)、身份证号(IDNo)、出生日期(birthday)等信息。(2)导游实体集Guide:导游编号(guideNo)、导游姓名(guideName)、性别(sex)、家庭住址(address)、电话(telephone)、身份证号(IDNo)、出生日期(birthday)等信息。(3)线路实体集Line: 线路编号(lineNo1)、线路名称(lineName)、出发时间(startime)、 出发地(start)、目的地(distination)等信息。(4)景点实体集Secenry:景点编号(sceNo)、景点名称(sceName)、营业时间(bushours)、票价(ticketprice)、优惠措施(discount)、注意事项(attention)等信息。(5)线路方案实体集lineProject:方案编号(Pno)、方案类型(Pstyle)、价格(Pprice)、总票数(quantity)、交通方式(vehicle)等信息。2.2定义联系集及属性(1) EvaluateG联系集:旅客(Passenger)与导游(Guide)之间多对多的联系集。任何旅客可以评价带领他的导游,一个导游可以被他所带领的旅客评价。属性:评价时间(evaluateDate)、 评价得分(evaluateGscore)等信息。(2) EvaluateS联系集:旅客(Passenger)与景点(Secenry)之间多对多的联系集。旅客可以评价他所参观的任何景点,一个景点也可以所有旅客评价。属性:评价时间(evaluateDate)、 评价得分(evaluateSscore)等信息。(3)travel联系集:旅客(Passenger)、导游(Guide)、景点(scenery)与线路(Line)与线路方案(LineProject)组成的聚合之间的四元联系集。表明一个导游可以带领多个旅客,一个旅客也可以选择多条线路。属性:旅客编号(pasNo)、导游编号(guideNo)、线路编号(lineNo1)、出行时间 (startdate )、总票数(quantity)等信息。(4)arrange联系集:线路(line)与线路方案(lineProject)之间的标识联系集。表明一条线路可以由多个方案,一个方案只能对应一条线路。(5)order联系集:旅客(Passenger)、具有日期(date)属性,用聚合表示。2.3 E-R模型设计系统的E-R模型设计,不仅包括基本实体的E-R图设计,还包括两个实体之间的联系的E-R图设计,下面分别从单个实体E-R图设计、两个实体E-R图设计以及聚合的E-R图设计进行简单表示与阐述。2.3.1实体E-R模型设计所有实体描述如下:(1)旅客(Passenger)基本属性如图2.1所示。PassengerpasNamesexaddressteletphoneIDNobirthdaypasNo图 2.1 Passenger实体集(2)导游(Guide)基本属性如图2.2所示。GuideguideNamesexaddressteletphoneIDNobirthdayguideNo图 2.2 Guide实体集(3)线路(Line)基本属性如图2.3所示。 LinestartimetertimestartdistinationlineNo图 2.3 Line实体集(4)景点(Secenry)基本属性如图2.4所示。 ScenerysceNosceNamebushoursticketpricediscountattention图 2.4 Secenry实体集(5)线路方案lineProject基本属性如图 2.5所示。lineProjectPnoPpricevehiclePname2.3.2二元联系E-R模型设计 (1)EvaluateG联系集的E-R图如图2.6所示。 PassengerevaluateGGuideevaluateDateevaluateGscore图2.6 EvaluateG联系集(2)EvaluateS联系集的E-R图如图2.7所示。 PassengerevaluateSSceneryevaluateDateevaluateSscore图2.7 EvaluateS联系集2.3.3 弱联系E-R模型设计(1)arrange联系集的E-R图如图2.8所示。linelineProjectarrange 图2.8 arrange联系集2.3.4四元联系E-R模型设计(1)travel联系集的E-R图如图2.9所示。travel stardatePassengerGuidelinelineProjectarrangescenery图2.9 travel联系集2.3.4聚合联系E-R模型设计(1)order联系集的E-R图如图3.0所示。Passengerorderdatearrangelineprojectline图3.0 order联系集2.3.5总 E-R模型设计(1) 总体ER图如图3.1所示。arrangeeLinetravelorderevaluateGGGGGGPassengerGuideSceneryevaluateSLineProject图3.1 总ER图3 逻辑设计本次设计的数据库在SQL Server 2000上实现,将概念结构设计中的E-R图转换成SQL Sever 2000支持的关系数据模型。3.1实体集转化为关系模式将所有的实体分别转换为单独的一张表。(1)旅客实体集Passenger:Passenger(pasNo, pasName, sex, address, telephone, IDNo)(2)导游实体集Guide:Guide(guideNo, guideName , sex, address, telephone, IDNo)(3)线路实体集Line:Line(lineNo1, startime, start, distination)(4)景点实体集Scenery:Scenery(sceNo, sceName, bushours, ticketprice, discount, attention)(5)线路方案实体集LineProject:LineProject(Pno,Pname,Pprice ,vehicle,quantity)3.2联系集转化为关系模式(1)1:M的处理:联系属性可放在参与联系的“多”的那一边实体集中 arrange联系集:可以在lineProject的属性中增加一个LineNo1属性 arrange (Pno,Pstyle,Pprice,quantity,vehicle,lineno1)(2)M:N的处理:多对多联系集的主码由参与联系集中所有实体集的主码组成。 EvaluateG联系集: EvealuateG(pasNo 、guideNo 、evaluateDate、evaluateGscore) EvaluateS联系集:EvealuateS(pasNo 、sceNo、evaluateDate、evaluateScore) (3)M:N:P:T的处理:四元联系的主码由参与联系集的所有实体集的主码能够唯一确定。travel联系集: travel(traNo 、pasNo 、guideNo 、lineNo1、sno,pno,startdate 、trantime)3.3聚合联系集转化为关系模式 (1)聚合order联系集转化而成的关系模式为: order(orderNo、pasNo、lineNo1、pno、stardate、orderdate,price)3.4关系设计关系设计包括转换后所得表和函数依赖关系,转换之后的关系如表3.1至表3.7所示。表3.1 旅客信息表数据项数据类型别名是否为空取值范围取值含义pasNochar(9)旅客编号Not nullP-P 主键P代表旅客,后8位按顺序编号,是主码 pasNamevarchar(10) 旅客姓名Not null不得超过20字 sexchar(1) 性别Not null f/mf代表男性,m代表女性addressvarchar(50) 家庭住址Null不得超过20字teletphonechar(20)电话null-若输入家庭号码,则要输入地区号 IDNoChar(18)身份证号Not null 由18个数字组成 表3.2 导游信息表数据项数据类型别名是否为空取值范围取值含义guideNochar(9)导游编号Not nullG-G 主键G代表导游,后8位按顺序编号,是主码guideNamevarchar(10) 导游姓名Not null不得超过20字 sexchar(1) 性别Not null f/mf代表男性,m代表女性addressvarchar(50) 家庭住址Null不得超过20字teletphonechar(20)电话Not null-若输入家庭号码,则要输入地区号 IDNoChar(18)身份证号Not null 由18个数字组成 表3.3 线路信息表数据项数据类型别名是否为空取值范围取值含义lineNo1char(9)线路编号Not nullLXY-LXY 主键L代表线路,X代表出发地,Y代表目的地,后6位按顺序编号,是主码startime 出发时间Not null 每天 startvarchar(40)出发地Not null不得超过20字用文字说明distinationvarchar(40)目的地Not null不得超过20字用文字说明表3.4 景点信息表数据项数据类型别名是否为空取值范围取值含义sceNochar(9)景点编号Not nullS-S 主键S代表景点,后8位按顺序编号,是主码sceNamevarchar(20) 景点名称Not null不得超过20字bushourschar(20) 营业时间Not null 00:00-24:00营业时间段ticketprice int 票价null discountvarchar(40)优惠措施 null不得超过20字用文字说明attentionvarchar(40)注意事项 null不得超过20字用文字说明表3.5 线路方案信息表数据项数据类型别名是否为空取值范围取值含义Pnochar(3)方案编号Not null001- 999主键按流水号生成lineNo1char(9)线路编号Not nullLXY-LXY 主键L代表线路,X代表出发地,Y代表目的地,后6位按顺序编号,是主码Pnamevarchar(20)方案名称Not null不得超过20字 Ppriceint价格Not null vehicleVarchar(10)交通方式Nullquantityint总票数Not Nulldefault30默认总票数为30表3.6预订信息表数据项数据类型别名是否为空约束取值含义orderNochar(9)预订编号Not nullO-O 主键O代表预订,后8位按顺序编号pasNochar(9)旅客编号Not nullP-P 外键来自旅客信息表lineNochar(9) 线路编号Not nullL-L 外键来自线路信息表PNo char(9)方案编号Not nullP-P 外键来自方案编号stardatedatetime出发时间Not nullorderdatedatetime预定时间Not null priceint单价null表3.7出行信息表数据项数据类型别名是否为空约束取值含义traNochar(9)出行编号Not nullT-T 主键T代表出行,后8位按顺序编号PasNochar(9)旅客编号Not nullP-P 外键 来自旅客信息表guideNochar(9)导游编号Not nullG-G 外键来自导游信息表lineNochar(9)线路编号Not nullL-L 外键来自线路信息表sceNochar(9)景点编号Not nullS-S 外键来自景点信息表PNo char(9)方案编号Not nullP-P 外键来自方案编号startdatedatetime出发时间 Not null trantimedatetime参观景点时间Not null表3.8旅客对导游评价信息表 数据项数据类型别名是否为空约束取值含义guideNochar(9)导游编号Not nullG-G 外键来自导游信息表pasNochar(9)旅客编号Not nullP-P 外键来自旅客信息表evaluateGscore Int评价分数null evaluateDatedatetime评价时间null表3.9旅客对景点评价信息表 数据项数据类型别名是否为空约束取值含义sceNochar(9)景点编号Not nullG-G 外键来自景点信息表pasNochar(9)旅客编号Not nullP-P 外键来自旅客信息表evaluateSscore Int评论分数Not null evaluateDatedatetime评价时间Not null 3.5函数关系依赖(1)旅客信息表 R1(旅客编号、旅客姓名、性别、家庭住址、电话、身份证号)3NF。(2)导游信息表 R2(导游编号、导游姓名、性别、家庭住址、电话、身份证号)3NF。(3)线路信息表R3(线路编号、出发时间、出发地、目的地)3NF。(4)景点信息表 R4(景点编号、景点名称、营业时间、票价、优惠措施、注意事项)3NF。(5)线路方案信息表 R5(方案编号、方案类型、价格、总票数、交通方式、线路编号)3NF。(6)预订信息表 R6(预订编号、旅客编号、线路编号、线路方案、出发时间、预定时间、单价)2NF。(7)出行信息表 R7(出行编号、旅客编号、导游编号、景点编号、线路编号、方案编号、出发时间、参观景点时间 )2NF。 (8)导游评价信息表 R8(旅客编号、导游编号、评价时间、 评价得分) 3NF。(9)景点评价信息表R9(旅客编号、景点编号、评价时间、 评价得分)3NF。3.6模式求精仔细分析表3.6与表3.7可以知道,当有许多拼客参加同一预订信息或出行信息时,由于 guideNo、lineNo、sceNo等许多信息重复,而仅仅是PasNo、price、 ordernum、num等属性有所不同,所以会造成大量的冗余。因此可以把这两个表的属性分别再产生一张明细表,并且要在预订主表和订单主表中分别加上一个预订编号和出行编号做主码。(1)由order联系集产生预订主表(ordermaster)和预订明细表(orderDetail):Ordermaster(orderNo、lineNo1、Pno、stardate、orderdate) orderDetail(ordeNo、pasNo 、price)可以验证,关系模式ordermaster和orderDetail都满足BCNF要求,且分解是无损连接。转化成对应的表如下:表3.10预订主表数据项数据类型别名是否为空约束取值含义orderNochar(9)预订编号Not nullO-O 主键O代表预订,后8位按顺序编号lineNo1char(9) 线路编号Not nullL-L 外键来自线路信息表Pnochar(3)方案编号Not null001- 999主键按流水号生成stardatedatetime出发时间Not nullorderdatedatetime预定时间Not null 表3.11预订明细表数据项数据类型别名是否为空约束取值含义orderNochar(9)预订编号Not nullO-O 主键O代表预订,后8位按顺序编号pasNochar(9)旅客编号Not nullP-P 外键来自旅客信息表priceint单价Not null(2)由travel联系集产生出行主表(travelmaster)和订单明细表(travelDetail):Travelmaster(traNo 、guideNo 、lineNo1、pno、startdate )travelDetail(traNo、pasNo 、sNo、trantime)可以验证,关系模式travelmaster和travelDetail都满足BCNF要求,且分解是无损连接。转化成对应表如下:表3.12出行主表数据项数据类型别名是否为空约束取值含义traNochar(9)出行编号Not nullT-T 主键T代表出行,后8位按顺序编号guideNochar(9)导游编号Not nullG-G 外键来自导游信息表lineNo1char(9)线路编号Not nullL-L 外键来自线路信息表Pnochar(3)方案编号Not null001- 999主键按流水号生成startdatedatetime出发时间 Not null 表3.13出行明细表数据项数据类型别名是否为空约束取值含义traNochar(9)出行编号Not nullT-T 主键T代表出行,后8位按顺序编号PasNochar(9)旅客编号Not nullP-P 外键 来自旅客信息表sceNochar(9)景点编号Not nullS-S 外键来自景点信息表trantimedatetime参观景点时间Not null所以模式求精后整个拼车系统所确定的关系表如下:1) 表3.1旅客信息表Passenger2)表3.2导游信息表 Guide3)表3.3线路信息表Line4)表3.4景点信息表scenery5)表3.5线路方案信息表LineProject6)表3.10预订主表ordermaster7)表3.11预订明细表 orderdetail8) 表3.12出行主表travelmaster9) 表3.13出行明细表travelDetail10)表3.8旅客对导游评价信息表EvealuateG11)表3.9旅客对导游评价信息表EvealuateS4 物理设计在逻辑设计的基础上,对关系模式的存储方式和数据库的存取结构进行了物理优化。4.1关系模式存储方式选择为提高数据库数据的存取速度,而需要设置合适的存取方式,主要采用以下两类存取方式。4.1.1索引存取方式,主要采用B+ 树索引方法(1)Passenger、Guide、Scenery 表数据量相当大,其中PasName(旅客姓名)、guideName(导游姓名) 、teletphone(电话号码) 等属性列,Line 表的start(出发地)和distination(目的地)等属性列,以及LineProject表的Pname ( 方案类型名称)等属性经常出现在查询条件中,所以在以上几个表中的这几列中建立索引。(2)Passenger表的PasNo(旅客编号),Guide 表的guideNo(导游编号), Line表的lineNo1(线路编号),Scenery 表的 SceNo(景点编号),LineProject表的Pno (方案编号),order表的orderNo(预订编号), 等属性列经常出现在链接操作的链接条件中,在这些列上建立B+树索引。(3)travelDetail表的price(单价)、 quantity(总票数)和LineProject表中的Pprice (票价)和等属性列经常被查询,所以在这几个表中建立索引。4.1.2聚簇存取方式(1)除特殊说明的表外,在其余各表主键上默认地建立聚簇索引。(2)预订明细表和订单明细中的数量是经常要查询的数据,为加快查询速度,所以在orderDetail表 quantity列上建立聚簇索引。4.2数据库的存取结构为了提高系统整体性能,将数据库中的数据组织分为多个文件,分开进行存储。4.2.1数据的存放位置数据库中的数据组织一个primary文件进行存储,以下是对各表数据进行分析。(1)数据相对稳定、数据量较大、经常用于查询的表存组,符合该条件的表为:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论