机票预订系统——数据库课程设计——设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机票预订系统
一.需求分析
调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和飞机预定流程。通过网络实际查询,理解机票预订系统的基本构造,包含的基本内容。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、身份证号码、旅行时间、旅行目的地等,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在一定时间内凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。并设有系统帮助文档帮助旅客熟悉该订票系统。
本系统设有两部分,分为用户登录部分和管理员登陆部分,用户通过注册用户名进入系统对航班和订购信息进行查询,并通过查询航班预定自己合适的航行航班及合适的时间;管理员可以注册内部管理员,通过输入正确密码进入系统。
1.系统功能分析
①管理员登陆界面
●管理员登录:注册管理员,密码输入进入系统;
●航班管理:可对航班信息进行添加、修改、删除、查询操作;
●旅客管理:可对旅客信息进行添加、修改、删除、查询操作;
●订票管理:可对旅客订票信息进行添加、修改、删除,查询操作;
●系统帮助:提供系统使用帮助文档,有效地帮助用户熟悉该软件;
●退出:包含返回登录主界面和退出系统两部分。
②旅客登陆界面
●航班信息查询:为旅客提供近期航班的信息,方便旅客进行订票;
●订票信息:提供旅客订票和订票查询功能;
●帮助文档:提供帮助文档,方便旅客使用该系统;
3.机票预订系统数据字典
在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面举例说明数据字典的定义。
数据项以“航班号”为例。描述如下:
数据项名:航班号
别名:航班号
含义:唯一标识航班的信息
类型:字符型
取值范围:00000000000000至9999999999999
取值含义:标示航班
数据结构以“航班表”为例,描述如下:
数据结构名:航班表
含义说明:定义了一个航班的有关信息
组成:航班号,日期,航班起飞时间,航班到达时间,目的地,票价,票余量
数据存储以“旅客信息表”为例,描述如下:
数据存储名:旅客信息表
说明:旅客信息表情况
流出数据流:旅客信息查询表
流入数据流:管理员管理表
数据描述:身份证号,姓名,联系电话,航班号,日期,目的地,座位号
“旅客订票”过程描述如下:
旅客通过注册用户进入系统,查询近期航班,可根据自己的行程选择
合适的航班进行订购机票;旅客需填写身份证号、姓名、联系方式、工作单位
等完成订票,并在一定时间内到指定地点凭票据领取机票。
二.机票预订系统概念结构设计
根据需求分析,我们知道机票预订系统的实体有:航班和旅客。
航班实体的属性有:航班号,日期,航班起飞时间,航班到达时间,目的地,票价,票余量
旅客实体的属性有:身份证号,姓名,联系电话,航班号,日期,目的地,座位号
他们之间有M:N的订购关系,即一旅客可以定多个航班,一个航班也可以被多个旅客订购。
按照以上机票预定系统总框架图,设计实体属性图以及局部E-R图。
系统总结构设计视图E-R图
旅客实体属性设计图:
三.机票预订系统逻辑结构设计
1.E-R图向关系模型的转换
将图3.4总体概念结构E-R图转化成关系模型。
退票信息(订单号,旅客姓名,电话号,身份证号)
旅客(旅客姓名,身份证号,电话号,性别,工作单位)
航班信息表(航班号,起飞地,目的地,起飞时间)
取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)
航班座位信息表(座位号,航班号,座位信息,机票类型)
2.数据模型的优化
1、确定数据依赖
退票信息(订单号,旅客姓名,电话号,身份证号)根据这个关系写出数据依赖
订单号→旅客姓名,订单号→电话号,订单号→身份证号
旅客(旅客姓名,身份证号,电话号,性别,工作单位)
旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别,旅客姓名→工作单位航班信息表(航班号,起飞地,目的地,起飞时间)
航班号→起飞地,航班号→目的地,航班号→起飞时间
取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)
旅客姓名→取票时间,旅客姓名→航班号,旅客姓名→座位号,
旅客姓名→机票类型
航班座位信息表(座位号,航班号,座位信息,机票类型)
(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型
2、对各关系模式间数据依赖进行极小化处理,消除冗余
订单号→旅客姓名,订单号→电话号,订单号→身份证号,旅客姓名→性别
旅客姓名→工作单位,旅客姓名→取票时间,旅客姓名→航班号
旅客姓名→座位号,旅客姓名→机票类型,航班号→起飞地,航班号→目的地
航班号→起飞时间,(座位号,航班号)→座位信息
3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解
最终分解成第三范式:
(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)
四.机票预订系统物理结构设计
机票预订系统数据库(access)各个表设计如下: