内蒙古科技大学《数据库原理及应用》课程设计说明书题目:机票预订系统学生姓名学号:专业:计算机科学与技术班级:4班指导教师:余金林内蒙古科技大学课程设计任务书课程名称数据库课程设计设计题目机票预订系统(题目等级60)指导教师余金林时间15周-16周一、教学要求1.从附录一中选择一个题目进行数据库应用系统设计。2.功能设计:用VisualFoxPro,VisualBasic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程)3.数据库的设计:根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:概念结构设计的E-R图数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码);确定表之间的关联(一对一、一对多、多对多)运用数据库理论确定每个表至少属于3NF。二、设计资料及参数1、订单编号2、航班编号、出发地、目的地、出发时间到达时间3、机票编号、座位号、机舱等级4、旅客编号、姓名、性别、身份证号三、设计要求及成果1.按照数据库应用系统设计步骤进行数据库结构设计。2.使用开放工具及数据库管理系统开放应用系统(可选)。3.书写论文(具体要求见论文模板)。四、建议参考资料《数据库系统教程》(第三版)施伯乐等著高等教育出版社目录内蒙古科技大学课程设计任务书2目录2第一章绪论错误!未定义书签。课题简介3设计目的3设计内容4第二章需求分析4需求分析的任务4需求分析的过程4数据字典与流程图7第三章ER模型图10实体属性图10总体ER模型图13第四章逻辑结构设计14E-R图向关系模型的转换14数据模型的优化14第五章功能实现15查询功能的实现15多条件查询功能的实现15添加功能的实现16删除功能的实现16更改功能的实现17视图的建立18第六章源代码18第七章总结18第八章参考文献23附录23第一章绪论课题简介随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。而建立机票预定系统是一个很好的解决办法。经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套机票预定管理系统,在下面的各章中,我将以这套机票预定系统信息系统为例,谈谈其开发过程和所涉及到的问题。设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。设计内容选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解机票预定系统的构造以及购票人的信息还有机票的相关信息。通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作。需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后就是要运行和实施数据库。第二章需求分析需求分析的任务调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和飞机预定流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。需求分析的过程航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。经过综合分析,确定了机票预订管理系统主要包括以下功能:(1)订单信息管理功能主要是实现管理员对订票信息的管理,包括对航班基本信息如航班号、起飞地、目的地、起飞时间等,旅客基本信息如旅客姓名、性别、电话号码、身份证号、座位号、订票数量的添加、修改、删除和查询功能。订单信息管理系统图2-1旅客信息管理功能主要是实现管理员对旅客一些基本信息,如旅客姓名、性别、电话号码、身份证号的添加、修改、删除和查询功能。旅客信息管理系统图2-2(3)航班信息管理功能主要实现管理员对航班的一些基本信息,航班号、起飞地、目的地、起飞时间的添加、修改、删除查询和功能。航班信息管理系统图2-3(4)机票信息管理功能主要实现管理员对机票的一些基本信息,如航班号、座位号、座位信息、机票类型的添加、修改、删除和查询功能。机票信息管理系统图2-4(5)退票信息管理功能主要是实现管理员对退票信息的管理,包括对订单号、旅客姓名、电话号码、身份证号的添加、修改、删除和查询功能。退票信息管理系统图2-5数据字典与流程图数据字典数据字典是用来规范描述数据具体内容的工具,也是对数据汇总分析的一个总结。一般来说,可为每个数据建立一张二维表。在本系统中,分别为旅客信息、旅客订票信息、航班机票信息、旅客与机票的联系、退票信息建立了数据字典,具体如表2-1到表2-6所示。主键:蓝色外键:下划线表2-1订单信息的数据字典字段名描述数据类型长度是否允许为空Booking_Number订单的编号VARCHAR50否Flight_Number航班编号VARCHAR20否Seat_Number座位编号VARCHAR50否Passenger_Number旅客编号VARCHAR50否Ticket_Number机票的编号VARCHAR50否Price金额VARCHAR50否表2-2航班信息的数据字典字段名描述数据类型长度是否允许为空Flight-Number航班编号VARCHAR50否Takeoff_Time起飞时间VARCHAR50否Arrtival_Time到达时间VARCHAR50否Origin出发地VARCHAR50否Destination目的地VARCHAR50否Flight_Type航班型号VARCHAR50否表2-3机票信息的数据字典字段名描述数据类型长度是否允许为空Ticket_Number机票编号VARCHAR)50否Seat_Number座位号VARCHAR50否Price价格VARCHAR50否Takeoff_Time出发时间VARCHAR50否Destination目的地VARCHAR50否表2-4旅客信息的数据字典字段名描述数据类型长度是否允许为空Passenger_Number旅客编号VARCHAR50否Passenger_Name旅客姓名VARCHAR50否ID_Number身份证号VARCHAR50否Sex性别VARCHAR50否Telephone电话VARCHAR50否表2-5旅客与机票信息的联系数据字典字段名描述数据类型长度是否允许为空Number编号VARCHAR50否Ticket-Number机票编号VARCHAR50否Passenger_Number旅客编号VARCHAR50否表2-6退票信息的数据字典字段名描述数据类型长度是否允许为空Order_Number退票号VARCHAR50否Takeoff_Time时间VARCHAR50否Booking_Number订单编号VARCHAR50否基本流程图开始航班管理系统检索是否有余票Y,继续进行下一步结束NO.返回发售机票退票系统界面输入订单号判断订单退票成功载入信息选择所需航班信息旅客买到机票查询航班信息机票预订系统流程图2-6第三章ER模型图实体属性图订单信息价格时间订单号座位号航班号订单信息实体属性图3-1航班信息出发时间航班号目的地飞机型号出发地到达时间航班信息实体属性图3-2机票信息价格座位号目的地机票编号机票信息实体属性图3-3客户与机票编号机票编号旅客编号客户与机票实体属性图3-4旅客信息编号旅客姓名身份证号性别联系电话旅客信息实体属性图3-5座位信息座位号类型目的地机票编号座位信息实体属性图3-6退票信息订单号日期退票信息实体属性图3-7总体ER模型图乘客订单航班座位查看1;1机票领取1;1订票1:1分配1:1包含1;1属于1;n退票第四章逻辑结构设计E-R图向关系模型的转换订单信息(订单号,航班号,座位号,数量,类型)退票信息(订单号,旅客编号,时间)旅客信息(旅客编号,身份证号,姓名,性别,联系电话)航班信息表(航班编号,起飞地,目的地,起飞时间)座位信息表(座位号,机票类型)数据模型的优化将转化的关系模式进行优化,最终达到第三范式。1、确定数据依赖退票信息(订单号,旅客姓名,航班号)根据这个关系写出数据依赖订单号→旅客姓名,订单号→座位号,订单号→航班号旅客(旅客姓名,旅客编号,电话号,性别)旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别航班信息表(航班号,起飞地,目的地,起飞时间)航班号→起飞地,航班号→目的地,航班号→起飞时间座位信息表(座位号,航班号,座位信息,机票类型)(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型对各关系模式间数据依赖进行极小化处理,消除冗余订单号→旅客编号,订单号→座位号,订单号→机票编号,订单号→机票编号看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(订单号,机票编号,机票类型)(订单号,旅客编号)(旅客编号,旅客姓名,性别)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)功能实现查询功能的实现通过查询功能我们可以找到相关的信息。USEMARKETSELECT*FROMSeat查询功能图5-1多条件查询功能的实现使用多条件查询功能可以增加查询的限制条件,这样可以使查询的结果更准确。USEMARKETSELECT*FROMPassengerWHERESex='女'ANDPassenger_Name='小青'多条件查询功能图5-2添加功能的实现通过添加功能实现对数据的增加,录入需要的信息。USEMARKETINSERTINTOPassengerVALUES('00001','大卫','1234566','男','');添加功能图5-3删除功能的实现可以实现对一些变更的信息删除,从而能够达到一定的效果。USEMARKETDELETEFROMBooking_TicketWHEREBooking_Number='B00001'删除功能图5-4更改功能的实现通过更改功能我们可以对其信息修改,比如机票座位类型,目的地等做相应的修改USEMARKETSELECT*FROMFlightWHEREFlight_Number=A01UpdateFlightSETDestination='呼和浩特'whereFlight_Number=A01SELECT*FROMFlightWhereFlight_Number=A0更改功能图5-5视图的建立视图就是创建一个可以实现添加创建的续表,从而实现效果。视图5-6第六章源代码建库:createdatabase[MARKET]onprimary(name='ticket_db'