航空订票管理系统 数据库课程设计讲解.docx
《航空订票管理系统 数据库课程设计讲解.docx》由会员分享,可在线阅读,更多相关《航空订票管理系统 数据库课程设计讲解.docx(23页珍藏版)》请在冰豆网上搜索。
航空订票管理系统数据库课程设计讲解
《数据库原理及应用》
课程设计报告
基于SQLServer2008设计与应用
姓名:
班级:
学号:
指导老师:
1需求分析
为了实现航空公司以及旅游行业的现代化管理,进一步提高工作效率,方便旅客,需要开发一个机票预订系统。
本系统主要针对旅客订票业务需求的管理,因此“航空订票管理系统”的目标包括系统管理员以及需要订票的旅客。
主要涉及航班、飞机、机场信息,查票、订票信息,系统管理员信息,客户信息等多种数据信息。
这个系统要求能够实现实时,高效,便捷等特点。
1.1系统功能
系统需要实现的具体功能如下:
机票信息管理——主要实现机票基本信息的显示和查询,在该功能模块中,点击预定可以显示航空公司,飞机型号,起飞机场,降落机场,机舱类型,单程票价,往返票价以及起飞时间,降落时间等基本信息的显示功能,在订单中,实现了客户姓名、联系方式、证件号码等基本信息填写的功能;
建议和投诉信息管理——主要实现客户对机票价格以及业务服务的建议和评价;
系统管理员管理——主要实现接收系统功能区的相应信息后,启动相应的功能模块,对系统进行登录管理,数据管理,订单管理等。
1.2功能模块
根据“航空订票管理系统”功能的需求以及其特点,经过模块化的分析,得到如图1-1所示的系统功能模块结构图。
图1-1系统功能模块图
1.3数据字典
1)数据项
表1-1客户信息表
列名
数据类型
可否为空
说明
客户编号
int
不允许为空
主键
客户住址
nvarchar(MAX)
允许为空
身份证号
nvarchar(50)
允许为空
客户姓名
nvarchar(50)
允许为空
电子邮件
nvarchar(50)
允许为空
联系电话
nchar(20)
允许为空
处理状态
nvarchar(50)
允许为空
表1-2客户建议和投诉信息表
列名
数据类型
可否为空
说明
客机编号
int
不允许为空
主键
客机姓名
nvarchar(50)
允许为空
建议和意见
varchar(MAX)
允许为空
电子邮件
nvarchar(50)
允许为空
联系电话
varchar(50)
允许为空
表1-3航线信息表
列名
数据类型
可否为空
说明
航线编号
int(10)
notnull
主键
起飞地
char(10)
null
目的地
char(10)
null
起飞时间
time
notnull
到达时间
time
notnull
经济舱价格
int
null
头等舱价格
int
null
备注信息
char(50)
null
表1-4订单信息表
列名
数据类型
可否为空
说明
订单编号
int
不允许为空
主键
航空公司
varchar(50)
允许为空
飞机类型
varchar(50)
允许为空
出发城市
varchar(50)
允许为空
到达城市
varchar(50)
允许为空
起飞机场
varchar(50)
允许为空
降落机场
varchar(50)
允许为空
单程票价
money
允许为空
打折
money
允许为空
起飞时间
varchar(50)
允许为空
到达时间
varchar(50)
允许为空
机舱类型
varchar(50)
允许为空
表1-5系统管理信息表:
列名
数据类型
可否为空
说明
业务员编号
int
不允许为空
主键
业务员姓名
nvarchar(50)
允许为空
密码
nvarchar(50)
允许为空
2)数据结构
表1-6数据结构表
数据结构名
含义说明
组成
客户信息表
描述了客户的基本信息
客户编号,姓名,身份证号,联系电话等
客户建议和投诉信息表
描述了客户对机票价格以及业务服务的建议和评价
客户编号,姓名,建议,电子邮件,联系电话等
航线信息表
描述了航班的有关信息
航班编号,起飞地,目的地,起飞时间,到达时间等
订单信息表
描述了客户所预定的机票的基本信息
订单编号,航空公司,出发城市,到达城市,出发时间,到达时间,单程票价,机舱类型等
系统管理信息表
描述了业务员登录后对系统功能管理的有关信息
业务员编号,姓名,密码等
3)数据流
通过对用户的需求分析,以及数据项和数据流的设计,得出的相应数据流如下图所示:
图1-2数据流图
4)数据存储
经过数据项,数据结构和数据流的设计,本系统共选用了三个数据存储,即机票相关信息,客户相关信息和航班相关信息,由于数据量比较大,所以采取批处理,顺序检索等存取方式。
2概念结构设计
2.1系统E-R图
(1)客机E-R图,如图2-1所示。
图2-1客机E-R图
(2)客户E-R图,如图2-2所示。
图2-2客户E-R图
(3)航班E-R图,如图2-3所示。
图2-3航班E-R图
(4)机票E-R图,如图2-4所示。
图2-4机票E-R图
根据分E-R图和需求分析,可得到本系统总E-R图,如图6-7所示。
图2-5系统E-R图
3.2概念模型
系统概念模型如下图所示:
图2-6航空机票预订系统概念模型图
3逻辑结构设计
3.1关系模型
将总体概念结构E-R图转化成关系模型,如下所示:
客机(客机编号,客机名,座位数)
旅客(旅客编号,姓名,身份证号,联系电话)
航班(航班编号,起飞地,目的地,起飞时间,到达时间)
机票(旅客姓名,航班号,座位号,票价,机票类型,当前预售状态)
3.2物理模型
将生成的概念模型通过PowerDesigner工具栏中的GeneratePhysicalDataModel命令来转换成物理模型,生成结果如下图所示:
图3-1航空机票预订系统物理模型图
4物理结构设计
4.1确定数据库的存储结构
由于本系统建立的数据库不是很大,所以数据存储采用的是磁盘的一个分区。
4.2存取方法和优化方法
将转换的关系模式进行优化,最后达到第三范式,确定数据依赖,进行极小化处理,消除冗余。
将转换的关系模式进行优化,最后达到第三范式,确定数据依赖,进行极小化处理,消除冗余。
为表添加聚集索引。
(1)客户信息表(旅客编号,姓名,身份证号,地址,联系电话)旅客编号为主键
旅客编号->身份证号->姓名旅客编号->地址旅客编号->联系电话
(2)客户建议和投诉信息表(旅客编号,姓名,建议,电子邮件,联系电话)旅客编号为主键
旅客编号->姓名旅客编号->建议旅客编号->电子邮件旅客编号->联系电话
(3)航线信息表(航班编号,出发城市,到达城市,起飞时间,到达时间,机舱类型)航班编号为主键
航班编号->起飞城市航班编号->到达城市航班编号->起飞时间航班编号->到达时间
航班编号->机舱类型
(4)订单信息表(订单编号,出发城市,到达城市,起飞时间,到达时间,单程票价,机舱类型)订单编号为主键
订单编号->出发城市订单编号->到达城市订单编号->起飞时间订单编号->到达时间订单编号->单程票价订单编号->机舱类型
(5)系统管理信息表(业务员编号,业务员姓名,密码)业务员编号为主键
业务员编号->业务员姓名业务员编号->密码
5数据库的实施和维护
在数据库的物理结构设计完成后,利用数据定义语言和其他实用程序将数据库的逻辑设计和物理设计结果进行描述,然后进行调试。
5.1数据库的实施
在逻辑结构和物理结构的设计基础上,在计算机系统上建立实际的数据库结构,导入相关数据并进行程序的调试。
(1)客户信息表主要描述客户编号,姓名,身份证号,联系电话等基本信息,如图所示:
图5-1客户信息表结构图
(2)客户建议和投诉信息表主要描述客户姓名,建议,联系电话等基本信息,如下图所示:
图5-2客户建议和投诉信息表结构图
(3)航线信息表主要描述旅客乘坐航班的一些基本信息,如下图所示:
图5-3航线信息表结构图
(4)订单信息表主要描述客户所预定的机票的基本信息,如下图所示:
图5-4机票基本信息表结构图
(4)系统管理信息表主要描述系统管理员登录系统后,进行系统信息以及投诉建议的操作,如下图所示:
图5-5系统管理信息表结构图
5.2数据的载入
(1)客户基本信息如下图所示:
图5-6客户基本信息表结构图
(2)客户建议和投诉信息如下图所示:
图5-7客户建议和投诉信息数据图
(3)部分航班信息如图所示:
图5-8航班信息数据图
(4)客户已经预定的订单部分信息如图所示:
图5-9订单信息数据图
(5)系统管理员信息如图所示:
图5-10系统管理员数据通
5.3数据库的试运行
当一小部分数据输入数据库后,就可以开始对数据库进行联合调试。
这一阶段要实际运行数据库应用程序,执行对数据库的各种操作。
可以先通过SQl语句进行简单测试。
(1)查询客户的基本信息
输入SQL语句:
SELECTTOP1000[id]
[address]
[code]
[relationer]
[email]
[mobile_phone]
[telephone]
[personal_id]
[try]
FROM[TicketSaler].[dbo].[ConsumerOrder]
执行结果如图所示:
图5-11查询客户基本信息结果图
(2)删除客户建议投诉信息
输入SQL语句:
deletefromConsumerSuggestion
whereconcumer_name=’王五’
执行结果如图所示:
图5-12删除客户建议投诉信息结果图
(3)更新航班的基本信息
输入SQL语句:
UPDATEFlightInformation
Setnum=10
Whereid=’38’;
执行结果如图所示:
图5-13查询航班的基本信息结果图
(4)查询订单的基本信息
输入SQL语句:
SELECT*
FROM[TicketSaler].[dbo].[ManageFlightInfor]
执行结果如图所示:
图5-14订单的基本信息结果图
(5)插入系统管理员
输入SQL语句:
insertintoSystemUser(user_name,pass_word)
Values(’lvchunyao’,’lvchunyao’);
执行结果如图所示:
图5-15插入系统管理员结果图
6系统功能的实现
6.1功能实现
为了使“航空订票管理系统”信息化,用户操作方便且效率高,系统需要完成的功能主要有:
登录功能、机票预订功能、机票查询功能、旅客信息输入功能、航班信息显示功能、机票信息修改、删除功能、客机信息修改、删除功能。
也为了使得“航空订票管理系统”人性化、商业服务化,系统还需要功能有:
建议和投诉功能和查询世界时差功能等。
6.2系统的运行结果
(1)显示全部机票的信息
图6-1显示全部机票信息
(2)显示特指出发地点、达到地点、出发日期的机票信息
图6-2显示特指条件的机票信息
(3)预订所需要的机票
图6-3所定的机票信息
图6-4填写订单信息
(4)建议和投诉功能
图6-5建议和投诉功能
(5)显示世界时差功能
图6-6显示时间时差
(6)点击右上角的后台登陆,登陆系统管理员账户
图6-7管理员登陆
(7)登陆管理中有添加用户功能、修改用户密码功能以及删除用户功能
图6-8添加用户
图6-9修改密码
图6-10删除用户
(8)数据管理中有添加航班信息功能、修改机票信息功能以及查看机票库存票数功能
图6-11添加航班信息
图6-12查看和修改库存机票
(9)客户订单管理功能
图6-13订单查看和管理
图6-14查看订单详情
(10)查看客户意见功能
图6-15查看客户意见
图6-16查看客户意见详情
7小结
经过一个星期的编程工作,本系统的部分重要功能都已实现,对于旅客的功能有订票、投诉和建议、查看世界时间差、查询航班机票的信息等,对于系统管理员的功能有用户管理功能,有查看、增加、修改航班机票以及查看客户的订单和客户的投诉建议。
本系统是使用ASP.NET中的C#来实现的网站。
通过使用SQL2008数据库,初步达到系统管理员和用户之间交互信息的功能,这都是基于数据库的基础之上的!
参考文献
[1]贾铁军著.《数据库技术及应用》.中国铁道部出版社,2009
[2]杨春元著.《ASP.NET网站开发实用教程》.清华大学出版社,2012
[3]王珊,陈红.《数据库系统原理教程》.清华大学出版社,1998