机票查询系统

更新时间:2025-09-23 02:42:15 阅读: 评论:0

-

机票查询系统
2023年3月6日发(作者:财富中心店)

《数据库原理》课程设计报告

设计题目:机票预订系统

计算机与数据科学学院

2018年12月30日

目录

第1章概述.................................................错误!未定义书签。

选题的背景与意义..........................................错误!未定义书签。

相关技术分析..............................................错误!未定义书签。

第2章系统功能设计.........................................错误!未定义书签。

系统总体结构设计图........................................错误!未定义书签。

系统功能模块..............................................错误!未定义书签。

航班管理模块...........................................错误!未定义书签。

订单管理模块...........................................错误!未定义书签。

乘客管理模块...........................................错误!未定义书签。

机票管理模块...........................................错误!未定义书签。

退票管理模块...........................................错误!未定义书签。

第3章数据库设计...........................................错误!未定义书签。

需求分析...............................................错误!未定义书签。

系统功能分析...........................................错误!未定义书签。

处理对象...............................................错误!未定义书签。

数据流图...............................................错误!未定义书签。

数据字典...............................................错误!未定义书签。

概念结构设计..............................................错误!未定义书签。

实体属性图.............................................错误!未定义书签。

局部E-R图.............................................错误!未定义书签。

全局E-R图.............................................错误!未定义书签。

合并原则及过程.........................................错误!未定义书签。

逻辑结构设计..............................................错误!未定义书签。

E-R图向关系模式转化....................................错误!未定义书签。

范式的判定..........................................错误!未定义书签。

物理结构设计..............................................错误!未定义书签。

存储结构与存取方法.....................................错误!未定义书签。

数据易变与稳定部分.................................错误!未定义书签。

索引建立...............................................错误!未定义书签。

数据库实施................................................错误!未定义书签。

数据库运行与维护..........................................错误!未定义书签。

第4章结束语...............................................错误!未定义书签。

参考文献....................................................错误!未定义书签。

第1章概述

选题的背景与意义

伴随着社会发展的不断进步,人们消费水平的提高,日常的旅游逐渐成为普

通老百姓的生活组成部分,导致于乘坐航班的次数也越来越多。因此,飞机订票

的需求不断壮大,飞机票预订查询系统在各机票预订网点中的作用也越来越重要。

面对飞机网上订票需求越来越大,原有的系统渐渐地不能够满足乘客信息的迅速

增长,为了更好地管理乘客信息,提高飞机票预订的效率,以及在安全性等方面

的提升,因此一套好的飞机预订管理系统的指定刻不容缓。

在本系统中,与以往的订票系统有着更好的完善,一套完整的存储、查询、

核对乘客机票的功能,从而提高订票的效率,通过计算机系统的查询,系统为旅

客安排航班,更快捷的满足人们的生活所需。

相关技术分析

SQL语言是结构化查询语言,是一种数据库查询和程序设计语言,用于存取

数据以及查询、更新和管理关系数据库系统;SQL语句用于取回和更新数据库中

的数据;除此之外,SQL还可与数据库程序协同工作。本系统中主要运用以下技

术:

(1)运用SQLserver2012软件编程设计数据库;

(2)运用数据库设计知识进行分析设计数据库;

(3)运用数据库安全保护知识对数据库进行安全维护。

第2章系统功能设计

系统总体结构设计图

图系统总体结构设计图

系统功能模块

本数据库管理系统将飞机预订系统分为5个模块,主要涉及模块:航班管理

模块、订单管理模块、乘客管理模块、机票管理模块、退票管理模块。

航班管理模块

对航班基本信息进行登记,确保航班增加数量、取消航班班次等信息无误。

图航班信息模块图

订单管理模块

建立乘客订单,订单记录航班号,机舱类型,座位号,乘坐者姓名和身份证

号,订票日,且将订单按订单号保管;

图订单信息模块图

乘客管理模块

建立乘客信息表;对新添加的乘客,将其信息加入乘客信息表中。

图乘客信息模块图

机票管理模块

对机票的一些基本信息,如航班号、座位信息、机票类型的添加、修改、删

除和查询。

图机票信息模块图

退票管理模块

核对乘客信息,对满足规定要求的乘客进行退票服务,不满足规定的不予以

退票。

图退票信息模块图

第3章数据库设计

3.1需求分析

系统功能分析

(1)能够实现对乘客信息的输入、存储、查询、增加、修改等;

(2)能够实现对航班信息的输入、存储、查询、增加、修改等;

(3)能够实现对机票信息的输入、存储、查询、增加、修改等;

(4)能够实现对订单信息的输入、存储、查询、增加、修改等;

(5)旅客能够退订机票。

处理对象

1、航班信息:航班号、起飞地、目的地、起飞时间

2、机票信息:航班号、机票编号、座位号、机舱类型

3、票价乘客信息:姓名、性别、出生日期、联系方式、证件号码

4、订单信息:订单号、航班号、座位号、姓名、证件号码、机票编号、取

票时间

5、退票信息:订单号、姓名、证件号、联系方式

数据流图

图乘客订票信息流程图

图整体数据流图

数据字典

1、数据项

本系统一共涉及的数据项有15项,列表如下:

数据项列表

数据项编号数据项名数据项含义取值范围存储结构

1证件号码身份证号Char(20)

2姓名乘客姓名Char(10)

3性别乘客性别男or女Char(2)

4出生日期乘客出生日

Datetime

5联系方式乘客的手机

char(15)

6机票编号机票的编号char(10)

7航班号航班的编号varchar(5)

8机舱类型机舱的类型varchar(10)

9座位号座位的编号Int

10票价机票的价格money

11订单号机票订单的

编号

char(5)

12取票时间取机票的时

Datetime

13起飞地航班的始发

char(10)

14目的地航班的目的

char(10)

15起飞时间航班的始发

时间

Datetime

2、数据结构

表数据结构列表

数据结构编号数据结构名数据结构含义组成

1)

乘客乘客的信息

姓名、联系方式、性别、

出生日期、证件号码

2)机票机票的信息

机票编号、航班号、机

舱类型、座位号、票价

3)订单订单的信息

订单号、航班号、机票

编号、座位号、姓名、证件

号码、取票时间

4)航班航班的信息

航班号、起飞地、目的

地、起飞时间

3、数据流

数据流名:订单信息

说明:乘客预订机票的最终结果

数据流来源:乘客信息,航班信息,订单信息

数据流去向:订票处理,退票处理

组成:订单号,姓名,证件号码,机票编号,价格,座位号

4、数据存储

表数据存储列表

数据存储编号数据存储名称输入输出说明

D1航班信息,

D2用户信息,

D3订单信息,对订单信息进

行维护

D4机票信息D3对机票信息进

行维护

D5退票信息对退票信息进

行维护

5、处理过程

表处理过程列表

处理过程编号处理过程名称输入输出说明

航班管理航班信息D1对航班统一编

号,存储航班记

录表中

用户管理用户信息D2对用户统一编

号,存储用户记

录表中

查看航班航班信息查看航班信息,

根据自己的需求

订票用户

订票处理D1,D2D3航班信息,根据

自己的需求订票

退票处理D5P5用户退票根据退

票信息进行退票

概念结构设计

采用自顶向下概念结构设计方法

实体属性图

图乘客实体属性图

图机票实体属性图

图航班实体属性图

图退票实体属性图

图订单实体属性图

局部E-R图

图局部E-R图

全局E-R图

图全局E-R图

合并原则及过程

原则:无属性冲突、无命名冲突、无结构冲突、过程:

将退票实体、订单实体中与乘客实体属性相同的命名冲突去除;

将订单实体与机票实体中的属性相同的命名冲突去除。

逻辑结构设计

E-R图向关系模式转化

航班:(航班号、起飞地、目的地、起飞时间)

(注:标有直线下划线的为主属性)

机票:(机票编号、航班号、座位号、机舱类型、票价)

乘客:(证件号码、姓名、性别、出生日期、联系方式)

订单:(订单号、姓名、证件号码、航班号、座位号、机票编号、取票时间)

退票:(订单号、姓名、证件号、联系方式)

3.3.2范式的判定

1、退票:(订单号、姓名、证件号、联系方式)根据这个关系写出数据依赖:

订单号→姓名,订单号→联系方式,订单号→证件号;

每个属性不可再分,属于第一范式;单属性为完全函数依赖,所以为第二范

式;主码可以决定其他任一项候选码,为BC范式,也是第三范式。

2、乘客:(证件号码、姓名、性别、出生日期、联系方式):

证件号码→姓名,证件号码→联系方式,证件号码→性别,证件号码→出生

日期;

每个属性不可再分,属于第一范式;单属性为完全函数依赖,所以为第二范

式;主码可以决定其他任一项候选码,为BC范式,也是第三范式。

3、航班:(航班号、起飞地、目的地、起飞时间)

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

每个属性不可再分,属于第一范式;单属性为完全函数依赖,所以为第二范

式;主码可以决定其他任一项候选码,为BC范式,也是第三范式。

4、订单:(订单号、姓名、证件号码、航班号、座位号、机票编号、取票时

间)订单号→取票时间,订单号→航班号,订单号→座位号,订单号→机票

编号,订单号→姓名,订单号→证件号码;

每个属性不可再分,属于第一范式;单属性为完全函数依赖,所以为第二范

式;主码可以决定其他任一项候选码,为BC范式,也是第三范式。

5、机票:(机票编号、航班号【外键】、座位号、机舱类型、票价)

机票编号→座位号,机票编号→航班号,机票编号→机舱类型,机票编号→

票价;

每个属性不可再分,属于第一范式;单属性为完全函数依赖,所以为第二范

式;主码可以决定其他任一项候选码,为BC范式,也是第三范式。

物理结构设计

存储结构与存取方法

1、存储结构由于本系统建立的数据库较小,所以数据存储采用的是磁盘的一

个分区

2、存储方法索引组织表

3.4.2数据易变与稳定部分

1、易变部分:订单信息、航班信息、机票信息、用户信息。

2、稳定部分:已存储数据

索引建立

(1)CREATEuniqueindex机票编号

on机票信息(航班号,机舱类型,座位号,票价)

(2)CREATEuniqueindex航班号

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

(3)CREATEuniqueindex证件号

on用户信息(姓名,性别,出生日期,联系方式)

(4)CREATEuniqueindex证件号码

on订单信息(订单号,航班号,座位号,姓名,证件号码,取票时间,机票编

号)

数据库实施

1、建立数据库

2、建立数据表

航班信息

createtable航班信息

(航班号varchar(5)primarykey,

起飞地char(10)notnull,

目的地char(10)notnull,

起飞时间datetimenotnull)

机票信息

createtable机票信息

(机票编号char(10)primarykey,

航班号varchar(5)notnull,

机舱类型varchar(10)notnull,

座位号intnotnull,

票价moneynotnull)

乘客信息

createtable用户信息

(证件号码char(20)primarykey,

姓名char(10)notnull,

性别nchar(1)default‘男’,

出生日期datetimenotnull,

联系方式char(15)notnull)

订单信息

createtable订单信息

(订单号char(5)primarykey,

航班号varchar(5)notnull,

座位号intnotnull,

姓名char(10)notnull,

机票编号char(10)notnull,

证件号码char(20)notnull,

取票时间datetimenotnull)

3、创建视图

createview查票视图1(航班号,起飞地,目的地,起飞时间,机舱类型,

票余量)

as

select航班信息.航班号,起飞地,目的地,起飞时间,机舱类型,

count(机票信息.座位号)

as票余量

from航班信息,机票信息

groupby航班信息.航班号,起飞地,目的地,起飞时间,机舱类型

4、存储过程

查询用户信息

createprocedure用户

as

begin

select*from用户信息

end

查询航班信息

createprocedure航班

as

begin

select*from航班信息

end

查询机票信息

createprocedure机票

as

begin

select*from机票信息

end

查询订单信息

createprocedure航班

as

begin

select*from航班信息

end

5、触发器

插入机票信息时,保证在航班信息中有此航班

createtigger[dbo].[添加机票]on[dbo].[机票信息]

afterinsert

as

if

exists(select*frominsertedwhere航班号in(select航班号from

航班信息))

print‘添加成功!’

else

begin

print‘航班信息表中无此航班,拒绝插入!’

rollbacktransation

end

go

数据库运行与维护

正确及时的进行数据库的备份能减少数据丢失后恢复数据库的大量工作,所

以为了避免数据在灾难后无法恢复,必须对数据库进行备份。在飞机预订系统的

数据库中,可以对建立好的数据库选择对其备份,以免数据库遭到灾难导致数据

丢失或损坏,找不到原始数据。对数据库进行备份后,选择数据库中的“任务—〉

还原—〉数据库”菜单项,就可以还原原始数据。

第4章结束语

通过这次实验,我觉得收获很多。不仅加深了我对教学系统的了解与深化以

及数据库原理的了解,熟悉了数据库设计的流程,同时为我以后进入社会打下了

基础。本次设计与制作,我的实际动手能力和处理问题的能力有了明显提高,但

同时也存在一些问题。由于前面需求分析不够准确,导致在进行编码后还在不断

地修改需求,所以进行了不少的重复工作,延误了进度。这个航空订票系统所需

的数据比较繁琐,所以在进行数据和界面的结合需要相当大的功夫,处理更多的

异常。

参考文献

【1】陈志泊主编,数据库原理及应用教程第四版人民邮电出版社

本文发布于:2023-03-06 06:58:11,感谢您对本站的认可!

本文链接:http://www.yoguilin.com/write/1678057091101311.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:新郑机场
下一篇:ca1367
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 数学伊甸园369文学xp系统