航空订票系统设计:数据库需求与逻辑结构详解

0 下载量 96 浏览量 更新于2024-06-23 收藏 530KB DOC 举报
在本次数据库课程设计中,航空订票管理系统是一个面向航空业、机场和客户三方的信息化解决方案。该系统的主要目标是提升订票流程的效率和便利性,同时确保数据的安全性和完整性。 首先,需求分析阶段非常重要。系统需解决的问题包括:航空公司需管理航线、飞机信息,机场负责航班和机票管理,而客户则需查询航班信息、在线订票、享受积分优惠等。对于客户,区分普通用户和常旅客,后者需注册并享有额外的里程积分和优惠政策。系统还应具备应急处理能力,如航班延误时通知乘客。 安全性和完整性方面的要求十分严格。例如,为了防止同一张票被重复销售,系统采用订票事务的原子性原则,通过订票存储过程实现并发控制,确保交易的一致性。此外,采用级联删除机制,如删除一架飞机会自动删除与其相关的航班和乘客订票记录,确保数据的一致性。 概念结构设计阶段,设计了E-R模型,展示了系统的实体和属性关系。其中可能包含航空公司实体(公司名称和网址),航班实体(航班号、起飞和降落机场、航线信息等),乘客实体(姓名、联系方式、积分信息等),以及票务实体(票号、乘客信息、票价、余票状态等)。这些实体通过多对多或一对一的关系相互关联。 在逻辑结构设计上,根据E-R模型,将实体转换为关系模式,比如航空公司表(航空公司ID,公司名称,公司网址),航班表(航班ID,起飞机场,降落机场,航线信息,航班状态等),乘客表(乘客ID,姓名,联系信息,积分余额),以及票务表(票务ID,乘客ID,航班ID,座位等级,票价,余票数,购票状态等)。数据字典会详细列出每个字段的数据类型、长度、约束条件等,确保数据的一致性和准确性。 系统实现部分,关键代码和主要模块的描述将涉及数据库查询操作、事务管理、积分计算、消息通知等。系统可能会采用SQL语句来执行数据操作,以及使用数据库管理系统提供的事务处理功能来保障数据安全。例如,使用存储过程管理订票和退票操作,确保并发控制。 最后,作者将分享他们的心得体会,可能会涉及到项目开发中的挑战、解决方案,以及对数据库设计理论的实际应用理解。整个设计过程不仅锻炼了他们的编程技能,也加深了对数据库理论的理解。 这个航空订票管理系统是一个复杂且实用的项目,它整合了多个业务实体,通过数据库技术实现了信息共享和高效管理,充分体现了数据库在实际业务中的核心作用。
2023-02-27 上传
《数据库原理及应用》 课程设计报告 基于SQL Server2008设计与应用 姓 名: 班 级: 学 号: 指导老师: 目录 1 需求分析 2 1.1 系统功能 2 1.2 功能模块 2 1.3 数据字典 3 2 概念结构设计 6 2.1 系统E-R图 6 3.2 概念模型 8 3 逻辑结构设计 9 3.1 关系模型 9 3.2 物理模型 9 4 物理结构设计 10 4.1 确定数据库的存储结构 10 4.2 存取方法和优化方法 10 5.1 数据库的实施 11 5.2 数据的载入 12 5.3 数据库的试运行 13 6 系统功能的实现 16 6.1 功能实现 16 6.2 系统的运行结果 16 7 小结 22 1 需求分析 为了实现航空公司以及旅游行业的现代化管理,进一步提高工作效率,方便旅客,需 要开发一个机票预订系统。本系统主要针对旅客订票业务需求的管理,因此"航空订票管 理系统"的目标包括系统管理员以及需要订票的旅客。主要涉及航班、飞机、机场信息, 查票、订票信息,系统管理员信息,客户信息等多种数据信息。这个系统要求能够实现 实时,高效,便捷等特点。 1.1 系统功能 系统需要实现的具体功能如下: 机票信息管理——主要实现机票基本信息的显示和查询,在该功能模块中,点击预定可 以显示航空公司,飞机型号,起飞机场,降落机场,机舱类型,单程票价,往返票价以 及起飞时间,降落时间等基本信息的显示功能,在订单中,实现了客户姓名、联系方式 、证件号码等基本信息填写的功能; 建议和投诉信息管理——主要实现客户对机票价格以及业务服务的建议和评价; 系统管理员管理——主要实现接收系统功能区的相应信息后,启动相应的功能模块,对 系统进行登录管理,数据管理,订单管理等。 1.2 功能模块 根据"航空订票管理系统"功能的需求以及其特点,经过模块化的分析,得到如图1- 1所示的系统功能模块结构图。 图1-1 系统功能模块图 1.3 数据字典 1) 数据项 表1-1 客户信息表 "列名 "数据类型 "可否为空 "说明 " "客户编号 "int "不允许为空 "主键 " "客户住址 "nvarchar(MA"允许为空 " " " "X) " " " "身份证号 "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) "not null "主键 " "起飞地 "char(10) "null " " "目的地 "char(10) "null " " "起飞时间 "time "not null " " "到达时间 "time "not null " " "经济舱价格 "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"允许为空 " " " ") " " "