毕业设计_数据库航空订票管理系统1
航空订票系统的设计与实现毕业论文

航空订票系统的设计与实现毕业论⽂引⾔1 引⾔1.1选题背景21世纪的特征是数字化、⽹络化和信息化,它是⼀个以数据库技术为核⼼的信息时代。
⽽随着信息技术的发展,航空售票业也成为⼀个⾼度依赖信息业的⾏业。
信息技术的飞速发展不仅使航空售票⼯作者逐渐摆脱了繁重的⼿⼯劳动、提⾼了⼯作效率,⽽且推着航空事业向现代化管理迈进。
现代化的航空售票也应该有现代化的管理系统。
在科技⽇益发达的今天,⼈们对旅游出⾏更加重视。
因此,航空售票进⾏现代化管理就变的尤为重要。
今天,信息资源已成为各个部门的重要财富,建⽴⼀个满⾜航空售票信息处理要求的⾏之有效的信息系统也成为⼀个航空公司发展的重要条件。
航空售票管理系统,它是航空部门机票管理系统的⼀部分,其作⽤是对所有待售机票和已售机票进⾏有效的管理。
通过本系统不仅可以进⾏售票⼯作,⽽且还可以对和机票相对应的旅客情况和航班情况进⾏查询,并可随时进⾏增加,修改,删除等⼯作,使售票⼈员能够有效地对机票进⾏有效的控制和管理。
因此,通过航空售票管理系统,使航空售票管理⼯作系统化,规范化,⾃动化,从⽽⼤⼤提⾼了售票管理⼯作的效率。
1.2 ⽬的和意义随着信息技术的发展,使⼈们上⽹容易成为现实,⽽售票厅往往⼈群拥挤⼀票难求,现实中去站点购票要受时间及地点的限制,由于现在⼈们⽣活节凑变快,时间资源相当保贵,有时为定购⼀张票需要坐上⼏个⼩时的车到售票处去排队买票,有时还会因为信息的缺乏,不能有效的了解票的销售情况,使旅⾏计划受阻,给顾客带来了很多的不便。
⽹上订票系统,新⼀种新型的售票模式。
⽤户可以通过⽹络查询航班的情况及机票的销售情况,以便更好的制定旅⾏计划,⽤户通过互联⽹在⽹上预订机票,极⼤的提⾼的旅客的订票效率,节省了订票的时间,缓解了售票窗⼝的拥挤的现状。
⽹上订票系统的成功实施,提⾼了售票的信息化管理⽔平,减⼩了⼯作⼈员的⼯作强度,为航空运输⾏业提供了新型的管理模式。
第1页(共38页)航空订票系统的设计与实现1.3 技术要求和设计范围航空售票系统提供的是⼀种⾯向较⼴区域的⽤户群系统。
毕业设计论文范例——航空信息管理系统

航空信息管理系统摘要本系统是完成一个基于票务管理、飞机航线航班管理、客户管理以及查询业务的航空信息管理系统。
使用Java语言进行代码的编写,以基于Swing的思想来进行各个图形界面的设计,Swing具有更丰富而且更加方便的用户界面元素集合,对于底层平台的依赖更少,其组件具有更强的实用性;系统采用MySQL Server的数据库管理系统来进行数据的管理,MySQL Server的数据库服务器具有快速、可靠和易于使用、稳定性高、可移植性强的特点。
系统最终达到的效果就是既能根据用户的需求快捷方便的为用户服务,又能提高工作人员的工作效率,降低人为出错的几率。
关键词:航空信息管理系统;Java;Swing;MySQL ServerAircraft Information Management SystemAbstractThe system is one that based on the management of the tickets,planes ,airlines,flights, the informations of the customers and the service for the query. It is called the Aircraft Information Management System。
Use the language of Java to do the code-writing.The idea of Swing is applied to all the designs of the graphics interface。
The component of Swing has the more rich and more convenient element sets of the graphics interface. For the less dependent on low—level platform brings the effect is that making it more applicable。
航空客运订票系统—VC毕业设计(论文)

航空客运订票系统—VC毕业设计(论文) 航空客运订票系统 1 问题描述航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。
试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
1.1 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量)1.2 作为示意系统,全部数据可以只放在内存中1.3 系统能实现的操作和功能如下:1.3.1 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额1.3.2 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补 1.3.3 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户 2 概要设计2.1 存储结构设计typedef struct Al_Custom //已订票客户{char name[15];//姓名int count;//订票量int level;//舱位等级Al_Custom *next;//下一节点指针}Al_Custom,*Al_CustomLink;typedef struct Wait_Custom//等候替补的客户{char name[15];//姓名int count;//所需票量Wait_Custom *next;//下一节点指针 }Wait_Custom; typedef struct Wait_Queue//等待队列 {Wait_Custom *front;//队列头指针Wait_Custom *rear;//尾指针 }Wait_Queue; typedef struct Flight//航线{char terminus[15];//终点站名char flight_no[10];//航班号char plane_no[10];//飞机号int week;//飞行周日int count;//乘客定额int rest;//余票量Al_CustomLink Al_link;//指向成员名单链表的头指针Wait_Queue wait_queue;//等待替补队列 }Flight;2.2 主要算法设计2.2.1 主程序模块:void main(){初始化;do{接受命令;处理命令;}while(命令!="退出");}2.2.2 查询航线模块——实现查询功能 void findFlight() { 提示输入要查询航线的终点站名;如果存在该航线,则输出该航线信息;否则提示不存在该航线;}2.2.3 承办订票业务模块——实现订票功能 void dingpiao() {提示输入航班号和订票数;若不存在该航班号,则提示不存在该航线;否则{如果有余票,则办理业务;否则提示没有足够的余票,询问是否候补;若是,则排队候补;}}2.2.4 承办退票业务模块——实现退票功能 void tuipiao() {提示输入航班号和飞行周日;确认航班号和飞行周日都存在,并且客户有订票,则 {执行退票;为排队候补的客户办理订票业务;}否则{提示有误}}2.3 测试用例设计2.3.1 航线3条:1001 hp001 shanghai 2 501002 hp002 beijing 5 501003 hp003 guangzhou 7 502.3.2 查询航线:shanghai2.3.3 承办订票业务:航班号1001 数额30 姓名chengangjie 舱位等级22.3.4 承办订票业务:航班号1001 数额23 姓名zhenxi 舱位等级32.3.5 承办退票业务:姓名chengangjie 航班号1001 飞行周日2 2.3.6 查询航线:终点站名:shanghai3 调试分析3.1 本次的设计比较困难,需要实现较多的功能,所以在调试过程中不太顺利,主要是指针的修改。
数据库课程设计民航售票系统

计算机与信息学院数据库课程设计报告专业班级信息安全11-1班学生姓名及学号周伟康课程教学班号任课教师沈明玉实验指导教师郑淑丽实验地点第三机房2012 ~ 2013 学年第三学期民航机票销售系统设计目录1.课程设计目的 (1)2.课程设计描述 (2)3.需求分析 (3)4. 用例测试 (4)5.程序结构 (5)6.部分源码 (6)7.总结 (7)1.课程设计目的模拟实现一个现实生活所需的数据库系统,结合多门相关课程内容,把理论运用到实践中去,提高知识的理解深度,技能的熟练程度。
为将来向社会贡献有用的产品打下基础。
2.课程设计描述本次课程设计的课题是设计一个民航机票销售数据库系统,来模拟民航机票预订和销售系统。
本人在小组中负责所有应用程序设计部分并参与数据库建设的讨论,适当提出建议。
初步考虑,针对现实用户的不同角色需求,计划开发3种客户端。
1、普通用户个人使用的订票客户端2、民航系统员工使用的销售客户端3、航空公司内部使用的航班信息提供客户端三种客户端通过服务器间接访问数据库,故还需编写服务器。
初步实践后,鉴于以下原因,本次课程设计仅实现个人订票的基本应用。
1、本人能力有限。
对后两者业务经验极度缺乏,需求模糊。
2、在对三种客户端业务扩充时发现,整个应用层应是基于多个数据库的整体,民航机票销售只是其中业务逻辑的一部分,后两者客户端有其独立的数据库。
对机票销售这一主体功能来说,只用到后两库中部分共享数据,故对整个系统降级处理,只保证实现机票销售。
故把数据合并在一个数据库中,航班、员工等信息假设以预存库中,则后两客户端可推迟实现。
本次设计程序用Java+Oracle实现,3.需求分析基本目标:实现用户使用网上订票系统进行查票,登陆,订票,改签,退票等基本功能。
概念设计图:用户客户端功能概述:1. 注册及登录a.注册:注册用户个人信息。
b.登录:登陆后系统记录用户信息,并返回到登陆前页面。
2. 管理个人信息a.管理用户的个人信息,并可以修改。
机票订购系统毕业设计

机票订购系统毕业设计机票订购系统毕业设计随着航空业的迅速发展和人们对旅行的需求不断增加,机票订购系统成为了一个非常重要的工具。
本文将探讨机票订购系统的设计与实现,包括系统的功能、技术选型、用户界面设计和安全性等方面。
一、系统功能机票订购系统的主要功能是提供用户方便快捷地订购机票的服务。
用户可以通过系统查询航班信息、选择座位、支付费用并获得电子机票。
同时,系统还应该提供退改签服务、行李托运信息和航班动态等功能,以满足用户的各种需求。
二、技术选型在选择技术方案时,需要考虑系统的可扩展性、性能和安全性。
常见的技术选型包括前端开发框架、后端开发语言和数据库等。
前端可以选择流行的React或Vue.js框架,后端可以使用Java或Python等语言进行开发,数据库可以选择MySQL或MongoDB等。
三、用户界面设计用户界面设计是机票订购系统中非常重要的一部分,它直接影响用户的体验和使用效果。
界面设计应该简洁明了,符合用户的使用习惯。
可以采用响应式设计,使得系统在不同设备上都能够良好地展示。
此外,还可以考虑使用图表和动画等元素来提升用户的交互体验。
四、安全性机票订购系统涉及用户的个人信息和支付信息,因此安全性是非常重要的。
系统应该采用合适的加密算法对用户的敏感信息进行加密存储,并采取防止SQL注入和XSS攻击等措施,确保用户数据的安全性。
同时,系统还应该设置合理的权限管理机制,以保护系统的安全。
五、系统测试在开发完成后,系统需要进行充分的测试,以保证其质量和稳定性。
可以进行单元测试、集成测试和系统测试等,发现并修复潜在的问题。
同时,还可以进行性能测试,以确保系统在高并发情况下的稳定性和响应速度。
六、用户体验优化除了基本功能和安全性外,用户体验也是机票订购系统中需要关注的重要方面。
可以通过用户反馈和数据分析等方式,不断优化系统的用户界面和功能,提升用户的满意度和黏性。
例如,可以提供个性化推荐服务、增加用户评价和分享功能等。
数据库课程设计-飞机订票系统

数据库课程设计报告题目飞机订票管理系统目录第一章概述 (3)1。
1项目背景 (3)1.2 编写目的 (3)1.3 开发工具 (3)1.3。
1软件定义 (3)1.3。
2 开发环境 (3)第二章需求分析 (4)2。
1 问题陈述 (4)2。
2 ER模型图 (4)第三章数据库逻辑设计 (5)3。
1 定义数据库表 (5)数据库表 (5)第四章软件功能设计 (7)4。
1 软件功能结构图 (7)4。
2软件划分模块 (7)4.2。
1 整体流程: (7)4.2.2 航班信息查询模块 (8)4。
2。
3 顾客查询模块 (10)4.2.4 订票、退票功能 (12)4.2。
5 财务查询 (17)第五章界面设计 (18)第六章结束语 (19)第一章概述1。
1项目背景航空业作为运输行业的基础,要提高我国运输行业的整体水平,必须从基础抓起.订票系统是航空业从事生产和管理的基层单位,加强订票系统是航空业基础地位的关键,也是保障航空业业可持续发展的重要基石。
随着现在航空运输业的发展,机票预订系统也成为了航空运输业的软件副产品,目前的管理系统都是与数据库关联,故数据库的管理也成为很热门的研究对象。
此项目是以数据库为支撑,java(eclipse)为平台而开发的.1。
2 编写目的编写此项目的目的是为了进一步了解数据库的储存管理机制以及数据库与其他的语言语言工具之间关联和协作.也可以熟悉项目开发的流程,步骤,为以后编写其他的程序打下基础。
1,了解并掌握数据结构的设计方法,具备初步的独立分析能力;2,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4,训练用系统的观点和软件开发的一般规范进行软件开发,培养软件工作者所具备的的科学的工作方法和作风。
1。
3 开发工具1.3。
1软件定义Oracle 11g,PowerDesigner,eclipse1。
3。
2 开发环境Windows7,Java,database第二章需求分析2。
航空订票系统(数据库课程设计)
航空订票系统(数据库课程设计)《数据库系统原理》课程设计报告航空订票系统学院:班级:学号:姓名:完成时间:目录一、需求分析--------------------------------------------------------------11、引言-------------------------------------------------------------------------------------------12、项目概述-------------------------------------------------------------------------------------23、需求规定-------------------------------------------------------------------------------------24、运行环境规定-------------------------------------------------------------------------------4二、视图设计--------------------------------------------------------------41、E-R 图----------------------------------------------------------------------------------------42、关系模式-------------------------------------------------------------------------------------53、物理数据模型描述-------------------------------------------------------------------------54、数据流程图----------------------------------------------------------------------------------6三、逻辑结构设计--------------------------------------------------------71、数据表描述----------------------------------------------------------------------------------72、表间联系-------------------------------------------------------------------------------------8四、系统设计--------------------------------------------------------------81、系统功能分析-------------------------------------------------------------------------------82、系统功能模块设计-------------------------------------------------------------------------9五、项目总结--------------------------------------------------------------101、本项目设计的优点-------------------------------------------------------------------------102、项目实现流程-------------------------------------------------------------------------------103、心得体会-------------------------------------------------------------------------------------10一、需求分析1、引言1.1编写目的(1)便于用户、分析人员和软件设计人员进行理解和交流(2)希望系统的外部项(旅客、旅行社、航空公司)均支持目标软件系统的确认。
本科毕业论文---航空订票系统 航空客运订票系统设计 航空订票管理系统
摘要航空定票系统是使用JAVA编程技术在MYEclipse6.0集成开发环境下开发的订票系统。
该系统实现了航班管理、订票管理、退票管理以及查询航班等功能。
在航班管理中航空公司内部管理员能在系统中完成添加航班或删除航班、更新航班信息、查看数据库等功能。
乘客能够在系统中完成查询航班、订票办理和退票办理等功能。
乘客可以用多种方式来查询航班信息,也可以根据实际需要来订票(单程、往返、联程)。
系统还能将这些信息保存在数据库中,并供航空公司内部管理员随时查询。
关键词:航空定票系统,JAVA,MYEclipse6.0,定票,退票AbstractThe aviation settles a ticket system is use a JAVA plait distance's technique integrated in the MYEclipse6.0 develop under the environment develop of book a system.That system carries out a service a management and books a management, dishonor bill management and searches a service etc. function.The airline internal managing person can complete to add a service or delete a service, renew a service information and look into a database in the system in the service the management etc. function.The passenger can complete a search service and book a ticket to carry out to carry out with dishonor bill in the system etc. function.The passenger can search a service information with various ways, can also book a ticket according to the effective demand.(one way, go back and forth, allied distance)The system returns an ability will these the information keep in the database, and provide an airline the internal managing person searches at any time.Keywords:The aviation settles a system,JAVA, MYEclipse6.0, settle a ticket, dishonor bill目录摘要 (I)Abstract ...................................................................................................................................................................... I I 第1章绪论 . (1)第2章系统功能介绍 (2)2.1系统功能总框图 (2)2.2 本人模块功能介绍 (2)2.2.1 航班管理功能介绍 (2)2.2.2 查询航班功能介绍 (2)2.2.3 订票办理功能介绍 (3)2.2.4 退票办理功能介绍 (3)2.2.5 连接数据库介绍 (3)2.3 组内任务分工 (4)第3章数据库设计 (5)第4章系统功能实现 (7)4.1 航班管理功能实现 (7)4.2 查询航班功能实现 (27)4.3 订票办理功能实现 (45)4.4 退票办理功能实现 (65)4.5 连接数据库实现 (82)结论 (90)致谢 (91)参考文献 (92)第1章绪论航空定票系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的航空定票系统,实现旅行社的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
数据库课程设计航空售票管理系统
课程设计课程名称数据库系统课程设计题目名称学生学院专业班级学号学生姓名指导教师2013 年1 月成绩目录1 绪论11.1 课题背景及现实意义11.2 航空票务管理系统简介11.2.1 定义11.2.2 主要功能11.2.3 重要性21.3 开发技术介绍22 系统需求分析设计42.1 需求分析的目的42.2 系统需求分析42.2.1 系统功能需求42.2.2 软件运行环境52.3数据流图52.3.1 数据流图介绍52.3.2 系统数据流图63 系统整体设计73.1 系统分析与设计73.2 系统功能模块设计图73.3 数据库设计84详细设计154.1 数据库连接154.2举例航班管理代码174.2.1 航班管理界面初始化174.2.3新增航班的实现214.2.4撤销航班的实现234.2.5修改航班的实现264.3购买机票284.3.1 选择机票并确认购买284.3.2 填写客户信息294.4其他界面与功能305 课程设计小结33参考文献341绪论1.1课题背景及现实意义随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。
然而,交通的快捷离不开信息的快捷。
随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。
在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处理,就可以很好地满足我们的需求。
航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。
本文介绍了简易航空售票管理系统的实现过程。
1.2航空票务管理系统简介1.2.1定义航空票务管理系统中主要包括了用户的基本信息(用户名、密码、权限),客户信息(、性别、身份证号、联系电话、备注等),航班信息(航班编号、出发城市、到达城市等)。
毕业设计网上机票预定管理系统
摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型科学,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立起和自身特点相适应的管理信息管理系统。
本系统根据航空公司管理的实际要求,经过实际的需求分析,采用Eclipse作为开发工具,以MYSQL做数据后台,开发出来的网上机票预定管理系统。
整个系统从符合操作简便,界面友好,灵活,实用,安全的要求出发,完成了网上机票预定的全过程,包括机票信息管理,客户信息管理,航线信息管理,系统管理等管理工作。
论文主要介绍了本课题的开发背景所要完成的功能和开发过程。
重点说了系统的设计的重点设计思想和系统的详细设计。
关键词管理信息系统;机票管理;eclipse;mysqlIAbstractAs information technology in the management of increasingly deep and broad applications, management information systems implementation, technology has gradually matured. Management Information System is a continuous development of new science, any organize to develop to survive, higher efficiency organic internal activities to organize themselves, it must also establish its own characteristics that suit the management information management system According to the airline management systems of the actual demand, the actual demand analysis using Eclipse as a constitution tool, MYSQL Database Menagement System as background support, the constitution of the Online Airplane Ticket Books Management System. With the entire system from the simple, friendly interface, flexible, practical and safety requirements. Completion of the Online Airline Ticket Booking, the entire process, including ticket information management, customer information management, information management services, management systems management. This paper presents the constitution of the background tasks to be accomplished by the development and function of the process. That the focus of the system is designed to focus on design and the detailed design.Keywords management information systems ticket management eclipse mysqlII目录摘要 (I)ABSTRACT (II)目录 (I)第1章绪论 (1)1.1系统背景 (1)1.2系统实现的目标 (2)第2章可行性分析 (3)2.1系统流程图 (3)2.2技术可行性分析 (4)2.3操作可行性分析 (4)2.4经济可行性分析 (4)2.5法律可行性 (4)第3章需求分析 (5)3.1MIS系统的产生和发展情况 (5)3.2系统功能需求分析 (5)3.3数据库需求分析 (7)3.3.1 实体分析 (7)3.3.2实体模型的关系分析 (7)3.3.3数据字典 (8)3.4系统的性能需求 (9)3.5运行环境需求 (11)3.6本章小节 (11)第4章系统的概要设计 (12)4.1系统功能模块设计 (12)4.2数据库设计 (13)4.2.1 数据层设计 (13)4.2.2系统E - R图 (14)4.2.3数据库模型设计 (14)I4.3本章小节 (15)第5章详细设计 (17)5.1开发工具简介 (17)5.1.1 Java编程语言简介 (17)5.1.2 Eclipse简介 (18)5.1.3 Spring简介 (18)5.1.4 Struts简介 (19)5.1.5 Hibernate简介 (20)5.1.6 MYSQL简介 (20)5.2系统登录模块设计 (20)5.3用户注册模块设计 (21)5.4用户个人信息修改模块设计 (23)5.5查询与订票模块设计 (24)5.6查询购物车和退票模块设计 (25)5.7管理员功能视图设计 (27)5.8航班制定模块设计 (27)5.9航班日程安排模块设计 (29)5.10管理员查询及交易模块设计 (30)5.11本章小结 (31)第6章系统测试 (32)6.1为什么进行系统测试 (32)6.2软件测试 (32)6.3基于W EB的系统测试 (34)6.4本章小结 (34)第7章系统主要功能说明 (35)7.1用户注册 (35)7.2系统登录 (35)7.3个人信息修改 (36)7.4订票 (36)7.5查看订单及退票 (37)7.6航班制定 (37)7.7航班日程安排 (39)7.8交易管理 (39)II结论 (40)致谢 (41)参考文献 (42)附录1 (43)中文译文 (43)附录2 (47)英文原文 (47)附录3 程序源代码 (52)III第1章绪论1.1系统背景当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计学院计算机专业计算机科学与技术班级学号姓名指导教师左亚饶(2013年1 月)目录一、需求分析 (3)二、概念结构设计 (4)三、逻辑结构设计 (4)四、数据库设计实现及运行 (5)五、系统实现主要模块描述以及关键代码 (18)七、心得与体会 (23)一、需求分析1)、问题描述:航空订票管理系统主要是为机场、航空公司和客户三方服务。
航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有查询航班路线和剩余票数,以及网上订票等功能。
客户可以分为两类:一类是普通客户,对于普通客户只有普通的查询功能和订票功能没有相应的票价优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。
机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。
2)、系统功能描述:航班查询:根据用户输入的“起飞机场”和“降落机场”信息找到符合要求的航班号,并显示相应的起飞时间、飞行里程、各舱等的余票情况、各舱等的票价情况。
供用户进行选择。
订票:根据用户输入的“所订航班号”和“订票乘客信息”,为用户查看该航班是否有余票:有则生成一条新的票务信息,根据该用户的积分情况制定票价,修改其积分里程;若已无余票,则将该乘客登机在侯票名单之中。
退票:根据用户输入的“所退票流水号”信息,修改订票乘客的积分信息,将相关的票务记录删除;并在侯票记录中找到符合航班要求的第一名乘客,为其办理订票服务,相关的修改其积分。
售票情况统计:统计每个航班的各个舱位等级的已售票数目,侯票数目。
积分功能:为每一个已订购的乘客记录其飞行里程积分,当积分达到一定程度后,为其提供打折的票价。
航班延误:当要延误一个航班时,找到已订购该航班的乘客,发送提示信息。
3)、有何安全性与完整性方面的要求:订票事务的原子性:每个乘客的订票过程是互斥执行的,防止有一张票卖给两个人的情况发生。
通过订票存储过程实现。
飞机、航班、票务的级联:当删除一个飞机,级联的删除该飞机所飞行的航班,以及订购了该航班的乘客订票。
通过触发器实现。
二、概念结构设计画出系统整体的E-R模型;并对模型中所出现的实体及属性等信息加以说明。
三、逻辑结构设计1)、模式设计:按系统整体E-R模型,写出关系模式;并利用数据字典加以描述。
航空公司表:(公司名称,公司网址);飞机表:(飞机号,机型,头等舱定额数,普通舱定额数,所属航空公司);航线表:(航线号,起飞机场,降落机场,飞行里程,所属航空公司);航班表:(航班号,执行飞机号,所飞航线号,头等舱票价,普通舱票价,起飞时间);乘客表:(乘客姓名,里程积分,E_mail);机票表:(机票流水号,所乘航班号,订票乘客姓名,所乘舱位等级,票价);侯票表:(所侯航班,侯票乘客姓名,所需舱位等级,乘客E_mail);除各主键外,其余各非主属性也为非空。
“头等舱定额数,普通舱定额数,飞行里程,机票流水号,票价,里程积分”为数值型,约束不能小于0,其余为字符型,舱位等级只能选“头等舱或普通舱”。
2)、子模式设计:即针对自己的设计模块的应用需定义什么样的视图表结构;并利用数据字典加以描述。
售票情况视图:(航班号,头等舱数目,头等舱已售出数目,头等舱侯票数目,普通舱数目,普通舱已售出数目,普通舱侯票数目)用于方便机场管理票务,统计各舱等的售票、须票情况。
航班选择视图:(航班号,起飞机场,降落机场,飞行里程,头等舱票价,头等舱是否有票,普通舱票价,普通舱是否有票)提供航班飞行的基本情况,包括判断是否有票,以便选择订票。
票务信息视图:(机票流水号,订票乘客姓名,所订航班,所订舱等,票价,飞行里程)提供机票的相关信息,以便退票时事物处理。
四、数据库设计实现及运行1)、数据库的创建T-SQL语句:create database BookTicket_6222 on (name = N'BookTicket_6222_Data', filename = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\BookTicket_6222_Data.MDF' ,size = 1, filegrowth = 10%)log on (name = N'BookTicket_6222_Log', filename = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\BookTicket_6222_Log.LDF' ,size = 1, filegrowth = 10%)2)、数据表的创建(可同时在创建时定义相关的约束)T-SQL语句:create table Company (company_name varchar(20) constraint pk_cpy primary key,phone varchar(15) not null)create table Plane (plane_number varchar(10) constraint pk_pln primary key,plane_type varchar(20) not null,quota_f int not null,quota_s int not null,company_name varchar(20) constraint fk_cpforeign key references Company(company_name) on delete cascade)create table Line (line_number varchar(10) constraint pk_lne primary key,airport_s varchar(20) not null,airport_e varchar(20) not null,distance int not null,company_name varchar(20) constraint fk_clforeign key references Company(company_name) on deletecascade)create table Flight (flight_number varchar(10) constraint pk_flt primary key,plane_number varchar(10) constraint fk_pfforeign key references Plane(plane_number) on delete cascade, line_number varchar(10) constraint fk_lfforeign key references Line(line_number) on delete cascade, price_f int not null,price_s int not null,flydate varchar(20) not null)create table Passenger (passenger_name varchar(10) constraint pk_psg primary key,distances int not null,E_mail varchar(20) not null)create table Ticket (ticket_number int identity(1, 1) constraint pk_tkt primary key,flight_number varchar(10) constraint fk_ftforeign key references Flight(flight_number) on delete cascade, passenger_name varchar(10) constraint fk_ptforeign key references Passenger(passenger_name) on delete cascade,cabin varchar(10) constraint ch_cbn check(cabin = '头等舱' or cabin = '普通舱') not null,pay int constraint ch_pay check(pay>0) not null)create table Wait (passenger_name varchar(10) constraint fk_pwforeign key references Passenger(passenger_name) on delete cascade,flight_number varchar(10) constraint fk_fwforeign key references Flight(flight_number) on delete cascade, cabin_w varchar(10) not null,primary key (passenger_name, flight_number),E_mail varchar(20) not null)3)、视图的创建(仅需给出自己设计模块中所用的视图)T-SQL语句:--方便乘客进行航班查询的视图create view flight_cf (flight_number, count_f)asselect flight_number, count(ticket_number)from Ticket where cabin = '头等舱' group by flight_numbercreate view flight_cs (flight_number, count_s)asselect flight_number, count(ticket_number)from Ticket where cabin = '普通舱' group by flight_numbercreate view flight_wf (flight_number, wait_f)asselect flight_number, count(passenger_name)from Wait where cabin_w = '头等舱' group by flight_numbercreate view flight_ws (flight_number, wait_s)asselect flight_number, count(passenger_name)from Wait where cabin_w = '普通舱' group by flight_numbercreate view flight_q (flight_number, quota_f, quota_s)asselect Flight.flight_number, quota_f, quota_sfrom Flight left join Plane on Flight.plane_number = Plane.plane_numbercreate view book_info (flight_number, quota_f, count_f, wait_f,quota_s, count_s, wait_s)asselect flight_q.flight_number, quota_f, count_f, wait_f,quota_s, count_s, wait_sfrom flight_q left join flight_cf on flight_q.flight_number = flight_cf.flight_number left join flight_cs on flight_q.flight_number = flight_cs.flight_numberleft join flight_wf on flight_q.flight_number = flight_wf.flight_numberleft join flight_ws on flight_q.flight_number = flight_ws.flight_numbercreate view flight_choose (flight_number, airport_s, airport_e, distance, flydate, price_f, remain_f, price_s, remain_s)asselect Flight.flight_number, airport_s, airport_e, distance, flydate, price_f,remain_f = casewhen (quota_f - count_f) <= 0 then '无'else '有'end, price_s,remain_s = casewhen (quota_s - count_s) <= 0 then '无'else '有'endfrom Line, Flight, book_infowhere Line.line_number = Flight.line_number and Flight.flight_number = book_info.flight_numbercreate view ticket_info (ticket_number, passenger_name, flight_number, cabin, pay, distance)asselect ticket_number, passenger_name, Ticket.flight_number, cabin, pay, flight_choose.distancefrom Ticket left join flight_choose on Ticket.flight_number = flight_choose.flight_number4)、存储过程的定义实现(仅需给出自己设计模块中所用的)T-SQL语句:--订票create proc book_ticket@flight_number varchar (10), @passenger_name varchar (10), @cabin varchar(10), @E_mail varchar(20)asbeginbegin trandeclare @remain varchar(10), @pay float, @distance intif (@cabin = '头等舱')beginselect @remain = remain_f from flight_choose where flight_number = @flight_numberselect @pay = price_f from flight_choose where flight_number = @flight_number endelsebeginselect @remain = remain_s from flight_choose where flight_number = @flight_numberselect @pay = price_s from flight_choose where flight_number = @flight_number endselect @distance = distance from flight_choose where flight_number = @flight_numberif (@remain = '有')beginif (exists(select passenger_name from Passenger where passenger_name = @passenger_name))begindeclare @distances floatselect @distances = distances from Passenger where passenger_name = @passenger_nameif (@distances >= 200000)select @distances = 0.8else if (@distances >= 100000)select @distances = 0.9insert into Ticket (flight_number, passenger_name, cabin, pay)values (@flight_number, @passenger_name, @cabin, (@pay * @distances))update Passenger set distances = distances + @distance where passenger_name = @passenger_nameupdate Passenger set E_mail = @E_mail where passenger_name = @passenger_nameendelsebegininsert into Passenger (passenger_name, distances, E_mail)values (@passenger_name, @distance, @E_mail)insert into Ticket (flight_number, passenger_name, cabin, pay)values (@flight_number, @passenger_name, @cabin, @pay)endendelsebeginif (exists(select passenger_name from Passenger where passenger_name = @passenger_name))update Passenger set E_mail = @E_mail where passenger_name = @passenger_nameinsert into Passenger (passenger_name, distances, E_mail)values (@passenger_name, 0, @E_mail)insert into Wait (flight_number, passenger_name, cabin_w, E_mail)values (@flight_number, @passenger_name, @cabin, @E_mail)endcommit tranend--退票create proc cancel_ticket@ticket_number intasbeginbegin trandeclare @passenger_name varchar(10), @flight_number varchar(10), @cabin varchar(10), @distance int, @pay intselect @passenger_name = passenger_name from ticket_info where ticket_number = @ticket_numberselect @flight_number = flight_number from ticket_info where ticket_number = @ticket_numberselect @cabin = cabin from ticket_info where ticket_number = @ticket_number select @distance = distance from ticket_info where ticket_number = @ticket_number select @pay = pay from ticket_info where ticket_number = @ticket_numberupdate Passenger set distances = distances - @distance where passenger_name = @passenger_namedelete from Ticket where ticket_number = @ticket_numberif (exists(select top 1 * from Wait where flight_number = @flight_number and cabin_w = @cabin))select @passenger_name = passenger_name from Wait where flight_number = @flight_number and cabin_w = @cabininsert into Ticket (flight_number, passenger_name, cabin, pay) values (@flight_number, @passenger_name, @cabin, @pay)delete from Wait where passenger_name = @passenger_name and flight_number = @flight_numberupdate Passenger set distances = distances + @distance where passenger_name = @passenger_nameendcommit tranend在宿主语言中调用存储过程代码段(粘贴):public void executeProc (int ticket_number){try{con = DriverManager.getConnection(url);PreparedStatement cmd = con.prepareStatement("{call cancel_ticket(?)}");cmd.setInt(1, ticket_number);cmd.executeUpdate();}catch(Exception ex) {ex.printStackTrace();}}public void executeProc (String fn, String pn, String cb, String em){try{con = DriverManager.getConnection(url);PreparedStatement cmd = con.prepareStatement("{call book_ticket (?, ?, ?, ?)}");cmd.setString(1, fn);cmd.setString(2, pn);cmd.setString(3, cb);cmd.setString(4, em);cmd.executeUpdate();}catch(Exception ex) {ex.printStackTrace();}}5)、触发器的定义实现(仅需给出自己设计模块中所用的)T-SQL语句:--级联删除飞机所对应的航班create trigger pln_delon Planefor deleteasbeginbegin trandeclare @plane_number varchar(10)select @plane_number = deleted.plane_number from deleted delete from Flight where Flight.plane_number = @plane_number commit tranend--级联删除航线所对应的航班create trigger lne_delon Linefor deleteasbeginbegin trandeclare @line_number varchar(10)select @line_number = deleted.line_number from deleteddelete from Flight where Flight.line_number = @line_numbercommit tranend--级联删除航班所对应的票务create trigger flt_delon Flightfor deleteasbeginbegin trandeclare @flight_number varchar(10)select @flight_number = deleted.flight_number from deleteddelete from Ticket where Ticket.flight_number = @flight_numberdelete from Wait where Wait.flight_number = @flight_numbercommit tranend--延误航班时,触发对订票车功乘客的提示create trigger flt_updon Flightinstead of updateasbeginbegin trandeclare @flight_number varchar(10)select @flight_number = inserted.flight_number from insertedselect Ticket.passenger_name, E_mail from Ticket, Passenger whereTicket.passenger_name = Passenger.passenger_name and Ticket.flight_number = @flight_numbercommit tranend6)、自行设计各模块中所涉及的操作语句①、插入数据操作功能界面简单描述;根据用户输入的所订航班信息和订票乘客信息,为用户查看该航班是否有余票:有则插入票务信息,根据该用户的积分情况制定票价,修改其积分里程;若已无余票,则将该乘客登机在侯票名单之中。