基于Python+Sqlite实现(图形化)民航售票管理系统【100010198】
民航管理系统——数据库课程设计
一、 概述
民航售票管理系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。
本系统能够完成如下功能:
订票用户
(1) 查询当前的航班信息,包括航班时间,机型,价格,余票数量等数据,并且可以根据不同得选择对机票进行筛选,选择购买后积分自动累加。
(2) 查询自己已经订购得机票,并且可以修改乘客或者进行退票。
(3) 查询自己得个人信息,可以修改账户密码,未注册的用户可以自行注册 VIP。
航空公司管理员
(1) 查看公司的航班信息,包括航班时间,机型,价格,余票数量等,并且可以进行筛选。。
(2) 查询公司航班的售票情况,包括航班,乘客,价格,付款金额等数据,并且可以进行筛选。
(3) 添加或修改公司的航班信息,包括航班时间,机型,价格,余票数量等。
机场管理员
(1) 查询当前所有的顾客信息,可以对顾客信息进行修改或者注册新用户。
(2) 查询涉及本机场的航班,并且可以对航班进行修改。
(3) 对发生异动的航班,管理员可以选择对相关用户发送公告,告知其相关信息。
(4) 可以查询或修改当前的售票信息,并且可以添加销售信息。
二、 实验环境
本系统开发平台及运行环境如下:
系统开发语言:Python
数据库管理软件:SQL Server 2017
运行平台:Windows10
三、 实验内容与步骤
3.1 系统需求分析
3.1.1 系统工作原理
- 注册。由用户向机场管理员申请注册,由管理员将信息表单提交到系统,由控制层调用数据逻辑层操作数据库,完成用户的注册。
- 用户登录。对用户输入的登录信息进行验证,判定用户选择的用户类别和输入的用户名和密码是否匹配,若不匹配则无权使用该系统,反之则能合法使用系统。
- 修改个人信息。用户对可以对个人信息进行查询及修改。
- 航班查询。用户对数据库中航班信息进行查询,显示满足用户查询条件的航班信息。
- 订票。用户查询到自己需要的航班信息后可进行订购操作,首先查询用户所享受的优惠,确定付款金额后,系统会将相关信息一并发送到机票订购模块,将信息写入订单信息存储,并且运行积分模块,进行积分的累计。
- 修改信息。此工作接受用户的修改信息,根据用户 ID 和预订的航班号,对满足条件的已预订机票进行修改处理。
- 退票。此工作接受用户的退票信息,根据用户 ID 和预订的航班号,对满足退票条件的已预订机票进行退票处理,并且扣除所加积分。
- 航班信息录入。此工作接收由航空公司管理员录入的航班信息,并将其导入数据库进行存储,供用户查询和预订。
- 航班信息更新。此工作接收管理员对某些需要更新的航班信息的更新操作,并修改存储在数据库中相关信息。
- 订单查询。用户可以查询自己已完成的或未出行的订单,管理员可以查看所属用户的所有订单。
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】相关推荐
- asp毕业设计——基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码)——民航售票管理系统
基于asp+sqlserver的民航售票管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的民航售票管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...
- python实现图的数据存储_Neo4j推出基于Python的嵌入式图数据存储
龙源期刊网 http://www.qikan.com.cn Neo4j 推出基于 Python 的嵌入式图数据存 储 作者:
- python中easygui是干嘛用的-Python简单的图形化界面——easygui
easygui是Python的一个图形化界面的库,使用前需要先添加这个库.在cmd里运行下面命令. pip install easygui1 等待安装完成后就可以使用了. msgbox()--消息弹窗 ...
- centos 8 的图形操作界面在哪_商显首款基于安卓系统的图形化调用API软件—智微智能SPIRIT测评...
出色优美的数字显示可谓是商业展示的灵魂所在,可迅速吸引人们的目光,智能多样化地进行信息展示.随着各种数字显示产品与技术的进步,新型数字商用显示在生活中随处可见.各类数字标牌.POS设备.自助服务终端. ...
- python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...
论文写作指导:请加QQ229366758 基于Python和Django框架的物联网智能设备管理系统的设计与实现 作者:未知 摘 要:针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理 ...
- 基于java+mysql的Swing+MySQL火车票售票管理系统
基于java+mysql的Swing+MySQL火车票售票管理系统 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程 ...
- python neo4j嵌入_Neo4j推出基于Python的嵌入式图数据存储
Neo4j很早就在说,会推出一个嵌入在图数据库模块,让Python可以通过图数据库的API操作本地文件以存储图结构的数据(类似于很多支持SQLite的类库).而今天Neo4j终于在官方博客上兑现了其承 ...
- python开源嵌入式_Neo4j 推出基于 Python 的嵌入式图数据存储
Neo4j很早就在说,会推出一个嵌入在Python中的图数据库模块,让Python可以通过图数据库的API操作本地文件以存储图结构的数据(类似于很多支持SQLite的类库).而今天Neo4j终于在官方 ...
- 基于Python+SQLite实现校园信息化统计平台【100010095】
一.校园信息化统计平台 概述 本项目以清华大学为预期用户,作为校内信息化统计平台进行服务,建立网页端和移动端校内信息化统计平台,基于Project_1的需求实现. 本项目能够满足校内学生团体的几类统计 ...
最新文章
- 2021年春季学期-信号与系统-第十五次作业参考答案-第三小题参考答案
- 基本数据类型之间的运算
- 如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
- php如何复制一个对象,PHP中的对象复制及__clone() 函数
- Auto 和 Decltye 的区别
- java计算机毕业设计招聘信息系统源代码+系统+数据库+lw文档
- 手机编程软件推荐(C/C++、JAVA篇)
- java 月份适配计算_Java8中的时间日期API这么好用,你居然还没有掌握?
- 社交APP的架构设计(技术篇)
- raid ahci模式哪个好_一机多用的RAID磁盘阵列 QNAP TR-004体验测评
- 被垃圾分类逼疯?这个深度学习技术帮你做到垃圾自动分类
- 用计算机输入文字语音播放出来,Win10如何实现电脑语音输入?Win10使用搜狗输入法语音输入文字的方法...
- DCF(Discounted Cashflow)模型二(折现率)
- 英伟达GTC 公告确认这是一个互联的多芯片世界
- 最新kali之swaks
- 码一些有用的东西网站的域名被拦截怎么办? 教你快速解除各种拦截
- 七天治愈拖延症-读后感
- SecureCRT SSH远程登入connection was reset
- 为什么说2020年会是科技并购好时机?
- Brocade B300 FC交换机端口全部关闭的故障处理
热门文章
- 2020 0414对象的多态
- 利用 Python 分析 MovieLens 1M 数据集
- surface pro4 多点触控失灵及触控笔失灵问题的解决
- 如何显示计算机语言栏,如何显示语言栏 显示语言栏简单步骤介绍
- 未能打开这台计算机的策略组对象,Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”...
- 【第二季】Arcgis地图制图基础|(四)地图文字标注
- 2017 AMC8中文
- 存储基础知识——SAN
- perl linux yum,Linux CentOS6.5(x86_64)安装Perl5.26
- python2 + django 导出 excel 功能 接口示例代码(做记录)