为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

数据库课程设计_网上订飞机票系统

2017-10-14 18页 doc 196KB 30阅读

用户头像

is_215732

暂无简介

举报
数据库课程设计_网上订飞机票系统数据库课程设计_网上订飞机票系统 学 号: 2010131115 网上订飞机票系统 题 目 计算机科学与信息工程学院 学 院 计算机科学与技术 专 业 一班 班 级 赵骏 学生姓名 康世瀛 指导教师 2012 年 6 月 5 日 重庆工商大学课程设计成绩评定表 学院: 计信学院 班级: 10计算机一班 学生姓名:赵骏 学号: 2010131115 中等 优秀 良好 及格 不及格(80>x?分评(100>x?90) (90>x?80) (70>x?60) 项目 (x<60) 70) 值 分 参考标准 参考...
数据库课程设计_网上订飞机票系统
数据库课程_网上订飞机票系统 学 号: 2010131115 网上订飞机票系统 题 目 计算机科学与信息工程学院 学 院 计算机科学与技术 专 业 一班 班 级 赵骏 学生姓名 康世瀛 指导教师 2012 年 6 月 5 日 重庆工商大学课程设计成绩评定表 学院: 计信学院 班级: 10计算机一班 学生姓名:赵骏 学号: 2010131115 中等 优秀 良好 及格 不及格(80>x?分评(100>x?90) (90>x?80) (70>x?60) 项目 (x<60) 70) 值 分 参考标准 参考标准 参考标准 参考标准 参考标准 学习态度认学习态度比较学习态度学习态度尚学习马虎, 真,科学作风认真,科学作尚好,遵守可,能遵守组纪律涣散,严谨,严格保风良好,能按组织纪律,织纪律,能按工作作风学习证设计时间并期圆满完成任基本保证期完成任务 不严谨,不15 态度 按任务书中规务书的任设计时间,能保证设定的进度开展务 按期完成计时间和各项工作 各项工作 进度 设计合理、理设计合理、理设计合理,设计基本合设计不合 论与计算论分析与计算理论分析理,理论分析理,理论分正确,实验数正确,实验数与计算基与计算无大析与计算据准确,有很据比较准确,本正确,实错,实验数据有原则错技术强的实际动手有较强的实际验数据比无大错 误,实验数水平能力、经济分动手能力、经较准确,有据不可靠,与实25 析能力和计算济分析能力和一定的实实际动手际能机应用能力,计算机应用能际动手能能力差,文力 文献查阅能力力,文献引用、力,主要文献引用、调强、引用合理、调查调研比较献引用、调查调研有调查调研非常合理、可信 查调研比较大的问合理、可信 较可信 题 有重大改进或有较大改进或有一定改有一定见解 观念陈旧 独特见解,有新颖的见解,进或新的创新 10 一定实用价值 实用性尚可 见解 结构严谨,逻结构合理,符结构合理,结构基本合内容空泛, 辑性强,层次合逻辑,文章层次较为理,逻辑基本结构混乱,论文 清晰,语言准层次分明,语分明,文理清楚,文字尚文字表达(计 确,文字流畅,言准确,文字通顺,基本通顺,勉强达不清,错别算 完全符合规范流畅,符合规达到规范到规范化要字较多,达书、50 化要求,书写范化要求,书化要求,书求;图纸比较不到规范图 工整或用计算写工整或用计写比较工工整 化要求;图纸) 机打印成文;算机打印成整;图纸比纸不工整撰写 图纸非常工文;图纸工整、较工整、清或不清晰 质量 整、清晰 清晰 晰 指导教师评定成绩: 指导教师签名: 年 月 日 目 录 一、引言………………………………………………………………(4) 1(课题背景……………………………………………………………(4) 2(课程设计目的…………………………………………………… (4) 3.课程设计任务………………………………………………………(4) 二、系统结构分析……………………………………………………(6) 1、需求分析……………………………………………………………(6) 2、功能模块图…………………………………………………………(6) 三、系统数据库设计…………………………………………………(8) 1、概念结构设计……………………………………………………(8) 2、逻辑结构设计……………………………………………………(11) 四、数据库表的建立…………………………………………………(13) 五、数据测试……………………………………………………… (15) 六、结束语 ………………………………………………………… (21) 1 引言 1.1课题背景 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。 机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。 1.2课程设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3课程设计任务 本课程设计任务是通过开发一个数据库机票预订系统,学习数据库系统的设计与开发, SQL 相关的软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下, 已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据 库的管理。 2系统结构分析 2.1需求分析 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,机票的预定也越显重要,航空公司为方便旅客出行,需开发一个机票预定系统。预定机票的旅客信息,包括姓名、性别、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。如果某方面出现问题,旅客可以持有效证件去飞机场退票。 经过综合分析,确定了机票预订系统主要包括以下功能: ) 航班信息管理功能 (1 主要实现航班的一些基本信息,航班编号、票价、起飞地、目的地、起飞时间的添加、修改、删除和查询。 (2) 机票信息管理功能 主要实现机票的一些基本信息,航班编号、座位号、座位信息、机票类型的添加、修改、删除和查询。 (3) 旅客信息管理功能 此模块的主要实现旅客一些基本信息,姓名、性别、联系方式、证件号码、的查询功能。 (4) 取票信息管理功能 此模块用于取票信息的管理,包括对航班基本信息,航班编号等,旅客基本信息,旅客姓名、座位号、取票时间的查询。 (5) 退票信息管理功能 此模块用于退票信息的管理,包括对订单号、旅客姓名、联系方式、证件号码的查询。 2.2功能模块图 (1) 根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。 机票预订系统 航机旅取退班票客票票信信信信信息息息息息管管管管管理理理理理模模模模模块 块 块 块 块 图2.1 机票预订系统功能模块示意图 (2) 取票信息管理模块的细化功能模块如图2.2所示。 取票信息管理 旅客基本信息查询 机票基本信息查询 图2.2 取票信息管理模块 (3) 退票信息管理模块的细化功能模块如图2.3所示。 取票信息管理 旅客基本信息查询 订单信息查询 图2.3 退票信息管理模块 3系统数据库设计 3(1 概念结构设计 根据需求分析抽象出信息结构,可得该系统的E-R图。 (1) 旅客E-R图,如图3.1所示。 性别 证件号码 码 联系方式 姓名 旅客 图3.1旅客E-R图 (2) 航班信息E-R图,如图3.2所示。 起飞地 起飞时间 目的地 航班编号 票价 航班信息 图3.2航班信息E-R图 (3) 机票信息E-R图,如图3.3所示。 座位号 息座位信 码 机票类型 航班编号 机票信息 图3.3机票信息E-R图 (4) 取票通知E-R图,如图3.4所示。 证件号码 旅客姓名 座位号 取票时间 航班编号 取票通知 图3.4取票通知E-R图 (5) 退票信息E-R图,如图3.5所示。 订单号 证件号码 码 联系方式 旅客姓名 退票信息 图3.5退票信息E-R图 根据分E-R图和需求分析,可得到总E-R图,如图3.6所示。 证件号码 码 旅客姓名 航班编号 性别 联系方式 订单号 姓名 旅客姓名 取票通知 退票信息 退票 购买 旅客 n 1 1 n m 座位号 证件号码 码 证件号码 购买 联系方式 取票时间 航班编号 n 起飞时间 航班信息 1 起飞地 包含 目的地 票价 n 机票信息 航班编号 机票类型 座位号 座位信息 码 图3.6系统总体结构E-R图 3(2 逻辑结构设计 (1) E-R图向关系模型的转换 将图3.6总体概念结构E-R图转化成关系模型。 退票信息(订单号,旅客姓名,联系方式,证件号码) 旅客(旅客姓名,证件号码,联系方式,性别) 航班信息表(航班号,票价,起飞地,目的地,起飞时间) 取票通知单(旅客姓名,取票时间,证件号码,航班号,座位号) 机票信息表(座位号,航班号,座位信息,机票类型) (2)数据模型的优化 将转化的关系模式进行优化,最终达到第三范式。 ? 确定数据依赖 退票信息(订单号,旅客姓名,联系方式,证件号码)根据这个关系写出数据依赖 订单号?旅客姓名,订单号?联系方式,订单号?证件号码 旅客(旅客姓名,证件号码,联系方式,性别) 旅客姓名?证件号码,旅客姓名?联系方式,旅客姓名?性别 航班信息表(航班号,票价,起飞地,目的地,起飞时间) 航班号?起飞地,航班号?票价,航班号?目的地,航班号?起飞时间 取票通知单(旅客姓名,取票时间,航班号,座位号) 旅客姓名?取票时间,旅客姓名?航班号,旅客姓名?座位号, 机票信息表(座位号,航班号,座位信息,机票类型) (座位号,航班号)?舱位类型,(座位号,航班号,座位信息)?机票类型 ?对各关系模式间数据依赖进行极小化处理,消除冗余 ?旅客姓名,订单号?联系方式,订单号?证件号码 订单号 旅客姓名?性别,旅客姓名?取票时间,旅客姓名?航班号,旅客姓名?座位号,旅客姓名?机票类型 航班号?起飞地,航班号?目的地,航班号?起飞时间 (座位号,航班号)?座位信息 ?看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解 最终分解成第三范式: (订单号,联系方式,证件号码)(订单号,旅客姓名)(旅客姓名,取票时间,性 别,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,票价)(航班号,起飞地,目的地,起飞时间) (3)数据库的结构 根据总体结构图设计机票预定系统基本表结构,其相应标的定义如下: 表3-1旅客信息系统的结构 字段名 数据类型 长度 约束 描述 passager name Varchar 50 主键 旅客姓名 id Varchar 不为空 证件号码 telephone number Varchar 不为空 联系方式 sex Varchar 50 不为空 性别 表3-2 退票信息系统的结构 字段名 数据类型 长度 约束 描述 order form Varchar 主键 订单号 passager name Varchar 50 不为空 旅客姓名 telephone number Varchar 不为空 联系方式 id Varchar 50 不为空 证件号码 表3-3 航班信息系统的结构 字段名 数据类型 长度 约束 描述 flight number Varchar 主键 航班号 take off place Varchar 50 不为空 起飞地 destination Varchar 50 不为空 目的地 flight time DateTime 不为空 起飞时间 price Int 不为空 票价 flight type Varchar 不为空 航班型号 表3-4取票通知单系统的结构 字段名 数据类型 长度 约束 描述 passager name Varchar 50 主键 旅客姓名 get ticket time DateTime 不为空 取票时间 flight number Varchar 不为空 航班号 seat number Varchar 不为空 座位号 flight ticket type Varchar 50 不为空 机票类型 表3-5 航班座位信息表 字段名 数据类型 长度 约束 描述 seat number Varchar 主键 座位号 flight number Varchar 不为空 航班号 seat message Varchar 50 不为空 座位信息 flight ticket type Varchar 50 不为空 机票类型 4.数据库表的建立 根据数据库的基本表结构分别建立六个基本表,这里给出具体的SQL语句如下。 (1)创建旅客信息表passager create table passager ( passager name varchar(50) primary key, id decimal not null, telephone number decimal not null, sex varchar(50) not null ); 退票信息表cancellations_message (2)创建 create table cancellations_message ( order form decimal primary key, passager name varchar(50) not null, telephone number decimal not null, id varchar(50) not null ); (3)创建航班信息表flight_message create table flight_message ( flight number decimal primary key, take off place varchar(50) not null, destination varchar(50) not null, flight time time not null, flight type decimal not null, price int not null ); (4)创建取票通知表ticket_message create table get ticket_message ( passager name varchar(50) primary key, get ticket time time not null, flight number decimal not null, seat number decimal not null,, flight ticket type varchar(50) not null ); (5)创建座位信息表flight_seat_message create table flight_seat_message ( seat number decimal primary key, flight number decimal not null, seat message varchar(50) not null, flight ticket type varchar(50) not null ); 4.数据测试 --passager表 --查询所有的乘客信息 select * from passager --查询所有男乘客的信息 select * from passager where sex='男' --计算总的乘客数 select count(*) 乘客数from passager --定义视图,显示乘客名为张心的电话号码 create view passager_view as select telephonenumber from passager where passagername='张心' select * from passager_view --定义游标,利用游标选取所有的女乘客,并逐行显示游标中的信息 declare passager_info cursor for select * from passager where sex='女' open passager_info select 'cursor内数据条数'=@@cursor_rows fetch next from passager_info while (@@fetch_status<>-1) begin select 'cursor读取状态'=@@fetch_status fetch next from passager_info end close passager_info deallocate passager_info -- cancellation_message --查询所有的退票信息表信息 select * from cancellation_message --查询orderform为的信息 select * from cancellation_message where orderform='0003' --查询passagername为张三退票信息 select * from cancellation_message where passagername='张三' --flight_message --查询所有的航班信息 select * from flight_messages --查询航班号为K001的起飞地点、目的地、的价格 select flightnumber,take_off_place,destination,price from flight_messages where flightnumber='K001' --查询起飞地为重庆,目的地为深圳的航班信息 select * from flight_messages where take_off_place='重庆' and destination='深圳' --定义游标,利用游标选取所有目的地为昆明的航班信息,并逐行显示游标中的信息 declare flight_info cursor for select * from flight_messages where destination='昆明' open flight_info select 'cursor内数据条数'=@@cursor_rows fetch next from flight_info while (@@fetch_status<>-1) begin select 'cursor读取状态'=@@fetch_status fetch next from flight_info end close flight_info deallocate flight_info --get_ticket_messages --查询所有取票通知表的信息 select * from get_ticket_messages --查询姓名为李四的乘客的取票通知表 select * from get_ticket_message where passagername='李四' --定义游标,利用游标选取乘客名为王灿的订票信息,并逐行显示游标中的信息 declare get_ticket_info cursor for select * from get_ticket_message where passagername='王灿' open get_ticket_info select 'cursor内数据条数'=@@cursor_rows fetch next from get_ticket_info while (@@fetch_status<>-1) begin select 'cursor读取状态'=@@fetch_status fetch next from get_ticket_info end close get_ticket_info deallocate get_ticket_info --flight_seat_message --查询所有的座位信息表 select * from flight_seat_message --查询flightnumber为 的座位信息 select * from flight_seat_message where flightnumber='K001' 5.结束语 经过两周的努力,本次课程设计终于完成了。通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程。通过这次课程设计,我明白了理论与实际应用相结合的重要性,掌握并熟练运用SQL语句以及VB 的应用,提高了我的综合运用所学知识的能力。 在本次课程设计和过程中,由于时间不是很长,再加上要求独立完成,系统需求分析上可能不是很全面,程序中还存在很多缺,希望老师能给予批评和指导。经过这次课程设计,我的知识得到了很大提高,经验也更加丰富。希望能在今后的不断的学习中和努力中,把程序做得更好。最后,感谢指导老师所给我的帮助。 参考文献 [1] 陈艳峰,高文姬,邵蕴秋(《Visual Basic数据库项目案例导航》(北京:清华大学出版社,2004 [2] 尹建民,张海卿 著(《Visual Basic.NET入门与进阶》(北京:清华大学出版社,2004 [3] 郑阿奇,顾韵华,黄群 著(《Visual Basic实用教程》(北京:电子工业出版社,2004 [4] 王珊,陈红(《数据库系统原理教程》(清华大学出版社,1998,7
/
本文档为【数据库课程设计_网上订飞机票系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索