民航订票管理系统设计
https://download.csdn.net/download/weixin_57836618/74003755
介绍
民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理 航班延误管理,已订票客户信息管理,会员信息管理等功能。
软件架构
开发工具:eclipse Intel idea sqlserver java swing jdbc
一、需求分析:
(1)问题描述:设计系统的简单描述
民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理
航班延误管理,已订票客户信息管理,会员信息管理等功能。
- 系统功能描述,对自己所负责的功能模块,可画出所设计模块的操作流程;并分析所需要存储的数据信息。
用户登录
- 航班信息查询功能
该功能模块可以根据出发地和目的地以及拟定的出发时间查询在该出发时间之后的所有相关航班信息。
该功能需要存储一定数量的航班信息,检索到的符合查询要求的航班信息将以表格的形式显示出来。
- 客户定票功能
每一次订票过程首先生成一个订单界面,可以根据客户的要求向订单中增加客户订票信息。
点击添加旅客按钮,生成客户订票管理界面,该界面分为两个选项卡面板(普通客户,经常客户)要求客户完善自己的订票信息。
2.1、普通用户
普通用户即非会员客户订票,普通用户可以注册成为会员。当点击确定按钮时,会触发一个存储过程bookingTickets,该存储过程会先判断客户是否为会员,如果是则给予优惠折扣,即优惠折扣=(飞机票价-VIP等级*0.1-VIP积分*0.05)/飞机票价。如果不是则按照普通客户的标准,不打折。
2.2、经常用户
经常用户即会员用户,可根据会员等级和积分获得一定的机票优惠。当点击确定按钮时,会触发一个存储过程bookingTickets,该存储过程会先判断客户是否为会员,如果是则给予优惠折扣,即优惠折扣=(飞机票价-VIP等级*0.1-VIP积分*0.05)/飞机票价。如果不是则按照普通客户的标准,不打折。
2.3、会员注册
2.4、支付
每添加一条客户订票信息,该系统就会实时计算出该条订单的合计金额,当客户订票完成时,点击支付按钮并支付相应的票价金额,则该订单完成,客户订票信息成功导入数据库表CustomersBTInformation中,并刷新航班信息表FlightInformation中机票库存信息。
- 客户退票功能
根据客户的身份证号查询该客户的所有订票信息,选中需要退票的订票信息,单击退票按钮完成退票,并刷新数据库表CustomersBTInformation中的客户订票信息以及并刷新航班信息表FlightInformation中机票库存信息。
管理员登录
1航班信息管理
(1)、添加
输入航班信息,向数据库表FlightInformation中插入航班信息
(2)、删除
根据航班号删除数据库表FlightInformation中相应航班信息
2、航线管理
(1)、添加航线
输入航线信息,向数据库表Airline中插入航线信息
- 、删除航线
3、航班延误管理
在输入要修改的航班号,航线号,以及修改成的出发时间和到达时间。点击“修改”按钮,实现对该航班的延误修改即修改表FlightInformation并通过一个触发器同时修改表CustomersBTInformation中已订购该航班机票的客户订票信息。
4、已订票客户信息管理
实现对客户信息的增删改查功能
(1)、查询客户信息
(2)、添加客户信息
(3)、删除客户信息
- 安全性与完整性方面要求
- 安全性要求
确保数据库运行安全以及确保数据库中的数据安全。
- 完整性要求
设置合理的约束以防止用户向数据库中添加不合语义的数据,完善主外键的设置。使得数据库运行流畅。
- 存储过程定义
定义一个购票存储过程,实现在客户购票时判断客户是否是会员如果是的话就根据会员等级和会员积分给与客户相应的机票优惠,如果不是则不给予优惠。
定义一个购票存储过程,如果客户购买了一张机票,则减少相应的机票库存并修改该班次的上座率。
定义一个退票存储过程,如果一个客户退票,则修改相应的机票库存,并修改该班次的上座率。
- 定义触发器
定义一个删除航线触发器,实现如果删除一条航线,则将该航线下的所有航班信息删除。
定义一个航班延误触发器,实现如果修改某航班的出发时间和到达时间,同时修改客户订票信息中相应航班的出发和到达时间,实现及时通知客户延误信息。
- 概念结构设计
画出系统整体的 E-R 模型;并对模型中所出现的实体及属性等信息加以说明。
实体及属性说明
订票信息(包含客户信息及航班信息)
客户信息(包含客户姓名,身份证号等基本资料)
航班信息(包含航线信息和航班基本信息)
航线信息(包含航空公司信息和航线基本信息
三、逻辑结构设计
模式设计:按系统整体 E-R 模型,写出关系模式;并利用数据字典加以描述。(如每个关系模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、有何约束条件等信息)
1、模式设计
(1)、关系模式
航空公司(航空公司名称,地址,联系方式,描述)
航线(航线编号,起点,终点,里程,航空公司名称)
航班(航线号,航班号,出发地,目的地,起飞时间,到达时间,机型,余票量,票价,航空公司)
客户信息(姓名,身份证号,性别,年龄,手机,家庭住址,会员等级,会员积分)
订票信息(姓名,身份证号,性别,年龄,手机,家庭住址,会员等级,会员积分,航线号,航班号,出发地,目的地,起飞时间,到达时间,折扣,票价)
- 、数据字典
表名:Users
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
userName |
否 |
varchar |
20 |
否 |
用户名 |
password |
否 |
varchar |
20 |
否 |
密码 |
表名:Administrators
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
userName |
否 |
varchar |
20 |
否 |
用户名 |
password |
否 |
varchar |
20 |
否 |
密码 |
表名:AirCompany
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
name |
是 |
varchar |
30 |
否 |
航空公司名称 |
address |
否 |
varchar |
30 |
否 |
航空公司地址 |
tel |
否 |
varchar |
20 |
否 |
航空公司电话 |
description |
否 |
varchar |
100 |
否 |
航空公司描述 |
表名:Airline
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
airlineNo |
是 |
varchar |
20 |
否 |
航线编号 |
origin |
否 |
varchar |
20 |
否 |
出发地 |
destination |
否 |
varchar |
20 |
否 |
目的地 |
distance |
否 |
float |
否 |
航距 |
|
aircompany |
否 |
varchar |
30 |
否 |
航空公司名称 |
表名:VIPCustomers
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
name |
否 |
varchar |
20 |
否 |
姓名 |
sex |
否 |
varchar |
3 |
否 |
性别 |
age |
否 |
int |
是 |
年龄 |
|
id |
是 |
varchar |
20 |
否 |
身份证号 |
tel |
否 |
varchar |
20 |
否 |
电话 |
address |
否 |
varchar |
50 |
否 |
家庭地址 |
vipgrade |
否 |
int |
是 |
VIP等级 |
|
vipscore |
否 |
int |
是 |
VIP积分 |
表名:BookTicketOrder
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
name |
否 |
varchar |
20 |
否 |
姓名 |
sex |
否 |
varchar |
3 |
否 |
性别 |
age |
否 |
int |
是 |
年龄 |
|
id |
否 |
varchar |
20 |
否 |
身份证号 |
tel |
否 |
varchar |
20 |
否 |
电话 |
address |
否 |
varchar |
30 |
否 |
家庭地址 |
origin |
否 |
varchar |
20 |
否 |
出发地 |
destination |
否 |
varchar |
20 |
否 |
目的地 |
leaveTime |
否 |
DateTime |
否 |
出发时间 |
|
arriveTime |
否 |
DateTime |
否 |
到达时间 |
|
flightNo |
否 |
varchar |
20 |
否 |
航班号 |
airlineNo |
否 |
varchar |
20 |
否 |
航线号 |
seatType |
否 |
varchar |
10 |
否 |
座位类型 |
airCompany |
否 |
varchar |
30 |
否 |
航空公司名称 |
vipgrade |
否 |
int |
是 |
VIP等级 |
|
vipscore |
否 |
int |
是 |
VIP积分 |
|
ticketPrice |
否 |
float |
是 |
票价 |
|
discount |
否 |
float |
是 |
优惠折扣 |
|
actualPrice |
否 |
float |
是 |
实际票价 |
表名:FlightInformation
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
flightNo |
是 |
varchar |
20 |
否 |
航班号 |
airlineNo |
否 |
varchar |
20 |
否 |
航线号 |
origin |
否 |
varchar |
10 |
否 |
出发地 |
destination |
否 |
varchar |
10 |
否 |
目的地 |
leaveTime |
否 |
DateTime |
否 |
出发时间 |
|
arriveTime |
否 |
DateTime |
否 |
到达时间 |
|
totalSeats |
否 |
int |
否 |
总座位 |
|
firstPrice |
否 |
float |
否 |
头等舱票价 |
|
businessPrice |
否 |
float |
否 |
商务舱票价 |
|
economyPrice |
否 |
float |
否 |
经济舱票价 |
|
firstRemain |
否 |
int |
否 |
头等舱剩余 |
|
businessRemain |
否 |
int |
否 |
商务舱剩余 |
|
economyRemain |
否 |
int |
否 |
经济舱剩余 |
|
occupancy |
否 |
float |
否 |
占座率 |
|
planeModel |
否 |
varchar |
10 |
否 |
机型 |
airCompany |
否 |
varchar |
30 |
否 |
航空公司名称 |
表名:CustomersBTInformation
字段名 |
是否主键 |
字段类型 |
字段长度 |
是否允许为空 |
备注 |
flightNo |
是 |
varchar |
20 |
否 |
航班号 |
airlineNo |
否 |
varchar |
20 |
否 |
航线号 |
origin |
否 |
varchar |
10 |
否 |
出发地 |
destination |
否 |
varchar |
10 |
否 |
目的地 |
leaveTime |
否 |
DateTime |
否 |
出发时间 |
|
arriveTime |
否 |
DateTime |
否 |
到达时间 |
|
totalSeats |
否 |
int |
否 |
总座位 |
|
firstPrice |
否 |
float |
否 |
头等舱票价 |
|
businessPrice |
否 |
float |
否 |
商务舱票价 |
|
economyPrice |
否 |
float |
否 |
经济舱票价 |
|
firstRemain |
否 |
int |
否 |
头等舱剩余 |
|
businessRemain |
否 |
int |
否 |
商务舱剩余 |
|
economyRemain |
否 |
int |
否 |
经济舱剩余 |
|
occupancy |
否 |
float |
否 |
占座率 |
|
planeModel |
否 |
varchar |
10 |
否 |
机型 |
airCompany |
否 |
varchar |
30 |
否 |
航空公司名称 |
2、子模式设计
(1)、视图设计
创建一个视图用于存放根据身份证号码查询出来的客户信息。该视图的字段参照表CustomersBTInformation
四、数据库设计实现
(1)、数据库的创建
T-SQL 语句:create database CivilAviationTicketSystem
(2)、数据表的创建
T-SQL语句 :
/*用户信息*/
create table Users(
userName varchar(20) not null,
password varchar(20) not null)
/*管理员信息*/
create table Administrators(
userName varchar(20) not null,
password varchar(20) not null)
/*航空公司信息*/
create table AirCompany(name varchar(30) primary key not null,
address varchar(30) not null,
tel varchar(20) not null,
description varchar(100) not null)
/*航线信息*/
create table Airline(airlineNo varchar(20) primary key not null,
部分展示
完整文档和源代码可以在我的资源里面下载
民航订票管理系统设计相关推荐
- 基于Java实现(PC)民航订票管理系统【100010185】
民航订票管理系统设计 一.需求分析: 问题描述:设计系统的简单描述 民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理航班延误管理,已订票客户信息管理,会员信息管理等功能. ...
- 基于php和mysql实现的简易民航订票系统实验
基于PHP和MySQL实现的民航订票系统实验 实验内容 实验步骤 结果展示 实验内容 实验简述: 民航订票系统主要分为机场.航空公司和客户三方的服务.航空公司提供航线和飞机的资料,机场则对在本机场起飞 ...
- 电影院订票售票系统设计与实现
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的电影院订票选座系统,系统整体使用了基于java+MySql的B/S架构,技术上使用了springboot框架:使用浏览器,管理员通 ...
- 基于C++的民航订票系统的设计与实现
一.需求分析 设计一个民航管理系统,使更广大的用户群体可以借助这个平台订飞机票. C++作为一个面向对象的语言,利用多态性和封装性可以更好地表达出这些功能,相比 JAVA 等语言,C++具STL,可以 ...
- 基于JSP微信小程序汽车票订票售票系统设计与实现
第1步(数据库操作): 导入sql数据库 第2步(网站发布): 使用ideal导入管理系统 设置根目录下 conn.jsp的数据库连接 和 网址地址(小程序使用) 运行 ...
- [附源码]Java计算机毕业设计SSM电影院订票管理系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- [附源码]JAVA+ssm计算机毕业设计电影院订票管理系统(程序+Lw)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- asp毕业设计——基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码)——民航售票管理系统
基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的民航售票管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...
- (附源码)spring boot火车票订票系统 毕业设计171538
火车票订票系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题 ...
- spring boot火车票订票系统 毕业设计-附源码171538
火车票订票系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题 ...
最新文章
- form左上角有个锁的符号_第三章 表单笔记
- (转载)jsp与servlet之间页面跳转及参数传递实例
- 将英文的week 转换为中文的 简单的方法
- php裁剪图片白边,php生成缩略图自动填充白边例子
- 如何打造标准化的数据治理评估体系?
- 基于 webdriver 的测试代码日常调试方python 篇
- Gstreamer1.16.2与Glib2 signals关键字冲突解决(十一)
- Windows内核管理层的部件之I/O管理模块
- delphi acropdf打印多个pdf_将多个PDF文件整合成一个文件
- PHP的压力测试工具ab.exe 和mpm介绍提高并发数
- 从 Sentence-BERT 谈句子表征
- php 抓取 百度百科,百度百科词条内容爬取-爬虫大作业
- 苹果系统与win10连接到服务器,Win10下苹果设备连接电脑没有反应的解决方法
- MySQL3:连接查询、子查询及正则表达式查询
- 干货 | Elasticsearch 索引设计实战指南
- 国内下载国外数据集(库)方案整理
- 奇特的锡纸海鲜小吃:吃到嗨都不会发胖的辣卤海鲜!值得开一家哦!
- 下载正版的Windows操作系统和office软件
- 【C++算法模板】日期类型题目:节假日
- 微信公众号可以改名称了,只限个人订阅号!
热门文章
- js 利用audio buffers[int16Array]计算分贝
- 全国各地电台在线收听大全(转)
- 二阶滤波器matlab代码,双二阶滤波器之MATLAB设计及C语言实现
- 基于Web的教学网站前端开发设计 报告+任务书+html源码
- 软考(22)-网络存储、网络安全、网络规划与设计
- hp DV4 声卡驱动 IDT声卡补丁1.1
- 用.iso文件从硬盘安装redhatlinux7.3(转)
- MASM 32位汇编 32与16汇编区别
- windows系统上删除顽固文件
- Linux零基础入门系列培训