民航管理系统——数据库课程设计

一、 概述

民航售票管理系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。

本系统能够完成如下功能:

订票用户

(1) 查询当前的航班信息,包括航班时间,机型,价格,余票数量等数据,并且可以根据不同得选择对机票进行筛选,选择购买后积分自动累加。

(2) 查询自己已经订购得机票,并且可以修改乘客或者进行退票。

(3) 查询自己得个人信息,可以修改账户密码,未注册的用户可以自行注册 VIP。

航空公司管理员

(1) 查看公司的航班信息,包括航班时间,机型,价格,余票数量等,并且可以进行筛选。。

(2) 查询公司航班的售票情况,包括航班,乘客,价格,付款金额等数据,并且可以进行筛选。

(3) 添加或修改公司的航班信息,包括航班时间,机型,价格,余票数量等。

机场管理员

(1) 查询当前所有的顾客信息,可以对顾客信息进行修改或者注册新用户。

(2) 查询涉及本机场的航班,并且可以对航班进行修改。

(3) 对发生异动的航班,管理员可以选择对相关用户发送公告,告知其相关信息。

(4) 可以查询或修改当前的售票信息,并且可以添加销售信息。

二、 实验环境

本系统开发平台及运行环境如下:

系统开发语言:Python

数据库管理软件:SQL Server 2017

运行平台:Windows10

三、 实验内容与步骤

3.1 系统需求分析

3.1.1 系统工作原理

  1. 注册。由用户向机场管理员申请注册,由管理员将信息表单提交到系统,由控制层调用数据逻辑层操作数据库,完成用户的注册。
  2. 用户登录。对用户输入的登录信息进行验证,判定用户选择的用户类别和输入的用户名和密码是否匹配,若不匹配则无权使用该系统,反之则能合法使用系统。
  3. 修改个人信息。用户对可以对个人信息进行查询及修改。
  4. 航班查询。用户对数据库中航班信息进行查询,显示满足用户查询条件的航班信息。
  5. 订票。用户查询到自己需要的航班信息后可进行订购操作,首先查询用户所享受的优惠,确定付款金额后,系统会将相关信息一并发送到机票订购模块,将信息写入订单信息存储,并且运行积分模块,进行积分的累计。
  6. 修改信息。此工作接受用户的修改信息,根据用户 ID 和预订的航班号,对满足条件的已预订机票进行修改处理。
  7. 退票。此工作接受用户的退票信息,根据用户 ID 和预订的航班号,对满足退票条件的已预订机票进行退票处理,并且扣除所加积分。
  8. 航班信息录入。此工作接收由航空公司管理员录入的航班信息,并将其导入数据库进行存储,供用户查询和预订。
  9. 航班信息更新。此工作接收管理员对某些需要更新的航班信息的更新操作,并修改存储在数据库中相关信息。
  10. 订单查询。用户可以查询自己已完成的或未出行的订单,管理员可以查看所属用户的所有订单。

3.1.3 表的设计

本系统采用 MySQL 数据库。在系统中创建 test 数据库包含 8 张表,各个表的详细设计如下:

公司管理员信息****表

表名:companyUser

公司管理员信息表

属性名 类型 允许为空 主键 描述
userId INT No 主键 用户编号
userName VARCHAR(50) Yes 用户名
password VARCHAR(50) Yes 密码
companyId INT Yes 外键 所属公司

机场管理员信息表

表名:airportUser

机场管理员信息表

属性名 类型 允许为空 主键 描述
userId INT No 主键 用户编号
userName VARCHAR(50) No 用户名
password VARCHAR(50) No 密码
airportId INT No 外键 所属机场

顾客信息表

表名:customerUser

顾客信息表

属性名 类型 允许为空 主键 描述
userId INT No 主键 用户编号
userName VARCHAR(50) No 用户名
password VARCHAR(50) No 密码
Vip INT No 是否注册用户
Point INT No 积分
realName VARCHAR(50) Yes 姓名
phone VARCHAR(50) Yes 手机号
sex VARCHAR(50) Yes 性别

公告信息表

表名:board

公告信息表

属性名 类型 允许为空 主键 描述
boardId INT No 主键 公告编号
flightId INT No 外键 涉及航班编号
dueTime INT No 截止日期

机场信息表

表名:airport

机场信息表

属性名 类型 允许为空 主键 描述
airportId INT No 主键 机场编号
airportName VARCHAR(50) No 机场名称

公司信息表

表名:company

公司信息表

属性名 类型 允许为空 主键 描述
companyId INT No 主键 公司编号
companyName VARCHAR(50) No 公司名称

机票销售信息表

表名:ticket

表 3-4 机票销售信息表

属性名 类型 允许为空 主键 描述
ticketId INT No 主键 机票编号
userId INT No 外键 顾客编号
flightId INT No 外键 航班编号
companyId INT No 外键 航班公司
seatNumber INT No 座位号
passagerName VARCHAR(50) No 乘客姓名
passagerPhone VARCHAR(50) No 乘客手机号
paidMoney INT No 付款金额
paidTime VARCHAR(50) No 付款时间

航班信息表

表名:flight

表 3-5 宠物用品销售信息表

属性名 类型 允许为空 主键 描述
flightID INT No 主键 航班号
plane VARCHAR(50) No 飞机机型
departure INT No 外键 出发地编号
terminal INT No 外键 目的地编号
leaveTime VARCHAR(50) No 出发时间
arrivetime VARCHAR(50) No 到达时间
leftTicket INT No 余票数量
totalTicket INT No 总票数
ticketMoneu INT No 票价
companyID INT No 外键 所属公司

四、 程序运行展示

♻️ 资源

大小: 267KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87347667

基于Python+Sqlite实现(图形化)民航售票管理系统【100010198】相关推荐

  1. asp毕业设计——基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码)——民航售票管理系统

    基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的民航售票管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

  2. python实现图的数据存储_Neo4j推出基于Python的嵌入式图数据存储

    龙源期刊网 http://www.qikan.com.cn Neo4j 推出基于 Python 的嵌入式图数据存 储 作者:

  3. python中easygui是干嘛用的-Python简单的图形化界面——easygui

    easygui是Python的一个图形化界面的库,使用前需要先添加这个库.在cmd里运行下面命令. pip install easygui1 等待安装完成后就可以使用了. msgbox()--消息弹窗 ...

  4. centos 8 的图形操作界面在哪_商显首款基于安卓系统的图形化调用API软件—智微智能SPIRIT测评...

    出色优美的数字显示可谓是商业展示的灵魂所在,可迅速吸引人们的目光,智能多样化地进行信息展示.随着各种数字显示产品与技术的进步,新型数字商用显示在生活中随处可见.各类数字标牌.POS设备.自助服务终端. ...

  5. python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...

    论文写作指导:请加QQ229366758 基于Python和Django框架的物联网智能设备管理系统的设计与实现 作者:未知 摘 要:针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理 ...

  6. 基于java+mysql的Swing+MySQL火车票售票管理系统

    基于java+mysql的Swing+MySQL火车票售票管理系统 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程 ...

  7. python neo4j嵌入_Neo4j推出基于Python的嵌入式图数据存储

    Neo4j很早就在说,会推出一个嵌入在图数据库模块,让Python可以通过图数据库的API操作本地文件以存储图结构的数据(类似于很多支持SQLite的类库).而今天Neo4j终于在官方博客上兑现了其承 ...

  8. python开源嵌入式_Neo4j 推出基于 Python 的嵌入式图数据存储

    Neo4j很早就在说,会推出一个嵌入在Python中的图数据库模块,让Python可以通过图数据库的API操作本地文件以存储图结构的数据(类似于很多支持SQLite的类库).而今天Neo4j终于在官方 ...

  9. 基于Python+SQLite实现校园信息化统计平台【100010095】

    一.校园信息化统计平台 概述 本项目以清华大学为预期用户,作为校内信息化统计平台进行服务,建立网页端和移动端校内信息化统计平台,基于Project_1的需求实现. 本项目能够满足校内学生团体的几类统计 ...

最新文章

  1. 2021年春季学期-信号与系统-第十五次作业参考答案-第三小题参考答案
  2. 基本数据类型之间的运算
  3. 如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
  4. php如何复制一个对象,PHP中的对象复制及__clone() 函数
  5. Auto 和 Decltye 的区别
  6. java计算机毕业设计招聘信息系统源代码+系统+数据库+lw文档
  7. 手机编程软件推荐(C/C++、JAVA篇)
  8. java 月份适配计算_Java8中的时间日期API这么好用,你居然还没有掌握?
  9. 社交APP的架构设计(技术篇)
  10. raid ahci模式哪个好_一机多用的RAID磁盘阵列 QNAP TR-004体验测评
  11. 被垃圾分类逼疯?这个深度学习技术帮你做到垃圾自动分类
  12. 用计算机输入文字语音播放出来,Win10如何实现电脑语音输入?Win10使用搜狗输入法语音输入文字的方法...
  13. DCF(Discounted Cashflow)模型二(折现率)
  14. 英伟达GTC 公告确认这是一个互联的多芯片世界
  15. 最新kali之swaks
  16. 码一些有用的东西网站的域名被拦截怎么办? 教你快速解除各种拦截
  17. 七天治愈拖延症-读后感
  18. SecureCRT SSH远程登入connection was reset
  19. 为什么说2020年会是科技并购好时机?
  20. Brocade B300 FC交换机端口全部关闭的故障处理

热门文章

  1. 2020 0414对象的多态
  2. 利用 Python 分析 MovieLens 1M 数据集
  3. surface pro4 多点触控失灵及触控笔失灵问题的解决
  4. 如何显示计算机语言栏,如何显示语言栏 显示语言栏简单步骤介绍
  5. 未能打开这台计算机的策略组对象,Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”...
  6. 【第二季】Arcgis地图制图基础|(四)地图文字标注
  7. 2017 AMC8中文
  8. 存储基础知识——SAN
  9. perl linux yum,Linux CentOS6.5(x86_64)安装Perl5.26
  10. python2 + django 导出 excel 功能 接口示例代码(做记录)