收藏 分享(赏)

民航订票系统开发.doc

上传人:文档投稿赚钱 文档编号:1471245 上传时间:2018-07-20 格式:DOC 页数:49 大小:1.31MB
下载 相关 举报
民航订票系统开发.doc_第1页
第1页 / 共49页
民航订票系统开发.doc_第2页
第2页 / 共49页
民航订票系统开发.doc_第3页
第3页 / 共49页
民航订票系统开发.doc_第4页
第4页 / 共49页
民航订票系统开发.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、- -攀枝花学院学生课程设计(论文)题 目: 民航订票系统开发 学生姓名: 学 号: 201310801001 所在院(系) : 数学与计算机学院 专 业: 计算机科学与技术 班 级: 2013 级计算机科学与技术 指 导 教 师: 职称: 讲师 2015 年 6 月 25 日攀枝花学院教务处制数据库课程设计 任务书- -攀枝花学院本科学生课程设计任务书题 目 民航订票管理系统开发1、课程设计的目的使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小

2、型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)(1)航班信息管理:每个航班基本信息的录入、修改与删除。 (2)航班坐位信息管理:每个航班坐位信息的录入、修改与删除。 (3)机票预定管理:输入旅客基本信息,系统为旅客安排航班,打印取票通知和帐单;(4)退订机票管理:对退订机票信息进行判断、录入、修改与删除。 (5)查询信息:能够查询每个航班的基本信息、预定情况、旅客的基本信息等。(6)统计信息:计算每个航班的满座率,统计旅客的乘坐次数数、乘坐总金额等。3、主要参考文献1张莉

3、 SQL SEVER 数据库原理及应用 2萨师煊 王珊著 .数据库系统概论第三版.高等教育出版社3施伯乐 丁宝康 汪卫.数据库系统教程 高等教育出版社 2003 年第 2 版4庄成三等.数据库系统原理及其应用.电子工业出版社4、课程设计工作进度计划第 1 天 :选题、完成需求分析第 2 天 :数据库概念结构设计第 3 天:数据库逻辑结构设计及物理实现第 4 天:应用程序开发第 5 天: 程序调试分析和结果、编写课程设计报告指导教师(签字) 日期 年 月 日教研室意见:年 月 日学生(签字): 接受任务时间: 年 月 日数据库课程设计 任务书- -注:任务书由指导教师填写。数据库课程设计 成绩评

4、定- -课程设计(论文)指导教师成绩评定表题目名称 民航订票管理系统开发评分项目 分值 得分 评价内涵01 学习态度 6 遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02 科学实践、调研 7 通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。工作表现20% 03 课题工作量 7 按期圆满完成规定的任务,工作量饱满。04 综合运用知识的能力 10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05 应用文献的能力 5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识

5、的能力。06 设计(实验)能力,方案的设计能力 5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07 计算及计算机应用能力 5 具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。能力水平35%08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10 具有较强的数据收集、分析、处理、综合的能力。09插图(或图纸)质量、篇幅、设计(论文)规范化程度5 符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10 设计说明书(论文)质量 30 综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确

6、,分析处理科学。成果质量45% 11 创新 10 对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年 月 日数据库课程设计 摘要 - -摘要随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费着也越来越多。预定查询系统因此在各机票预定网点中的作用也越显重要 伴随着人们更多的使用飞机作为交通工具,国内机票票务市场也在快速发展。据预测,我国 2006 年机票票务市场将比 2005 年增长 10.5%,达 710 亿元人民币。而与此同时,人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注,于是,传统的

7、购票方式开始面临变革。数据库课程设计 目录 - -目 录一、概念结构设计阶段 .91.1 概念结构设计的目标 .91.2 具体任务 .101.3 阶段结果 .10二、逻辑结构设计阶段 .142.1 逻辑结构设计阶段的任务和目标 .142.2 数据组织 .152.2.1 将 E-R 图转换为关系模型 152.2.2 数据库模式定义 .162.2.3 用户子模式定义 .162.2.4 数据处理 .17三、物理设计阶段 .183.1 物理阶段设计的目标 .183.2 物理阶段设计的任务 .183.3 数据存储方面 .20四、 数据库实施阶段 .204.1 数据库实施阶段的目标 .204.2 数据库实

8、施阶段的任务 .214.3 数据库实施阶段结果 .23五、数据库测试与调试 .24六、总结 .24附录一、 数据操纵验证 .25一、定义视图验证如下: .25二、相关的 SQL 语句测试 .27附录二、 建立存储过程 .32附录三、 数据库逻辑结构定义 .37附录四、前台程序设计数据库课程设计 概念结构设计阶段 01. 概念结构设计阶段1.1. 概念结构设计的目标概念设计阶段是进行数据库设计的关键阶段,它是将需求阶段得到的用户需求抽象为信息世界的结构,并能更好的、更准确的用某一 DBMS 实现这些需求,主要通过 E-R 模型来描述,将需求分析阶段的设计真实的、充分的反应出来,包括事物和事物之间

9、的联系,能满足用户对数据处理的要求,将现实世界的需求通过一个个真实模型表现出来。1.2.具体任务1选择中层数据流为切入点,通常选择实际系统中的子系统;2设计分 E-R 图,即各子模块的 E-R 图;3生成初步 E-R 图,通过合并方法,做到各子系统实体、属性、联系统一;4生成全局 E-R 图,消除冲突。1.3.阶段结果1. 各实体及属性:实体是客观存在并可相互区分的事物,它可以是具体的人、物、事,也可以是抽象的概念关系,属性是某一实体所具有的某一特性,一个实体可以由若干个属性来刻画。本系统的实体及其属性如下图所述:数据库课程设计 概念结构设计阶段 12. 各分 E-R 图:E-R 图主要是能更

10、清晰的表达现实世界的信息,它提供了表示实体型、属性和联系的方法。【分 ER 图-航空公司业务】数据库课程设计 概念结构设计阶段 3【分 ER 图-制定航班业务】【分 ER 图-航班提供票业务】【分 ER 图-客户订阅机票业务】3. 各分 ER 图中每个实体的属性。4. 合并各分图,消除各类冲突,得到初步 E-R 图,再消除不必要冗余,得到的基本 E-R 图。具体实现如下:1).消除冲突合并分 E-R 图时并不能简单地将各个分 E-R 图画到一起,而是必须着力消除各个分 E-R 图中的不一致,以形成一个能为全系统中所有的用户共同理解和接受的统一的概念模型。合并分 E-R 图的主要工作与关键是合理

11、消除各分 E-R图的冲突,冲突主要有三类:属性冲突、命名冲突和结构冲突。2).消除冗余在 E-R 图中,可能存在一些冗余的数据和实体间的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应予以消除。但并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。消除冗余主要采用分析法和规范化理论。经过以上分析,将所有的分 E-R 图综合成一个系统的总 E-R 图:数据库课程设计 逻辑结构设计阶段 4【业务总 ER 图】合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步 E-R 图,再消除不必要冗余,得到的基本总 E-R 图如下所示

12、:【业务总 ER 图】每个实体属性解释如下:航空公司:AC(ANO, ANAME,AAD,ACN)客户: CU(CNO,CNAME,CAD,CAG)飞机: PL(PNO,PTNO,SNO)航线: LI(LNO,SP,EP,DIS)航班: FL(FNO,FT)机票: BT(BNO,SPAY)数据库课程设计 逻辑结构设计阶段 52. 逻辑结构设计阶段2.1 逻辑结构设计阶段的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的 DBMS 产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本 E-R 图转换为选用 DBMS 产品所支持的数据模型相符合的逻辑结

13、构。具体内容包括数据组织(将 E-R 图转换成关系模型、模型优化、数据库模式定义、用户子模式设计) 、数据处理(画出系统功能模块图)两大任务。(1)将 ER 图转化为关系。(2)对关系进行优化组织。2.2 数据组织2.2.1 将 E-R 图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个 m:n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。如果转换为一个独立的关系模式

14、,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为 n 端实体的码。一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同码的关系模式可合并。1. 航空公司与飞机,航空公司与航线都是一对多的关系,则与 N 端关系模式合并,所以飞机,航线的表中都含有航空公司的信息,2. 机场根据飞机与航线制定航班,属于多对多的关系,取个实体的码以及联系本身的属性转化为关系的属性,而关系的码为各实体

15、码的组合。即航班的表中包含飞机的信息和航线的信息,共同构成航班关系的外码。数据库课程设计 逻辑结构设计阶段 63. 客户订阅航班的关系同样也是一对多的联系,将其转化为独立的关系模式,关系的属性包含两端的主码构成外码。对关系模式 AC,CU,PL,LI,FL,BT 进行优化设计,使之满足 3NF 的要求,即不存在部分函数依赖和传递函数依赖,减少数据的冗余。所以根据 ER 图,转化的关系如下所示:航空公司:(公司编号、公司名称、公司地址、公司联系方式)客户:(客户编号、客户姓名、家庭住址、客户年龄)飞机:(飞机编号、飞机型号、座位数,公司编号)航线:(航线编号、起点、终点、里程,公司编号)航班:(

16、航班编号、航班时间、飞机编号,航线编号)订票:(订票编号、所付票价,客户编号,航班编号)【别名表示】航空公司:AC (ANO, ANAME, AAD, ACN)客户: CU (CNO, CNAME, CAD, CAG)飞机: PL (PNO, PTNO, SNO, ANO)航线: LI (LNO, SP, EP, DIS, ANO)航班: FL (FNO, FT, PNO, LNO)机票: BT (BNO, SPAY, CNO, FNO)2.2.2 数据库模式定义数据库模式定一主要包括各模式的逻辑结构定义、关系的完整性和安全性等内容。一个关系模式应当是一个五元组 R,而一般只将其看作一个三元组

17、 R。 (关系模式图参考附录 1)表 2-1 数据库模式定义表编号 逻辑结构(基本表)定义 完整性和安全性T-1 AC(详见附录 3) (详见附录 3)T-2 CU(详见附录 3) (详见附录 3)T-3 PL(详见附录 3) (详见附录 3)数据库课程设计 逻辑结构设计阶段 7T-4 LI(详见附录 3) (详见附录 3)T-5 FL(详见附录 3) (详见附录 3)T-6 BT(详见附录 3) (详见附录 3)2.2.3 用户子模式定义 将概念模型转换为全局逻辑模型后,还应该根据用户的习惯和需求设计符合局部用户需要的外模式用户子模式定义即就是视图定义,可以利用视图的设计定义符合局部用户需要

18、的用户外模式,本系统的用户自模式定义如下表所示:表 2-2 视图定义表编号 用户子模式 作用(提供数据保密和安全保护机制)V-1 Customervier 便于查询和修改客户信息V-2 Planeview 便于查询和修改飞机信息V-3 Lineview 便于查询和修改航线信息V-4 Fightview 便于查询和修改航班的信息V-5 Bookticketview 便于查询和修改订票信息2.2.4 数据处理系统共分为以下几个模块:机场管理子系统,客户子系统,客户订票子系统,客户查询子系统。查询子系统又分为查询机票,查询航班,查询飞机等功能。所以系统功能模块图如下所示:2-3 民航订票管理系统功能

19、图数据库课程设计 物理设计阶段 83. 物理设计阶段3.1 物理阶段设计的目标物理设计阶段的目标是根据 SQL Server2000 具体的功能,设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间最小,存储空间利用率高,事务吞吐量大。3.2 物理阶段设计的任务物理设计阶段为逻辑数据模型选取得一个最合适应有环境的物理结构的过程,也就是数据库的物理设计。数据库的物理设计通常分为两个步骤:1.确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;2.对物理结构进行评价,评价的重点是时间和空间效率。(1)数据存储方面:在数据库中为各表建立索引(2)系统功能模块:本系统主要包括三个子

20、系统模块,分别为航空公司管理子系统模块、客户查询信息子系统和订票信息子系统模块以及客户信息子系统模块。主要实现如下图所示:图 4-1 机场管理信息子模块图数据库课程设计 物理设计阶段 9图 4-1 表示航空公司主要对飞机和航线信息做出更新操作,包括增加飞机信息,删除飞机信息和修改飞机信息以及相应的更新航线信息,并将更新后的数据保存,以便查询。 图 4-2 客户查询信息子系统模块图图 4-2 表示客户查询相关信息的功能模块,根据客户的要求,提供航班、飞机、机票信息供客户查阅。图 4-3 订票更新子功能模块图图 4-3 订票信息更新模块图表示订票处对订票信息的更新操作,包括对其数据库课程设计 物理

21、设计阶段 9增数据库课程设计 物理设计阶段 10加,删除,修改等操作,并将更新后的结果保存,以便方便查询。图 4-4 客户子系统功能模块图3.3 数据存储方面为数据库中各基本表建立的索引如下:1. 由于基本表 CU 的主码 CNO 经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑属性上建立唯一性索引;2. FL 的主码 FNO,在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑属性上建立唯一性索引;3. 基本表 AC 的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;数据库课程设计 数据库实施阶段 124. 数据库实施阶段4.1 数据库实施阶段的目标通过用 DB

22、MS 所提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果描述出来,成为 DBMS 可以接受的源代码,在经过调试后生成目标模式。4.2 数据库实施阶段的任务1.建立数据库CREATE DATABASE MAB2.建立数据表(1)建立航空公司表CREATE TABLE AC(ANO CHAR(10) PRIMARY KEY,ANAME CHAR(20) NOT NULL,AAD CHAR(20),ACN CHAR(20)(2)建立客户表CREATE TABLE CU(CNO CHAR(10) PRIMARY KEY,CNAME CHAR(20) NOT NULL,CAD CHAR(2

23、0),CAG INT)(3)建立飞机信息表CREATE TABLE PL(PNO CHAR(10) PRIMARY KEY,PTNO CHAR(10),SNO INT,ANO CHAR(10),FOREIGN KEY(ANO) REFERENCES AC(ANO)(4)建立航线表CREATE TABLE LI(LNO CHAR(10) PRIMARY KEY,SP CHAR(20),EP CHAR(20),DIS INT,数据库课程设计 数据库实施阶段 12ANO CHAR(10),FOREIGN KEY(ANO) REFERENCES AC(ANO)(5)建立航班信息表CREATE TABL

24、E FL(FNO CHAR(10) PRIMARY KEY,FT DATETIME NOT NULL,PNO CHAR(10),LNO CHAR(10),FOREIGN KEY (PNO) REFERENCES PL(PNO),FOREIGN KEY (LNO) REFERENCES LI(LNO)(6)建立机票表CREATE TABLE BT(BNO CHAR(10) PRIMARY KEY,SPATY INT,CNO CHAR(10),FNO CHAR(10),FOREIGN KEY (CNO) REFERENCES CU(CNO),FOREIGN KEY (FNO) REFERENCES

25、 FL(FNO)3、建立视图goCREATE VIEW A1(CNO,CNAME,BNO,SPATY)ASSELECT CU.CNO,CNAME,BNO,SPATYFROM CU,BTWHERE CU.CNO=BT.CNOgogoCREATE VIEW A2ASSELECT *FROM PLgogoCREATE VIEW A3ASSELECT *FROM LIGo数据库课程设计 数据库实施阶段 12goCREATE VIEW A4(FNO,FT,SP,EP,DIS)ASSELECT FNO,FT,SP,EP,DISFROM LI,FLWHERE FL.LNO=LI.LNOGogoCREATE

26、VIEW A5(BNO,FNO,FT,SP,EP,DIS,SPATY)ASSELECT BNO,BT.FNO,FT,SP,EP,DIS,SPATYFROM BT,LI,FLWHERE BT.FNO=FL.FNO ANDLI.LNO=FL.LNOgo4、建立索引CREATE UNIQUE INDEX A ON AC(ANO DESC) CREATE UNIQUE INDEX C ON CU(CNO DESC)CREATE UNIQUE INDEX P ON PL(PNO)CREATE UNIQUE INDEX L ON LI(LNO)CREATE UNIQUE INDEX F ON FL(FNO

27、)CREATE UNIQUE INDEX B ON BT(BNO)5. 数据库入库系统包括客户信息管理、飞机信息管理、航线信息管理、订票系统管理等四大功能模块,共有 6 张基本表,牵涉到大量数据的录入,又由于时间限制,采用事先在 Excel 中录入数据,然后使用 SQL Server 2000 数据导入/导出向导功能,直接将数据导入到相应的基本表中。当然,附录中也给出了各个基数据库课程设计 数据库测试与调试 14本表插入元组的存储功能。6、建立相关的存储过程系统共建立了 7 个存储过程相应信息如下所示:表 3.1 创建的存储过程列表:编号 存储过程名称 定义 作用P-1 INCU 详见附录 2

28、-1 在客户表中插入一条客户的信息P-2 CU_BT 详见附录 2-2 查询任意客户的订票信息P-3 PL_IN 详见附录 2-3 新插入一条飞机信息P-4 LZ_LI 详见附录 2-4 查询起点的航线信息P-5 DL_CU 详见附录 2-5 建立删除客户信息的存储过程P-6 PL_SE 详见附录 2-6 查询一由任意公司生产的任意飞机信息P-7 PRI 详见附录 2-7 输入起点和终点,显示出相应的票价4.3 数据库实施阶段结果1. 关系模式说明2. 数据定义语句(见附录 1)数据库课程设计 数据库测试与调试 156. 数据库测试与调试测试与调试主要是对数据库应用程序的实际运行,以及执行对数

29、据的各种操作,测试应用程序功能是否满足设计要求,如果不满足,则要对应用程序部分进行修改和调整,直到达到设计要求为止。数据库课程设计 总结 167. 总结通过本次民航订票系统开发与测试,从开始的系统需求分析、概念设计、逻辑设计、物理设计,再到数据库实施、系统的测试和调试,都是自立完成,能做出的系统的大概框架,并没有开发出具体应用的软件和界面,但对于项目(系统)开发的大致流程有了一定的了解,为以后的系统的开发打下了良好的基础。同时加深了对 SQL SERVER 2000 的了解,基本能够在相应的环境下组织SQL 语句和存储过程。数据库课程设计 附录一、数据操纵实验17附录一、 数据操纵验证一、定义

30、视图验证如下:1 建立客户订票信息的视图GOCREATE VIEW A1(CNO,CNAME,BNO,SPATY)AS SELECT CU.CNO,CNAME,BNO,SPATYFROM CU,BTWHERE CU.CNO=BT.CNOGO2 建立飞机信息视图GOCREATE VIEW A2AS SELECT *FROM PLGO3 建立航线信息视图GOCREATE VIEW A3AS SELECT *FROM LIGO4 建立航班全程信息视图GOCREATE VIEW A4(FNO,FT,SP,EP,DIS)AS SELECT FNO,FT,SP,EP,DISFROM LI,FLWHERE

31、FL.LNO=LI.LNOGO5 建立机票完整信息的视图GOCREATE VIEW A5(BNO,FNO,FT,SP,EP,DIS,SPATY)AS SELECT BNO,BT.FNO,FT,SP,EP,DIS,SPATYFROM BT,LI,FLWHERE BT.FNO=FL.FNO ANDLI.LNO=FL.LNOGO数据库课程设计 附录一、数据操纵实验186每次航班的总机票数的视图SELECT FNO,COUNT(BNO)FROM BTGROUP BY FNO 数据库课程设计 附录一、数据操纵实验19二、相关的 SQL 语句测试1.查询订票的客户信息SELECT CU.CNO,CNAME

32、,BNO,SPATYFROM CU,BTWHERE CU.CNO=BT.CNO2、查询航班的座位数SELECT FNO,SNO FROM FL,PL WHERE FL.PNO=PL,PNO数据库课程设计 附录一、数据操纵实验203、插入客户信息INSERT INTOCUVALUES (010,李华,四川内江,23)4.插入飞机信息INSERT INTOPLVALUES (010,TY-76,280,5)数据库课程设计 附录一、数据操纵实验215、删除飞机信息DELETEFROM PLWHERE PNO=0106、修改航线信息UPDATE LISET SP=海口,EP=泉州,DIS=900WHE

33、RE LNO=201数据库课程设计 附录一、数据操纵实验227、统计平均票价SELECT AVG(SPAY)FROM BT8、查询从长沙始发的航班号和时间SELECT FNO,FTFROM FL,LIWHERE FL.LNO=LI.LNO ANDSP=长沙9、查看航空公司的所有信息SELECT *FROM AC10、查询以兰州为始发点的航班信息SELECT SP,EP,PTNO,FNO,FTFROM PL,FL,LIWHERE FL.PNO=PL.LNO AND LI.LNO=FL.LNO AND SP=重庆数据库课程设计 附录一、数据操纵实验22附录二、 建立存储过程1. 在客户表中插入一条客户的信息CREATE PROCEDURE INCUP_CNO CHAR(10),P_CNAME CHAR(20),P_CAD CHAR(20),P_CAG INTASINSERT INTO CUVALUES(P_CNO,P_CNAME,P_CAD,P_CAG)exec INCU 011,李艳,西固区,222. 查询任意客户的订票信息CREATE PROCEDURE CU_BTCU_CNAME CHAR(20)AS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报