机票管理数据结构课程设计==

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北工业大学

计算机科学与软件学院

《数据库原理》课程实验报告

题目:机票管理数据结构课程设计

年月日

机票预订系统

1 需求分析

为方便旅客,某航空公司拟开发一个机票预定系统。旅客可通过旅行社或机场前台向该系统查询航班情况(按目的地、起飞时间、航班班次等)。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,打印取票通知和账单,旅客在收到取票通知和账单后可交费并于飞机起飞前24小时凭取票通知和账单到机场前台取票,经系统校对信息无误后打印机票给旅客,旅客也可以直接到机场前台购票。旅客也可向系统提出退票要求,系统针对具体情况计算手续费后进行相应退票处理。

1.1系统功能分析

本系统设有三部分,分为旅行社登录部分、机场前台登录部分和管理员登陆部分。不同部分通过不同的用户名进入机票预订系统的不同界面进行操作。

1)旅行社界面

查询:可对航班信息进行查询操作;

预订:可对旅客选定的航班进行预定操作并记录旅客预定信息;

帮助:提供系统使用帮助文档;

退出:关闭当前页面。

2)机场前台界面

查询:可对航班信息进行查询操作;

售票:可对旅客选定的航班进行操作记录旅客信息并打印机票;

取票:根据旅客提供的订单号核实旅客预定信息,打印机票;

退票:根据旅客提供的订单号核实旅客预定信息,为旅客提供退票服

务;

帮助:提供帮助文档,方便旅客使用该系统;

退出:关闭当前页面。

3)系统管理员界面

查询机票信息:可对航班信息进行查询操作;

录入/修改机票信息:可对旅客信息进行添加、修改、浏览操作;

删除机票信息:可对旅客订票信息进行删除操作;

帮助:提供系统使用帮助文档;

退出:关闭当前页面。

机票预订系统主功能图:

机票预订系统数据流图:

3.机票预订系统数据字典

在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面举例说明数据字典的定义。

数据项以“订单号”为例。描述如下:

数据项名:订单号

别名:订单号

含义:唯一标识旅客预订的机票信息

类型:数字型

取值范围:0000000000至999999999

取值含义:标示订单

数据结构以“fly表”为例,描述如下:

数据结构名:fly表

含义说明:定义了一个航班的有关信息

组成:航班号,日期,起飞时间,到达时间,出发地点、到达地点,票价,票余量

数据存储以“预定机票信息表”为例,描述如下:

数据存储名:lvke表

说明:旅客信息表情况

流出数据流:查询旅客信息

流入数据流:填写订票信息

数据描述:身份证号,姓名,性别,联系电话,订单号,日期,目的地,座位号二.机票预订系统概念结构设计

根据需求分析,我们知道机票预订系统的实体有:航班和旅客。

航班实体的属性有:航班号,日期,航班起飞时间,航班到达时间,目的地,票价,票余量

旅客实体的属性有:身份证号,姓名,联系电话,航班号,日期,目的地,座位号

他们之间有M:N的订购关系,即一旅客可以定多个航班,一个航班也可以被多个旅客订购。

按照以上机票预定系统总框架图,设计实体属性图以及局部E-R图

系统总结构设计视图E-R图

三.机票预订系统逻辑结构设计

1.E-R图向关系模型的转换

将图3.4总体概念结构E-R图转化成关系模型。

旅行社(账号,密码)

订单信息(订单号,航班号,过期时间,票价)

旅客信息(旅客姓名,性别,身份证号,联系方式,订单号,航班号)

此关系模型包含关系“包含”所对应的关系模型

机场前台(账号,密码)

系统管理员(账号,密码)

机票信息(航班号,起飞日期,起飞地点,到达地点,起飞时间,到达时间,座位类型,机票价格,系统管理员账号)

此模型包含关系“管理”所对应的关系模型

预定(旅行社账号,订单号,航班号,过期时间,票价)

查询(旅行社账号,航班号)

售票(机场前台账号,订单号,航班号)

2.数据模型的优化

1、确定数据依赖

退票信息(订单号,旅客姓名,电话号,身份证号)根据这个关系写出数据依赖

订单号→旅客姓名,订单号→电话号,订单号→身份证号

旅客(旅客姓名,身份证号,电话号,性别,工作单位)

旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别,旅客姓名→工作单位

航班信息表(航班号,起飞地,目的地,起飞时间)

航班号→起飞地,航班号→目的地,航班号→起飞时间

取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)

旅客姓名→取票时间,旅客姓名→航班号,旅客姓名→座位号,

旅客姓名→机票类型

航班座位信息表(座位号,航班号,座位信息,机票类型)

(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型

2、对各关系模式间数据依赖进行极小化处理,消除冗余

订单号→旅客姓名,订单号→电话号,订单号→身份证号,旅客姓名→性别旅客姓名→工作单位,旅客姓名→取票时间,旅客姓名→航班号

旅客姓名→座位号,旅客姓名→机票类型,航班号→起飞地,航班号→目的地

航班号→起飞时间,(座位号,航班号)→座位信息

3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解

最终分解成第三范式:

(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)

四.机票预订系统物理结构设计

机票预订系统数据库(access)各个表设计如下:

相关文档
最新文档