中文摘要
随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。
现设计一个机票预定管理系统的数据库,首先根据问题需求设计E-R模型,然后再根据E-R模型设计出相应的关系模型,对于每个关系模型的没一个关系,可以设计出相应的表格,接着分配表空间、创建视图、设计存储过程等等
关键词:机票预定管理系统 数据库 E-R模型
序言
随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。
机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。
系统分析
2.1系统分析的任务
机票预订系统的最终目标是:在计算机网络,数据库和先进的开发平台上,用现有的软件,配置一定的硬件,开发一个具有开放体系的、易扩充的、易维护的、具有良好人际交互的机票预订系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。总之,这个系统要求能够实现实时,高效,便捷,完善,安全性好等特点,并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
2.2系统功能分析
航空公司为方便旅客,需开发一个机票预定管理系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、电话号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,管理员经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭订单交款后取票,管理员校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
经过综合分析,确定了机票预订管理系统主要包括以下功能:
(1)订单信息管理功能
主要是实现管理员对订票信息的管理,包括对航班基本信息如航班号、起飞地、目的地、起飞时间等,旅客基本信息如旅客姓名、性别、电话号码、身份证号、工作单位、座位号、订票时间、订票数量的添加、修改、删除和查询功能。
旅客信息管理功能
(2)主要是实现管理员对旅客一些基本信息,如旅客姓名、性别、电话号码、身份证号、工作单位的添加、修改、删除和查询功能。
(3) 航班信息管理功能
主要实现管理员对航班的一些基本信息,航班号、起飞地、目的地、起飞时间的添加、修改、删除查询和功能。
(4) 机票信息管理功能
主要实现管理员对机票的一些基本信息,如航班号、座位号、座位信息、机票类型的添加、修改、删除和查询功能。
(5) 退票信息管理功能
主要是实现管理员对退票信息的管理,包括对订单号、旅客姓名、电话号码、身份证号的添加、修改、删除和查询功能
2.3流程图和数据字典
2.3.1 功能模块图
根据上述的功能,可以设计出系统的总体功能框架,如图2.1所示。
图2.1 机票预定管理系统总框架图
各子系统需要进一步细化。以订单信息管理系统为例进一步细化,如图2.2所示。
图 2.2订单信息管理系统细化
以其中的旅客信息管理系统为例进一步细化,如图2.3所示
图2.3旅客信息管理系统细化
图2.4航班信息管理系统细化
图2.5机票信息管理系统细化
图2.5退票信息管理系统细化
将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:订单表,旅客信息表,航班信息表,机票表,退票信息表。
2.3.2 数据字典
名字:订单信息
描述:定义了旅客的的订单信息
定义:订票信息=订单号+航班号+座位号+起飞地+目的地+起飞时间+旅客姓名+性别+工作单位+身份证号码+电话号码+订票时间+订票数量
名字:旅客信息
描述:旅客的个人信息,用于对旅客的确认
定义:旅客信息=姓名+性别+工作单位+身份证号码+电话号码
名字:航班信息
描述:定义了航班的有关信息
定义:航班信息=航班号+起飞地+目的地+起飞时间
名字:机票信息
描述:定义了机票的有关信息
定义:机票信息=航班号+座位号+座位信息+机票类型
名字:退票信息
描述:退票旅客的有关信息
定义:退票信息=旅客姓名+身份证号+电话号码+订单号
2.4概念结构设计的方法与步骤
1.概念结构设计的方法
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
2.管理系统的概要设计:
(1)订单信息管理:管理员可以通过输入订单号进行查询、修改、删除、添加航班号、起飞地、目的地、起飞时间、姓名、性别、工作单位、身份证号码、电话号码、订票时间、订票数量。所有数据修改都应在数据文件中完成,在界面上显示出来
(2)旅客信息管理:管理员可以通过旅客的身份证号进行查询、修改、删除、添加旅客一些基本信息,如旅客姓名、身份证号、性别、电话号码、工作单位。
(3)航班信息管理:管理员可以通过输入航班号进行查询、修改、删除、添加航班号、起飞地、目的地、起飞时间。所有数据修改都应在数据文件中完成,在界面上显示出来。
(4)机票信息管理:管理员可以通过输入航班号和座位号进行添加、修改、删除和查询航班号、座位号、起飞地、目的地、起飞时间。所有数据修改都应在数据文件中完成,在界面上显示出来。
(5)退票信息管理:管理员可以通过订单号查询旅客姓名、订单号、电话号码、身份证号。所有数据修改都应在数据文件中完成,在界面上显示出来。
3.概念结构设计的步骤
第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们先逐一的设计分E-R图。
第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图。
3.2 数据抽象与局部视图设计
按照图2.1机票预定管理系统总框架图,设计实体属性图以及局部E-R图
图3.1 订单实体属性图
图3.2 旅客实体属性图
图3.3航班信息实体属性图
图3.4退票信息实体属性图
图3.5机票信息实体属性图
图3.6 旅客订票局部E-R图
图3.7机票信息实体属性图
图3.6旅客订票局部E-R图
视图的集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.7总体概念结构E-R图。
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.7总
图3.7 系统总体结构E-R
图3.7 系统总体结构E-R
4.1 E-R图向关系模型的转换
将图3.7总体概念结构E-R图转化成关系模型。
订单信息(订单号,航班号,座位号,身份证号,起飞地,目的地,起飞时间,姓名,性别,工作单位,电话号码,订票时间,订票数量)
旅客信息(身份证号,旅客姓名,电话号,性别,工作单位)
航班信息(航班号,起飞地,目的地,起飞时间)
机票信息(航班号,座位号,机票类型,座位信息)
退票信息(订单号,身份证号,旅客姓名,电话号,)
4.2关系模式优化
转化的关系模式进行优化,最终达到第三范式
1、确定数据依赖
订单信息(订单号,航班号,座位号,身份证号,起飞地,目的地,起飞时间,旅客姓名,性别,工作单位,电话号码,订票时间,订票数量,取票时间)根据这个关系写出数据依赖
订单号→航班号,订单号→座位号,订单号→身份证号,订单号→起飞地,订单号→目的地,订单号→起飞时间,订单号→旅客姓名,订单号→性别,订单号→工作单位,订单号→电话号码,订单号→订票时间,订单号→订票数量,订单号→取票时间
旅客信息(身份证号,旅客姓名,电话号,性别,工作单位)
身份证号→旅客姓名,身份证号→电话号,身份证号→性别,身份证号→工作单位
航班信息(航班号,起飞地,目的地,起飞时间)
航班号→起飞地,航班号→目的地,航班号→起飞时间
机票信息(航班号,座位号,机票类型,座位信息)
(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型
退票信息(订单号,身份证号,旅客姓名,电话号,)订单号→旅客姓名,订单号→电话号码,订单号→身份证号
2、对各关系模式间数据依赖进行极小化处理,消除冗余
订单号→旅客姓名,订单号→电话号码,身份证号→性别
身份证号→工作单位,身份证号→取票时间,身份证号→订票时间,身份证号→航班号身份证号→座位号,身份证号→机票类型,航班号→起飞地,航班号→目的地,航班号→起飞时间,(座位号,航班号)→座位信息
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解
最终分解成第三范式:
(订单号,电话号码,身份证号)
(订单号,旅客姓名)
(身份证号,取票时间,性别,工作单位,机票类型,订票时间)
(身份证号,航班号)
(身份证号,座位号)
(身份证号,起飞地)
(航班号,座位号,机票类型)
3.3数据库表的建立
根据数据库的基本表结构分别建立六个基本表,这里给出具体的SQL语句如下。
(1)创建旅客信息表passager
create table passager
( passager name varchar(50) primary key,
id decimal not null,
telephone number decimal not null,
sex varchar(50) not null
);
(2)创建退票信息表cancellations_message
create table cancellations_message
( order form decimal primary key,
passager name varchar(50) not null,
telephone number decimal not null,
id varchar(50) not null
);
(3)创建航班信息表flight_message
create table flight_message
( flight number decimal primary key,
take off place varchar(50) not null,
destination varchar(50) not null,
flight time time not null,
flight type decimal not null,
price int not null
);
(4)创建取票通知表ticket_message
create table get ticket_message
( passager name varchar(50) primary key,
get ticket time time not null,
flight number decimal not null,
seat number decimal not null,,
flight ticket type varchar(50) not null
);
(5)创建座位信息表flight_seat_message
create table flight_seat_message
( seat number decimal primary key,
flight number decimal not null,
seat message varchar(50) not null,
flight ticket type varchar(50) not null
);
程序设计