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

付费下载

下载本文档

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

文档简介

1、1引言课题背景随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘

2、客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。课程设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系

3、数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。课程设计任务本课程设计任务是通过开发一个数据库机票预订系统,学习数据库系统的设计与开发,SQL相关的软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理2系统结构分析需求分析随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,机票的预定也越显重要,航空公司为

4、方便旅客出行,需开发一个机票预定系统。预定机票的旅客信息,包括姓名、性别、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。经过综合分析,确定了机票预订系统主要包括以下功能:(1)航班信息管理功能主要实现航班的一些基本信息,航班编号、票价、起飞地、目的地、起飞时间的添加、修改、删除和查询。(2)机票信息管理功能主要实现机票的一些基本信息,航班编号、座位号、座位信息、机票类型的添加

5、、修改、删除和查询。(3)旅客信息管理功能此模块的主要实现旅客一些基本信息,姓名、性别、联系方式、证件号码、的查询功能。(4)取票信息管理功能此模块用于取票信息的管理,包括对航班基本信息,航班编号等,旅客基本信息,旅客姓名、座位号、取票时间的查询。(5)退票信息管理功能此模块用于退票信息的管理,包括对订单号、旅客姓名、联系方式、证件号码的查询。功能模块图(1)根据上述的功能,可以设计出系统的总体功能模块,如图所示图机票预订系统功能模块示意图(2)取票信息管理模块的细化功能模块如图所示图取票信息管理模块(3)退票信息管理模块的细化功能模块如图所示图退票信息管理模块3.1概念结构设计3系统数据库设

6、计根据需求分析抽象出信息结构,可得该系统的E-R图。航班信息E-R图,如图所示。(4)取票通知E-R图,如图所示图退票信息E-R图根据分E-R图和需求分析,可得到总E-R图,如图所示,图系统总体结构E-R图3.2逻辑结构设计(1)E-R图向关系模型的转换将图总体概念结构E-R图转化成关系模型。退票信息(订单号,旅客姓名,联系方式,证件号码)旅客(旅客姓名,证件号码,联系方式,性别)航班信息表(航班号,票价,起飞地,目的地,起飞时间)取票通知单(旅客姓名,取票时间,证件号码,航班号,座位号)机票信息表(座位号,航班号,座位信息,机票类型)(2)数据模型的优化将转化的关系模式进行优化,最终达到第三

7、范式。确定数据依赖退票信息(订单号,旅客姓名,联系方式,证件号码)根据这个关系写出数据依赖订单号一旅客姓名,订单号一联系方式,订单号一证件号码旅客(旅客姓名,证件号码,联系方式,性别)旅客姓名一证件号码,旅客姓名一联系方式,旅客姓名一性别航班信息表(航班号,票价,起飞地,目的地,起飞时间)航班号一起飞地,航班号一票价,航班号一目的地,航班号一起飞时间取票通知单(旅客姓名,取票时间,航班号,座位号)旅客姓名一取票时间,旅客姓名一航班号,旅客姓名一座位号,机票信息表(座位号,航班号,座位信息,机票类型)(座位号,航班号)一舱位类型,(座位号,航班号,座位信息)一机票类型对各关系模式间数据依赖进行极

8、小化处理,消除冗余订单号一旅客姓名,订单号一联系方式,订单号一证件号码旅客姓名一性别,旅客姓名一取票时间,旅客姓名一航班号,旅客姓名一座位号,旅客姓名一机票类型航班号一起飞地,航班号一目的地,航班号一起飞时间(座位号,航班号)一座位信息看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(订单号,联系方式,证件号码)(订单号,旅客姓名)(旅客姓名,取票时间,性别,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,票价)(航班号,起飞地,目的地,起飞时间)(3)数据库的结构根据总体结构图设计机票预定系统基本表结构,其相应标的定义如下:表3-1旅客信息

9、系统的结构字段名数据类型长度约束描述passagernamevarchar50主键旅客姓名iddecimal不为空证件号码telephonenumberdecimal不为空联系方式sexvarchar50不为空性别表3-2退票信息系统的结构字段名数据类型长度约束描述orderformdecimal主键订单号passagernamevarchar50不为空旅客姓名telephonenumberdecimal不为空联系方式idvarchar50不为空证件号码表3-3航班信息系统的结构字段名数据类型长度约束描述flightnumberdecimal主键航班号takeoffplacevarchar50

10、不为空起飞地destinationvarchar50不为空目的地flighttimetime不为空起飞时间priceint不为空票价flighttypedecimal不为空航班型号表3-4取票通知单系统的结构字段名数据类型长度约束描述passagernamevarchar50主键旅客姓名gettickettimetime不为空取票时间flightnumberdecimal不为空航班号seatnumberdecimal不为空座位号flighttickettypevarchar50不为空机票类型表3-5航班座位信息表字段名数据类型长度约束描述seatnumberdecimal主键座位号flight

11、numberdecimal不为空航班号seatmessagevarchar50不为空座位信息flighttickettypevarchar50不为空机票类型数据库表的建立根据数据库的基本表结构分别建立六个基本表,这里给出具体的SQM句如下(1)创建旅客信息表passagercreatetablepassager(passagernamevarchar(50)primarykey,iddecimalnotnull,telephonenumberdecimalnotnull,sexvarchar(50)notnull);(2)创建退票信息表cancellations_messagecreateta

12、blecancellations_message(orderformdecimalprimarykey,passagernamevarchar(50)notnull,telephonenumberdecimalnotnull,idvarchar(50)notnull);(3)创建航班信息表flight_messagecreatetableflight_message(flightnumberdecimalprimarykey,takeoffplacevarchar(50)notnull,destinationvarchar(50)notnull,flighttimetimenotnull,fl

13、ighttypedecimalnotnull,priceintnotnull);(4)创建取票通知表ticket_messagecreatetablegetticket_message(passagernamevarchar(50)primarykey,gettickettimetimenotnull,flightnumberdecimalnotnull,seatnumberdecimalnotnull,flighttickettypevarchar(50)notnull);(5)创建座位信息表flight_seat_messagecreatetableflight_seat_message(

14、seatnumberdecimalprimarykey,flightnumberdecimalnotnull,seatmessagevarchar(50)notnull,flighttickettypevarchar(50)notnull);4数据库编程数据库的连接创建函数ExecuteSQL()PublicFunctionExecuteSQL(ByValSQL_AsString,MsgStringAsString)_AsadOow=1DoWhileNot.Rows=.Rows+1Fori=1ToIfNotIsNull(Trim(i-1)ThenSelectCase(i-1).TypeCase

15、adDBDate.TextMatrix(.Rows-1,i0=Format(i-1)&"","yyyy-mm-dd")CaseElse.TextMatrix(.Rows-1,i0=(i-1)&""EndSelectEndIfNextiLoopEndWithEndSub类的Save方法用于保存记录,以及在修改记录后对记录进行更新,并在更新前首先判断是否具有相同的ID记录,方法的具体代码如下。PublicSubSave(txtString()AsString)添加判断是否有相同的ID记录DimintCountAsInteg

16、erDimMsgTextAsString/IfgintPmod=1ThenTxtSQL="select*fromflight_messagewhereflightnumber='"&Trim(txtString(0)&""Setmrc=ExecuteSQL(txtSQL,MsgText)If=FalseThenMsgBox"已经存在此编号的记录!",vbOKOnly+vbExclamation,告"ExitSubEndIfEndIf/先删除已有记录txtSQL="deletefromflig

17、ht_messagewhereflightnumber='"&Trim(txtString(0)&""Setmrc=ExecuteSQL(txtSQL,MsgText)/再加入行记录txtSQL="select*fromflight_message"Setmrc=ExecuteSQL(txtSQL,MsgText)ForintCount=0To7(intCount)=txtString(intCount)NextintCountEndSubDelete方法用于删除记录,代码比较简单,在此不作过多赘述5功能测试登陆界面在已

18、经完成了程序各个功能模块的创建,现在来运行整个系统。运行程序,出现如图所示的登录窗口。图登录窗口各功能模块的实现输入用户名和密码后,进入系统。选择“航线信息管理|航线信息”菜单,将显示所有航线信息,如图所示。图航线信息列表在航线信息列表中单击“查询”按钮,并设置查询内容,如图所示图查询航线信息窗体航线查询结果如图所示图航线信息查询结果在机票信息列表中单击“添加”按钮,出现如图所示的窗体,输入订票信息图添加订票信息单击“保存”按钮,出现如图所示的对话框提示订票成功图订票提示信息在机票信息列表中,单击“查询”按钮,出现如图所示的窗体,输入查询内容,可以得到剩余机票信息。图机票信息查询窗体查询结果如图所示。图机票信息查询结果6结束语经过两周的努力,本次课程设计终于完成了。通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程。通过这次课程设计,我明白了理论与实际应用相结合的重要性,掌握并熟练运用SQM旬以及VB的应用,提高了我的综合运用所学知识的能力。在本次课程设计和过程中,由

温馨提示

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

评论

0/150

提交评论