学号:0121410870922题目旅行代理数据库综合实验学院计算机科学与技术学院专业计算机科学与技术班级计算机1404姓名王承禹指导教师施继珉2016年12月20日武汉理工大学《数据库系统原理》课程设计说明书2旅行代理数据库综合实验1概述1.1任务描述一个旅行代理机构希望为他的消费者假日登记行为建立一个数据库。消费者在公司登记假期旅行。每个假期活动中一般都有飞机航班和食宿。在接受登记后,假日旅游的账单就会发给用户。旅行代理机构本质上属于旅行社。(有的情况下也可以理解为介于游客和旅行社之间的中间商,本实验中假定旅行代理机构就是旅行社)。本系统面向旅行代理机构工作人员为游客提供旅行登记服务。节假日期间以及旅游旺季会有大量的游客登记信息输入和旅行信息查询,系统的负荷较大;在非节假日期间以及非旅游淡季,登记和查询旅行的游客也会相对较少。此外,还要为工作人员提供旅行线路以及旅行班次等其他数据的导入手段。1.1.1系统目标(1)实用性原则:按旅行社工作的实际流程,设计出实用的旅行代理系统。为旅行代理机构的工作人员以及旅行代理机构的游客提供便捷、快速的服务。(2)可靠性原则:必须为旅行代理公司提供信息安全的服务,以保证用户信息不被泄露,保证旅行社信息的安全,同时也保证旅行代理机构本身信息的安全性。(3)友好性原则:此系统面向的用户是旅行代理机构的游客以及工作人员,所以要求操作简单,只需要对工作人员进行简单的培训就可以为游客提供方便快捷的服务。(4)可扩展性原则:采用开发的标准和接口,便于系统向更大的规模和功能扩展。1.1.2系统的功能需求根据旅行代理管理系统的理念,此管理系统必须满足以下需求:(1)按出发地与目的地、旅行时间等信息查询旅行班次的功能(2)单个与批量导入(添加)旅行线路与旅行班次、搭乘航班与食宿酒店等信息的功能(3)单个与批量删除旅行线路与旅行班次、搭乘航班与食宿酒店等信息的功能(4)修改旅行线路与旅行班次、搭乘航班与食宿酒店等信息的功能(5)为游客登记参与某次旅行的功能武汉理工大学《数据库系统原理》课程设计说明书3(6)打印游客所登记的旅行的账单的功能(7)查询某个旅行班次所包含的游客数量与游客信息的功能(8)准确查询某个旅行班次搭乘的航班与食宿酒店以及详细信息的功能1.1.3系统的性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:(1)系统的并发处理性能在旅行的旺季以及假期期间,游客量会比较大,旅行社会存在多个终端同时工作的情况,因此要求本系统能处理较高并发操作的能力,并且保证较高并发的情况下,不会出现错误。在开发过程中,尽量在数据库层次而不是应用系统层次保证并发性。(2)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看,客房信息查询、订房信息查询、结算信息询,其准确性很大程度上决定了系统的成败。因此,在系统开发过程中,系统采用优化的SQL语句及安全扩展存储过程来保证系统的准确性和及时性。(3)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如系统权限和客房信息设置等模块也会不断的更新和完善。所有这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。(4)系统的易用性本旅行代理系统面向的用户是有旅行需求的客户,而有些使用顾客往往对计算机并不是非常熟悉,所以系统操作上要求简单、方便、快捷,便于用户使用。这就要求系统能够提供良好的用户接口,易用的人机交互界面。(5)系统的安全性和可靠性武汉理工大学《数据库系统原理》课程设计说明书4本旅行代理管理系统虽然只面向旅行社工作人员和旅行社的游客,但是要保证旅行社游客、员工以及旅行社本身的信息安全,因此应该要求系统在安全性上有所保障,能够提供良好的数据保护能力,避免信息的泄露。2需求分析对用户需求进行调查分析后,形成用户需求分析文档。2.1.1数据字典(1)数据项的描述数据项:游客号含义说明:标识每一位游客类型:整形取值含义:根据游客注册顺序排列与其他数据项的逻辑关系:与游客一一对应数据项:员工号含义说明:标识每一位员工类型:字符型长度:根据实际情况设定取值含义:根据员工注册顺序排列与其他数据项的逻辑关系:与员工一一对应数据项:线路号含义说明:标志每一条旅行路线类型:整形取值含义:根据路线的录入顺序排列与其他数据项的逻辑关系:与路线一一对应数据项:旅行班次含义说明:标志每一个旅行的班次类型:整形取值含义:根据班次的录入顺序排列与其他数据项的逻辑关系:与旅行班次一一对应数据项:账单号含义说明:标志游客登记后打印的账单类型:整形取值含义:根据账单的时间顺序排列与其他数据项的逻辑关系:内含游客消费总额等数据数据项:酒店号含义说明:标识每一间酒店武汉理工大学《数据库系统原理》课程设计说明书5类型:整形取值含义:根据酒店信息录入顺序排列与其他数据项的逻辑关系:与每一个酒店一一对应数据项:姓名含义说明:游客或员工的姓名类型:字符型长度:定义最大为20取值含义:定义游客、员工的标志,可以存在重复数据项:身份证号含义说明:游客、员工登记的身份证编号类型:字符型长度:18位取值含义:游客、员工登记信息与其他数据项的逻辑关系:与顾客、员工一一对应关系数据项:单价含义说明:为顾客提供的相应的有偿劳动的相应价格类型:整形取值含义:表明服务的消费额度与其他数据项的逻辑关系:与服务内容一一对应关系数据项:电话号码含义说明:游客、员工、酒店的电话号码类型:字符型长度:11位取值含义:游客、员工、酒店的电话号码与其他数据项的逻辑关系:游客、员工的联系方式,可以重复(2)数据结构的描述数据结构:游客含义说明:是旅行代理系统的主题数据结构之一,定义了游客登记的相关信息组成:游客号姓名身份证号年龄性别电话数据结构:旅行线路含义说明:旅行的线路组成:路线号、出发地点、目的地数据结构:账单含义说明:顾客消费后由旅行代理公司开具的消费记录组成:账单号、顾客号、旅行班次、路线号、员工号、应付款、日期数据结构:员工武汉理工大学《数据库系统原理》课程设计说明书6含义说明:旅行代理公司的员工信息记录组成:员工号、姓名、身份证号、年龄、性别、电话数据结构:航班含义说明:旅行班次搭乘的航班信息记录组成:航班号、起飞时间、到达时间数据结构:酒店含义说明:旅行班次食宿的酒店信息记录组成:酒店号、酒店名称、电话数据结构:旅行班次含义说明:旅行班次的信息记录组成:班次号、路线号、出发地点、目的地、日期(3)数据流的描述数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流名、说明、数据流来源、数据流去向、组成等。数据流编号:F1数据流名称:旅行服务信息表简述:供用户查询旅行信息,选择需要的服务数据流来源:旅行社数据流去向:游客数据流组成:旅行服务类型,价格,旅行路线数据流量:100/天高峰流量:300/天数据流编号:F2数据流名称:账单简述:收费凭证数据流来源:前台服务部数据流去向:游客数据流组成:旅行服务类型,旅行服务价格,账单编号,日期数据流量:100/天高峰流量:300/天数据流编号:F3数据流名称:旅行登记表简述:登记旅行客人的信息及服务信息数据流来源:前台服务部数据流去向:游客,后勤部门数据流组成:姓名,年龄,性别,顾客号,导游号,登记日期,付款时间,身份证号,旅行类型数据流量:100/天武汉理工大学《数据库系统原理》课程设计说明书7高峰流量:300/天数据流编号:F6数据流名称:服务清单简述:客人选择的服务的信息数据流来源:顾客数据流去向:后勤部数据流组成:房号,服务项目,服务次数,服务单价数据流量:100/天高峰流量:500/天(4)处理逻辑的描述处理逻辑编号:P1处理逻辑名称:登记简述:游客选择旅行后输入基本信息登记输入的数据流:游客基本信息处理描述:对游客基本信息进行操作输出的数据流:游客登记信息处理频率:100次/天处理逻辑编号:P2处理逻辑名称:更新登记信息简述:有顾客后,要及时更新登记信息输入的数据流:登记信息处理描述:对登记信息数据进行更新操作输出的数据流:登记信息处理频率:100次/天处理逻辑编号:P3处理逻辑名称:产生账单简述:根据游客的登记产生相应账单输入的数据流:登记信息表处理描述:根据付款和登记信息产生账单输出的数据流:账单处理频率:100次/天(5)数据存储的描述数据存储编号:D1数据存储名称:登记信息数据简述:记录登记信息,包括登记信息和客人信息数据存储组成:姓名,旅行班次,登记时间关键字:账单号相关联的处理:P2,P3武汉理工大学《数据库系统原理》课程设计说明书8数据存储编号:D2数据存储名称:账单简述:记录账单信息,包括账单表目的相信信息数据存储组成:姓名,账单号,付款日期,登记时间,付款时间关键字:账单号相关联的处理:P4数据存储编号:D3数据存储名称:旅行信息简述:记录旅行信息数据存储组成:姓名,账单号,付款日期,登记时间,付款时间关键字:账单号相关联的处理:P21.3.2数据流图旅行代理系统数据流图如下所示:武汉理工大学《数据库系统原理》课程设计说明书93数据库设计3.1概念结构设计将需求分析得到的用户需求抽象为信息结构(即概念模型)。根据需求分析形成的数据字典和数据流图,抽象得到的实体有:游客(游客编号,身份证号,姓名,联系电话,年龄,性别,邮箱)员工(员工编号,职位,姓名,身份证号,联系电话,性别,年龄,密码)航班(航班号,航空公司,出发时间,到达时间,出发地点,到达地点)酒店(酒店编号,酒店名称,酒店地址,联系电话,酒店描述)账单(账单号,顾客编号,旅行班次,支付日期,付款金额,员工号)旅行班次(旅行班次,旅行项目名,出发时间,回程时间,报价,路线号,描述信息)注:下划线是主键根据实体与属性划分原则得到的实体有:旅行路线(路线编号,起点,终点,主要景点)实体之间的联系如下:一个账单可以包含一个旅行项目,一个旅行项目可以包含在多个账单中。一个旅行项目可以包含一条旅行线路,一条旅行线路可以包含在多个旅行项目中。一个员工可以为多个顾客服务,登记多个旅行,每个旅行可以由不同的员工来负责登记。一个旅行班次可以搭乘多个航班,一个航班可以被多个旅行班次搭乘。一个旅行班次可以食宿多个酒店,一个酒店可以为多个旅行班次提供食宿。旅行代理系统E-R图如图3.1所示。武汉理工大学《数据库系统原理》课程设计说明书10图3.1旅行代理系统E-R图游武汉理工大学《数据库系统原理》课程设计说明书113.2逻辑结构设计把概念设计阶段设计的E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,优化数据模型并设计用户子模式。实体转换的关系模式有:顾客,员工,旅行班次,航班,酒店,账单,旅行线路“支付”联系与账单关系模式合并。“含有”联系与旅行班次关系模式合并。“搭乘”联系转换成单独的关系模式。“食宿”联系转换成单独的关系模式。“包含”联系转换成单独的关系模式。旅行代理子系统的关系模式如下:顾客(顾客编号,身份证号,姓名,联系电话,年龄,性别,邮箱)员工(员工编号,职位,姓名,身份证号,联系电话,性别,年龄,密码)航班(航班号,航空公司,出发时间,到达时间,出发地点,到达地点)酒店(酒店编号,酒店名称,酒店地址,联系电话,酒店描述)账单(账单号,顾客编号,旅行班次,支付日期,付款金额,员工号)旅行班次(旅行班次,旅行项目名,出发时间,回程时间,报价,路线号,描述信息)旅行路线(路线编号,起点,终点,主要景点)搭乘(旅行班次,航班号,日期)食宿(旅行班次,酒店号,日期)定义用户子模式如下:结账单(账单编号,旅行班次,出发地,目的地,出发时