机票预订系统课程设计.docx

上传人:b****5 文档编号:14675800 上传时间:2023-06-26 格式:DOCX 页数:29 大小:277.41KB
下载 相关 举报
机票预订系统课程设计.docx_第1页
第1页 / 共29页
机票预订系统课程设计.docx_第2页
第2页 / 共29页
机票预订系统课程设计.docx_第3页
第3页 / 共29页
机票预订系统课程设计.docx_第4页
第4页 / 共29页
机票预订系统课程设计.docx_第5页
第5页 / 共29页
机票预订系统课程设计.docx_第6页
第6页 / 共29页
机票预订系统课程设计.docx_第7页
第7页 / 共29页
机票预订系统课程设计.docx_第8页
第8页 / 共29页
机票预订系统课程设计.docx_第9页
第9页 / 共29页
机票预订系统课程设计.docx_第10页
第10页 / 共29页
机票预订系统课程设计.docx_第11页
第11页 / 共29页
机票预订系统课程设计.docx_第12页
第12页 / 共29页
机票预订系统课程设计.docx_第13页
第13页 / 共29页
机票预订系统课程设计.docx_第14页
第14页 / 共29页
机票预订系统课程设计.docx_第15页
第15页 / 共29页
机票预订系统课程设计.docx_第16页
第16页 / 共29页
机票预订系统课程设计.docx_第17页
第17页 / 共29页
机票预订系统课程设计.docx_第18页
第18页 / 共29页
机票预订系统课程设计.docx_第19页
第19页 / 共29页
机票预订系统课程设计.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

机票预订系统课程设计.docx

《机票预订系统课程设计.docx》由会员分享,可在线阅读,更多相关《机票预订系统课程设计.docx(29页珍藏版)》请在冰点文库上搜索。

机票预订系统课程设计.docx

机票预订系统课程设计

内蒙古科技大学

数据库原理及应用》课程设计说明书

题目:

机票预订系统学生姓名

学号:

专业:

计算机科学与技术

班级:

4班

指导教师:

余金林

内蒙古科技大学课程设计任务书

课程名称

数据库课程设计

设计题目

机票预订系统(题目等级60)

指导教师

余金林时间15周-16周

一、教学要求1.从附录一中选择一个题目进行数据库应用系统设计。

2.功能设计:

用VisualFoxPro,VisualBasic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。

所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。

设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。

(本项实际系统设计与实现可选,但必须有功能设计过程)

3.数据库的设计:

根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:

概念结构设计的E-R图数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码);确定表之间的关联(一对一、一对多、多对多)运用数据库理论确定每个表至少属于3NF。

二、设计资料及参数1、订单编号2、航班编号、出发地、目的地、出发时间到达时间3、机票编号、座位号、机舱等级

4、旅客编号、姓名、性别、身份证号三、设计要求及成果

1.按照数据库应用系统设计步骤进行数据库结构设计。

2.使用开放工具及数据库管理系统开放应用系统(可选)。

3.书写论文(具体要求见论文模板)。

四、建议参考资料《数据库系统教程》(第三版)施伯乐等著高等教育出版社

内蒙古科技大学课程设计任务书2

目录2

第一章绪论

错误!

未定义书签。

课题简介

3

设计目的

3

设计内容

4

第二章需求分析

4

需求分析的任务

4

需求分析的过程

4

数据字典与流程图

7

第三章ER模型图

10

实体属性图

10

总体ER模型图

13

第四章逻辑结构设计

14

E-R图向关系模型的转换

14

数据模型的优化

14

第五章功能实现

15

查询功能的实现

15

多条件查询功能的实现

15

添加功能的实现

16

删除功能的实现

16

更改功能的实现

17

视图的建立

18

第六章源代码

18

第七章总结

18

第八章参考文献

23

附录23

第一章绪论课题简介随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。

而建立机票预定系统是一个很好的解决办法。

经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套机票预定管理系统,在下面的各章中,我将以这套机票预定系统信息系统为例,谈谈其开

发过程和所涉及到的问题。

设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

设计内容

选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解机票预定系统的构造以及购票人的信息还有机票的相关信息。

通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作。

需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图。

概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。

逻辑结构设计阶段要把E-R图转化为关系模式。

最后就是要运行和实施数据库。

第二章需求分析

需求分析的任务

调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。

最重要的是调查、收集信息、分析购票人信息和飞机预定流程。

处理要求、数据的安全性与完整性要求。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

需求分析的过程

航空公司为方便旅客,需开发一个机票预定系统。

为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。

旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。

如果某方面出现问题,旅客可以持有效证件去飞机场退票。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

经过综合分析,确定了机票预订管理系统主要包括以下功能:

(1)订单信息管理功能

主要是实现管理员对订票信息的管理,包括对航班基本信息如航班号、起飞地、目的地、起飞时间等,旅客基本信息如旅客姓名、性别、电话号码、身份证号、座位号、订票数量的添加、修改、删除和查询功能。

 

订单信息管理系统图2-1

旅客信息管理功能主要是实现管理员对旅客一些基本信息,如旅客姓名、性别、电话号码、身份证号的添加、修改、删除和查询功能。

 

旅客信息管理系统图2-2

(3)

航班号、起飞地、目的地、起飞时间的添

航班信息管理功能主要实现管理员对航班的一些基本信息,加、修改、删除查询和功能。

航班信息管理系统图2-3

(4)机票信息管理功能主要实现管理员对机票的一些基本信息,如航班号、座位号、座位信息、机票类型的添加、修改、删除和查询功能。

机票信息管理系统图2-4

(5)退票信息管理功能主要是实现管理员对退票信息的管理,包括对订单号、旅客姓名、电话号码、身份证号的添加、修改、删除和查询功能。

退票信息管理系统图2-5

数据字典与流程图

数据字典数据字典是用来规范描述数据具体内容的工具,也是对数据汇总分析的一个总结。

一般来说,可为每个数据建立一张二维表。

在本系统中,分别为旅客信息、旅客订票信息、航班机票信息、旅客与机票的联系、退票信息建立了数据字典,具体如表2-1到表2-6所示。

主键:

蓝色外键:

下划线表2-1订单信息的数据字典

字段名

描述

数据类型

长度

是否允许为空

Booking_Number

订单的编号

VARCHAR

50

Flight_Number

航班编号

VARCHAR

20

SeatNumber

座位编号

VARCHAR

50

Passenger_Number

旅客编号

VARCHAR

50

Ticket_Number

机票的编号

VARCHAR

50

Price

金额

VARCHAR

50

表2-2航班信息的数据字典

字段名

描述

数据类型

长度

是否允许为空

Flight-Number

航班编号

VARCHAR

50

TakeoffTime

起飞时间

VARCHAR

50

ArrtivalTime

到达时间

VARCHAR

50

Origin

出发地

VARCHAR

50

Destination

目的地

VARCHAR

50

FlightType

航班型号

VARCHAR

50

表2-3机票信息的数据字典

 

字段名

描述

数据类型

长度

是否允许为空

TicketNumber

机票编号

VARCHAR)

50

SeatNumber

座位号

VARCHAR

50

Price

价格

VARCHAR

50

TakeoffTime

出发时间

VARCHAR

50

Destination

目的地

VARCHAR

50

表2-4旅客信息的数据字典

字段名

描述

数据类型

长度

是否允许为空

Passenger_Number

旅客编号

VARCHAR

50

Passenger_Name

旅客姓名

VARCHAR

50

IDNumber

身份证号

VARCHAR

50

Sex

性别

VARCHAR

50

Telephone

电话

VARCHAR

50

表2-5旅客与机票信息的联系数据字典

字段名

描述

数据类型

长度

是否允许为空

Number

编号

VARCHAR

50

Ticket-Number

机票编号

VARCHAR

50

PassengerNumber

旅客编号

VARCHAR

50

 

表2-6退票信息的数据字典

字段名

描述

数据类型

长度

是否允许为空

OrderNumber

退票号

VARCHAR

50

TakeoffTime

时间

VARCHAR

50

BookingNumber

订单编号

VARCHAR

50

基本流程图

 

判断订

查询航

班信息

发售机票

选择所需航班信息

第三章ER模型图

实体属性图

载入信息

Y,继续进行下一步

航班管理系统

检索是否有余票

机票预订系统流程图2-6

旅客买到机票

NO.返回结束

 

订单号

机票信息

航班信息实体属性图3-2

机票信息实体属性图3-3

订单信息实体属性图3-1

编号旅客编号机票编号

客户与机票

客户与机票实体属性图3-4

编号旅客姓名身份证号性别联系电话

旅客信息

旅客信息实体属性图3-5

 

订单号

日期

 

 

退票信息

退票信息实体属性图3-7

 

总体ER模型图

 

第四章逻辑结构设计

E-R图向关系模型的转换订单信息(订单号,航班号,座位号,数量,类型)退票信息(订单号,旅客编号,时间)旅客信息(旅客编号,身份证号,姓名,性别,联系电话)航班信息表(航班编号,起飞地,目的地,起飞时间)

座位信息表(座位号,机票类型)数据模型的优化将转化的关系模式进行优化,最终达到第三范式。

1、确定数据依赖退票信息(订单号,旅客姓名,航班号)根据这个关系写出数据依赖订单号→旅客姓名,订单号→座位号,订单号→航班号旅客(旅客姓名,旅客编号,电话号,性别)旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别

航班信息表(航班号,起飞地,目的地,起飞时间)航班号→起飞地,航班号→目的地,航班号→起飞时间座位信息表(座位号,航班号,座位信息,机票类型)(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型对各关系模式间数据依赖进行极小化处理,消除冗余

订单号→旅客编号,订单号→座位号,订单号→机票编号,订单号→机票编号看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解

最终分解成第三范式:

(订单号,机票编号,机票类型)(订单号,旅客编号)(旅客编号,旅客姓名,性别)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)

功能实现查询功能的实现通过查询功能我们可以找到相关的信息USEMARKET

SELECT*FROMSeat

查询功能图5-1

多条件查询功能的实现

使用多条件查询功能可以增加查询的限制条件,这样可以使查询的结果更准

USEMARKET

SELECT*FROMPassengerWHERESex女=''ANDPassenger_Name='小青'

多条件查询功能图5-2添加功能的实现通过添加功能实现对数据的增加,录入需要的信息。

USEMARKET

INSERTINTOPassengerVALUES('00001','大卫','1234566','男','');

添加功能图5-3

删除功能的实现

可以实现对一些变更的信息删除,从而能够达到一定的效果

USEMARKET

DELETEFROMBooking_TicketWHEREBooking_Number='B00001'

删除功能图5-4

更改功能的实现

通过更改功能我们可以对其信息修改,比如机票座位类型,目的地等做相应的修改

USEMARKET

SELECT*FROMFlightWHEREFlight_Number=A01

UpdateFlight

SETDestination='呼和浩特'whereFlight_Number=A01

Where

SELECT*FROMFlightFlight_Number=A0

 

更改功能图5-5

视图的建立

视图就是创建一个可以实现添加创建的续表,从而实现效果

 

第六章源代码

建库:

createdatabase[MARKET]onprimary

name='ticket_db',

filename=数据库课程设计\',

size=5mb,

maxsize=30mb,

filegrowth=5%

logon

name='ticket',

filename=数据库课程设计\',

size=1mb,

maxsize=10mb,

filegrowth=10%

建表:

CREATETABLEBooking_Ticket/订单信息表的创建/

Booking_Numbervarchar(50)primarykey,/设置主键/Flight_Numbervarchar(50)notnull,

Seat_Numbervarchar(50)notnull,

Passenger_Numbervarchar(50)notnull,

Amountvarchar(50)notnull,

Pricevarchar(50)notnull,

Timevarchar(50)notnull,

);

USEMARKET

CREATETABLEFlight/航班信息表的创建/

Flight_Numbervarchar(50)primarykey,/设置主键/

akeoff_Timevarchar(50)notnull,

ArTrival_Timevarchar(50)notnull,

Flight_Timevarchar(50)notnull,

Originvarchar(50)notnull,

Destinationvarchar(50)notnull,

Flight_Typevarchar(50)notnull

);

USEMARKET

CREATETABLEPassenger/旅客信息表的创建/

Passenger_Numbervarchar(50)primarykey,/设置主键/

Passenger_Namevarchar(50)notnull,

ID_Numbervarchar(50)notnull,

Sexvarchar(50)notnull,Telephonevarchar(50)notnull);

USEMARKET

CREATETABLESeat/座位信息表的创建/

Seat_Numbervarchar(50)primarykey,/设置主键/

Seat_Typevarchar(50)notnull,

Ticket_Numbervarchar(50)notnull,

Destinationvarchar(50)notnull

);

USEMARKET

CREATETABLETicket

Ticket_Numbervarchar(50)primarykey,/设置主键/

Destinationvarchar(50)notnull,

Pricevarchar(50)notnull,

Takeoff_Timevarchar(50)notnull

Seat_Numbervarchar(50)notnull

);

USEMARKET

CREATETABLERelation/关系的创建/

Numbervarchar(50)primarykey,/设置主键/

Ticket_Numbervarchar(50)notnull,

Passenger_Numbervarchar(50)notnull,

);

USEMARKET

CREATETABLERefund/退票信息表的创建/

Order_Numbervarchar(50)primarykey,/设置主键/

Passenger_Numbervarchar(50)notnull,

Booking_Numbervarchar(50)notnull,

);

设置外键:

useMARKET

go

altertableBooking_Ticket

addconstraintfk_storeDIforeignkey(Seat_Number)referencesSeat(Seat_Number)

useMARKET

go

altertableBooking_Ticket

addconstraintfk_storeADIforeignkey(Flight_Number)referencesFlight(Flight_Number)

useMARKET

go

altertableBooking_Ticket

addconstraintfk_storeIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKETgoaltertableRefundaddconstraintfk_storIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKET

go

altertableRefund

addconstraintfk_sorIforeignkey(Booking_Number)referencesBooking_Ticket(Booking_Number)useMARKET

go

altertableBooking_Ticket

addconstraintfk_sosIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)useMARKET

go

altertableRelation

addconstraintfk_sowsIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)useMARKET

go

altertableRelation

addconstraintfk_saIforeignkey(Passenger_Number)referencesPassenger(Passenger_Number)useMARKET

go

altertableBooking_Ticket

addconstraintfk_saiIforeignkey(Ticket_Number)referencesTicket(Ticket_Number)

设置约束条件:

useMARKET

go

altertablePassenger

addcheck(Sexin('男','女'));/设置外键约束/

数据的插入:

useMARKET

INSERTINTOFlightVALUES('A01','12:

00','14:

30','2小时分','包头','北京','B0');

INSERTINTOFlightVALUES('A02','12:

01','14:

31','2小时分','包头','天津','B1');

INSERTINTOFlightVALUES('A03','12:

02','14:

32','2小时分','包头','上海','B2');

INSERTINTOFlightVALUES('A04','12:

03','14:

33','2小时分','包头','河北','B3');

INSERTINTOFlightVALUES('A05','12:

04','14:

34','2小时分','包头','南京','B4');

/航班信息的插入/

useMARKET

INSERTINTOTicketVALUES('0001','北京','325','12:

01','C001');

INSERTINTOTicketVALUES('0002','天津','326','12:

02','C002');

INSERTINTOTicketVALUES(

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

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2