机票预订系统课程设计_第1页
机票预订系统课程设计_第2页
机票预订系统课程设计_第3页
机票预订系统课程设计_第4页
机票预订系统课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

内蒙古科技大学《数据库原理及应用》课程设计说明书题目:机票预订系统 学生姓名学号:专业:计算机科学与技术 班级:4班指导教师:余金林内蒙古科技大学课程设计任务书课程名称数据库课程设计设计题目机票预订系统〔题目等级60〕指导教师余金林时间15周-16周一、教学要求1.从附录一中选择一个题目进行数据库应用系统设计。2.功能设计:用VisualFoxPro,VisualBasic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等根本功能。设计课题可以从候选的工程中选出,根据题目的根本需求,画出流程图,编写程序,并写出详细的设计说明书。〔本项实际系统设计与实现可选,但必须有功能设计过程〕3.数据库的设计:根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:概念结构设计的E-R图数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束〔主、外码〕;确定表之间的关联〔一对一、一对多、多对多〕运用数据库理论确定每个表至少属于3NF。二、设计资料及参数1、订单编号2、航班编号、出发地、目的地、出发时间到达时间3、机票编号、座位号、机舱等级4、旅客编号、姓名、性别、身份证号三、设计要求及成果1.按照数据库应用系统设计步骤进行数据库结构设计。2.使用开放工具及数据库管理系统开放应用系统〔可选〕。3.书写论文〔具体要求见论文模板〕。四、建议参考资料《数据库系统教程》〔第三版〕施伯乐等著高等教育出版社目录TOC\o"1-2"\h\u20384内蒙古科技大学课程设计任务书22430目录332453第一章绪论4192631.1课题简介4251091.2设计目的4259101.3设计内容53993第二章需求分析553872.1需求分析的任务5222952.2需求分析的过程5146542.3数据字典与流程图831634第三章ER模型图1254163.1实体属性图1256003.2总体ER模型图157611第四章逻辑结构设计17206914.1E-R图向关系模型的转换17239364.2数据模型的优化1729642第五章功能实现18126565.1查询功能的实现18292815.2多条件查询功能的实现18121635.3添加功能的实现1971925.4删除功能的实现1957235.5更改功能的实现2091495.6视图的建立214740第六章源代码224740第七章总结267964第八章参考文献2721885附录28第一章绪论1.1课题简介随着时代的开展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。而建立机票预定系统是一个很好的解决方法。经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的时机,在指导教师的帮助下,历经两周时间,我自行设计一套机票预定管理系统,在下面的各章中,我将以这套机票预定系统信息系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,稳固所学知识。实践和稳固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下根底。1.3设计内容选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解机票预定系统的构造以及购票人的信息还有机票的相关信息。通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作。需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后就是要运行和实施数据库。第二章需求分析2.1需求分析的任务调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和飞机预定流程。处理要求、数据的平安性与完整性要求。要求系统能有效、快速、平安、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,效劳器程序利于维护。2.2需求分析的过程航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据效劳器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。要求系统能有效、快速、平安、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,效劳器程序利于维护。经过综合分析,确定了机票预订管理系统主要包括以下功能:(1)订单信息管理功能主要是实现管理员对订票信息的管理,包括对航班根本信息如航班号、起飞地、目的地、起飞时间等,旅客根本信息如旅客姓名、性别、号码、身份证号、座位号、订票数量的添加、修改、删除和查询功能。订单信息管理系统图2-1旅客信息管理功能主要是实现管理员对旅客一些根本信息,如旅客姓名、性别、号码、身份证号的添加、修改、删除和查询功能。旅客信息管理系统图2-2(3)航班信息管理功能主要实现管理员对航班的一些根本信息,航班号、起飞地、目的地、起飞时间的添加、修改、删除查询和功能。航班信息管理系统图2-3(4)机票信息管理功能主要实现管理员对机票的一些根本信息,如航班号、座位号、座位信息、机票类型的添加、修改、删除和查询功能。机票信息管理系统图2-4(5)退票信息管理功能主要是实现管理员对退票信息的管理,包括对订单号、旅客姓名、号码、身份证号的添加、修改、删除和查询功能。退票信息管理系统图2-52.3数据字典与流程图2.3.1数据字典数据字典是用来标准描述数据具体内容的工具,也是对数据汇总分析的一个总结。一般来说,可为每个数据建立一张二维表。在本系统中,分别为旅客信息、旅客订票信息、航班机票信息、旅客与机票的联系、退票信息建立了数据字典,具体如表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否TelephoneVARCHAR50否表2-5旅客与机票信息的联系数据字典字段名描述数据类型长度是否允许为空Number编号VARCHAR50否Ticket-Number机票编号VARCHAR50否Passenger_Number旅客编号VARCHAR50否表2-6退票信息的数据字典字段名描述数据类型长度是否允许为空Order_Number退票号VARCHAR50否Takeoff_Time时间VARCHAR50否Booking_Number订单编号VARCHAR50否2.3.2根本流程图机票预订系统流程图2-6第三章ER模型图3.1实体属性图订单信息实体属性图3-1航班信息实体属性图3-2机票信息实体属性图3-3客户与机票实体属性图3-4旅客信息实体属性图3-5座位信息实体属性图3-6退票信息实体属性图3-73.2总体ER模型图第四章逻辑结构设计4.1E-R图向关系模型的转换订单信息〔订单号,航班号,座位号,数量,类型)退票信息〔订单号,旅客编号,时间〕旅客信息〔旅客编号,身份证号,姓名,性别,联系)航班信息表〔航班编号,起飞地,目的地,起飞时间〕座位信息表〔座位号,机票类型〕4.2数据模型的优化将转化的关系模式进行优化,最终到达第三范式。1、确定数据依赖退票信息〔订单号,旅客姓名,航班号〕根据这个关系写出数据依赖订单号→旅客姓名,订单号→座位号,订单号→航班号旅客〔旅客姓名,旅客编号,号,性别)旅客姓名→身份证号,旅客姓名→号,旅客姓名→性别航班信息表〔航班号,起飞地,目的地,起飞时间〕航班号→起飞地,航班号→目的地,航班号→起飞时间座位信息表〔座位号,航班号,座位信息,机票类型〕〔座位号,航班号〕→座位信息,〔座位号,航班号,座位信息〕→机票类型对各关系模式间数据依赖进行极小化处理,消除冗余订单号→旅客编号,订单号→座位号,订单号→机票编号,订单号→机票编号看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:〔订单号,机票编号,机票类型〕〔订单号,旅客编号〕〔旅客编号,旅客姓名,性别〕〔旅客姓名,座位号〕〔航班号,座位号,机票类型〕〔航班号,起飞地,目的地,起飞时间〕功能实现5.1查询功能的实现通过查询功能我们可以找到相关的信息。USEMARKETSELECT*FROMSeat查询功能图5-15.2多条件查询功能的实现使用多条件查询功能可以增加查询的限制条件,这样可以使查询的结果更准确。USEMARKETSELECT*FROMPassengerWHERESex='女'ANDPassenger_Name='小青'多条件查询功能图5-25.3添加功能的实现通过添加功能实现对数据的增加,录入需要的信息。USEMARKETINSERTINTOPassengerVALUES('00001','大卫','1234566','男',);添加功能图5-35.4删除功能的实现可以实现对一些变更的信息删除,从而能够到达一定的效果。USEMARKETDELETEFROMBooking_TicketWHEREBooking_Number='B00001'删除功能图5-45.5更改功能的实现通过更改功能我们可以对其信息修改,比方机票座位类型,目的地等做相应的修改USEMARKETSELECT*FROMFlightWHEREFlight_Number=A01 UpdateFlightSETDestination='呼和浩特'whereFlight_Number=A01SELECT*FROMFlightWhereFlight_Number=A0更改功能图5-55.6视图的建立视图就是创立一个可以实现添加创立的续表,从而实现效果。视图5-6第六章源代码建库:createdatabase[MARKET]onprimary(name='ticket_db',filename='F:\数据库课程设计\ticket.mdf',size=5mb,maxsize=30mb,filegrowth=5%)logon(name='ticket',filename='F:\数据库课程设计\ticket_log.ldf',size=1mb,maxsize=10mb,filegrowth=10%)建表:CREATETABLEBooking_Ticket/订单信息表的创立/(Booking_Numbervarchar(50)primarykey,/设置主键/Flight_Numbervarchar(50)notnull,Seat_Numbervarchar(50)notnull,Passenger_Numbervarchar(50)notnull,Amountvarchar(50)notnull,Pricevarchar(50)notnull,Timevarchar(50)notnull,);USEMARKETCREATETABLEFlight/航班信息表的创立/(Flight_Numbervarchar(50)primarykey,/设置主键/akeoff_Timevarchar(50)notnull,ArTrival_Timevarchar(50)notnull,Flight_Timevarchar(50)notnull,Originvarchar(50)notnull,Destinationvarchar(50)notnull,Flight_Typevarchar(50)notnull);USEMARKETCREATETABLEPassenger/旅客信息表的创立/(Passenger_Numbervarchar(50)primarykey,/设置主键/Passenger_Namevarchar(50)notnull,ID_Numbervarchar(50)notnull,Sexvarchar(50)notnull,Telephonevarchar(50)notnull);USEMARKETCREATETABLESeat/座位信息表的创立/(Seat_Numbervarchar(50)primarykey,/设置主键/Seat_Typevarchar(50)notnull,Ticket_Numbervarchar(50)notnull,Destinationvarchar(50)notnull);USEMARKETCREATETABLETicket(Ticket_Numbervarchar(50)primarykey,/设置主键/Destinationvarchar(50)notnull,Pricevarchar(50)notnull,Takeoff_Timevarchar(50)notnullSeat_Numbervarchar(50)notnull);USEMARKETCREATETABLERelation/关系的创立/(Numbervarchar(50)primarykey,/设置主键/Ticket_Numbervarchar(50)notnull,Passenger_Numbervarchar(50)notnull,);USEMARKETCREATETABLERefund/退票信息表的创立/(Order_Numbervarchar(50)primarykey,/设置主键/Passenger_Numbervarchar(50)notnull,Booking_Numbervarchar(50)notnull,);设置外键:useMARKETgoaltertableBooking_Ticketaddconstraintfk_storeDIforeignkey(Seat_Number)referencesSeat(Seat_Number)useMARKETgoaltertableBooking_Ticketaddconstraintfk_storeADIforeignkey(Flight_Number)referencesFlight(Flight_Number)useMARKETgoaltertableBooking_Ticketaddconstraintfk_storeIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKETgoaltertableRefundaddconstraintfk_storIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKETgoaltertableRefundaddconstraintfk_sorIforeignkey(Booking_Number)referencesBooking_Ticket(Booking_Number)useMARKETgoaltertableBooking_Ticketaddconstraintfk_sosIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)useMARKETgoaltertableRelationaddconstraintfk_sowsIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)useMARKETgoaltertableRelationaddconstraintfk_saIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKETgoaltertableBooking_Ticketaddconstraintfk_saiIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)设置约束条件:useMARKETgoaltertablePassengeraddcheck(Sexin('男','女'));/设置外键约束/数据的插入:useMARKETINSERTINTOFlightVALUES('A01','12:00','14:30','2小时分','包头','北京','B0');INSERTINTOFlightVALUES('A02','12:01','14:31','2小时分','包头','天津','B1');INSERTINTOFlightVALUES('A03','12:02','14:32','2小时分','包头','上海','B2');INSERTINTOFlightVALUES('A04','12:03','14:33','2小时分','包头','河北','B3');INSERTINTOFlightVALUES('A05','12:04','14:34','2小时分','包头','南京','B4');/航班信息的插入/useMARKETINSERTINTOTicketVALUES('0001','北京','325','12:01','C001');INSERTINTOTicketVALUES('0002','天津','326','12:02','C002');INSERTINTOTicketVALUES('0003','上海','327','12:03','C003');INSERTINTOTicketVALUES('0004','河北','328','12:04','C004');INSERTINTOTicketVALUES('0005','南京','329','12:05','C005');/机票信息的插入/INSERTINTOPassengerVALUES('00001','大卫','1234566','男',);INSERTINTOPassengerVALUES('00002','小明','1234567','女',);INSERTINTOPassengerVALUES('00003','小张','1234568','男',);INSERTINTOPassengerVALUES('00004','小青','1234569','女',);INSERTINTOPassengerVALUES('00005','小白','1234560','男',);/旅客信息的插入/useMARKETINSERTINTOBooking_ticketVALUES('B00001','A01','C001','00001','1','325','2小时分','0001');INSERTINTOBooking_ticketVALUES('B00002','A02','C002','00002','2','326','2小时分','0002');INSERTINTOBooking_ticketVALUES('B00003','A03','C003','00003','2','327','2小时分','0003');INSERTINTOBooking_ticketVALUES('B00004','A04','C004','00004','1','328','2小时分','0004');INSERTINTOBooking_ticketVALUES('B00005','A05','C005','00005','1','329','2小时分','0005');/订单信息的插入/useMARKETINSERTINTORefundVALUES('D001','00001','0001');INSERTINTORefundVALUES('D002','00002','0002');INSERTINTORefundVALUES('D003','00003','0003');INSERTINTORefundVALUES('D004','00004','0004');INSERTINTORefundVALUES('D005','00005','0005');/退票信息的插入/useMARKETINSERTINTORelationVALUES('E001','0001','00001');INSERTINTORelationVALUES('E002','0002','00002');INSERTINTORelationVALUES('E003','0003','00003');INSERTINTORelationVALUES('E004','0004','00004');INSERTINTORelationVALUES('E005','0005','00005');useMARKETINSERTINTOSeatVALUES('C001','A','0001','北京');INSERTINTOSeatVALUES('C002','B','0002','天津');INSERTINTOSeatVALUES('C003','C','0003','上海');INSERTINTOSeatVALUES('C004','D','0004','河北');INSERTINTOSeatVALUES('C005','E','0005','南京');/座位信息的插入/第七章总结本次数据库的课程设计总共用了两个星期,总的来说最困难的地方是设计分析阶段,我选择的是飞机票预定系统的数据库设计。开始不太了解情况,为了更加深入的了解,我在网上登录几个大的民航订票网站,我发现只有支付过机票钱才能提交订单,所以我没有看到订单的具体情况,只根据自己的理解写的订单的情况。之后关于机票的信息,所以我觉得电子机票里应该包括了所有信息,订单信息里面也有旅客信息,航班信息,机票信息等。本来机票还可以退票和改签,网上我知道能退票,我本来想再设计可以在网上改签的功能,但是改签机票需要考虑许多因素,要考虑机票是否是打折的,和所在舱位,还有是否换航空公司等,不是一个因素决定的。如果时间再长一些,会仔细研究改签的问题。通过本次实验,更加熟练的掌握了相关工具,还可以熟练的使用Visio来画ER图。也知道了如何搜索信息,对于画图也增加了审美感。虽然现在的许多系统看似很好,但是还有许多需要完善的地方,我们也要努力学习,有创新的思想,来完善未来的系统,虽然现在是模仿阶段,但应该会走的更远。第八章参考文献王英英张少军刘增杰.SQLSERVER从零开始学〔D〕,清华大学出版社,2012数据库系统教程〔第三版〕施伯乐丁宝康汪卫编著高等教育出版社附录SQL编程标准一、sql书写标准:二、书写优化性能建议三、其他经验性规那么一、sql书写标准:1、sql语句的所有表名、字段名全部首字母大写,系统保存字、内置函数名、sql保存字大写。2、连接符or、in、and、以及=、<=、>=等前后加上一个空格。3、对

温馨提示

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

评论

0/150

提交评论