飞机预票系统.docx

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

飞机预票系统.docx

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

飞机预票系统.docx

飞机预票系统

 

《数据库原理》课程设计报告

 

题目:

机票预定系统

姓名:

学号:

专业班级:

物流13甲

指导老师:

杨秋澍

2015年1月12日

浙江工商大学杭州商学院

 

摘要

本系统是根据C语言和数据库技术开发出来的一种用于机票预订系统的软件,适合用于解决机场中的售票问题。

该系统有信息查询系统、订票系统和退订系统,是用于查看航班的信息、用于查看旅客的基本信息、用于查看旅客的取票通知、用于查看和打印旅客结账通知单、用于查看航班的预订情况、用于查看航班的满座率、用于查看旅客退订信息、用于查看航班座位情况等功能。

机票预订:

首先通过查询得到旅客所需的航班,确定该该航班还没有被预定的座位,然后选择座位的等级,填写旅客的详细信息之后就可以在网上预定机票;取票通知:

在机票预定成功之后,系统会自动给浏览器端发送一条取票信息以及所需缴纳的费用,利用特定设备将该取票信息打印出来;退订机票:

利用身份证号和对应的机票号就可以查询到机票信息,然后就可以退订机票。

 

关键词:

机票预定;查询情况;交款取票;退订机票

目录

第1章引言3

1.1项目背景3

1.2项目定义3

1.3开发环境3

第2章需求分析4

2.1需求分析的目标与任务4

2.1.1信息需求4

2.1.2处理需求4

2.1.3安全性和完整性要求4

2.2需求分析阶段成果4

2.2.1XX系统的业务流程图4

2.2.2XX系统的功能模块图:

4

2.2.3XX系统的数据字典5

第3章概念设计7

3.1概念设计的目标与任务7

3.2阶段结果7

3.2.1属性与实体7

3.2.2各子系统与分E-R图7

3.2.3合并各分E-R图,得到总E-R图7

第4章逻辑设计8

4.1逻辑设计的任务和目标8

4.2阶段结果8

4.2.1将E-R图转换为关系模型8

4.2.2模型优化9

4.2.3数据库模式定义9

4.2.4用户子模式定义9

第5章物理设计10

5.1物理设计阶段的目标与任务10

5.2阶段结果:

10

5.2.1存取方法设计10

5.2.2存储结构的设计10

5.2.3评价物理结构10

第6章数据库实施阶段11

6.1建立数据库、数据表、视图、索引11

6.1.1建立数据库11

6.1.2建立数据表11

6.1.3建立视图11

6.1.4建立索引11

6.2数据入库11

第7章系统调试和测试12

第8章设计心得13

第9章存在的问题及建议14

第10章参考文献15

第11章附录16

引言

项目背景

随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预订查询系统在各机票预定网点中的作用也越显重要。

目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。

因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。

机票预定系统是为机场工作人员和客户提供机票退订与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点。

它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。

它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。

项目定义

项目针对航空公司以及乘客。

(1)航班信息管理功能:

主要实现航班的基本信息,航班编号,票价,起飞点,目的地,起飞时间的添加,修改,删除,查询。

(2)机票信息管理功能:

主要实现航班座位也就是机票的一些基本信息,航班编号,座位号,机票类型的添加,删除,查询和修改功能。

(3)客户信息管理功能:

主要实现旅客的基本信息,包括姓名,性别,联系方式,证件号码的查询。

(4)取票信息管理功能:

用于取票信息的管理,包括对航班基本信息,航班编号和旅客的基本信息,旅客姓名,座位号,取票时间的查询。

(5)退票信息管理功能:

用于对退票信息的管理,包括对订单号,旅客姓名,联系方式,证件号码的查询。

 

开发环境

SQLServer2008

第2章需求分析

2.1需求分析的目标与任务

2.1.1信息需求

航班信息:

航班号,起飞时间,到达时间,起飞地,目的地,总座位数,剩余座位数

航班座位信息:

座位号,航班号,座位类型,预定状态,票价

旅客信息:

旅客编号,姓名,性别,联系电话,身份证号,联系地址,目的地,出行日期

取票信息:

取票编号,结账状态,取票时间,机票价格,座位编号,航班号,旅客编号

2.1.2处理需求

(1)航班信息管理功能

主要实现航班的一些基本信息,如对航班号,起飞时间,到达时间,起飞地,目的地,等进行添加、修改、删除和查询。

(2)机票信息管理功能

主要实现机票的一些基本信息,如对航班号,总座位数,剩余座位数进行添加、修改、删除和查询。

(3)旅客信息管理功能

此模块的主要实现旅客一些基本信息,如旅客姓名,证件号码,联系方式的输入及查询功能

(4)取票信息功能

此模块用于取票信息的管理,包括对航班基本信息,航班编号等,旅客基本信息,旅客姓名、座位号、取票时间的查询。

(5)退票信息管理功能

此模块用于退票信息的管理

 

2.1.3安全性和完整性要求

(1)安全性要求

系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可以访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

(2)完整性要求

系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新相关字段和级联删除相关字段。

2.2需求分析阶段成果

2.2.1机票预订系统的业务流程图

图2.1

2.2.2机票预定系统的功能模块图:

图2.2系统功能模块图

2.2.3机票预定系统的数据字典

(a)数据项:

系统涉及的数据项有31项

表1.1数据项列表

数据项编号

数据项名

数据项含义

与其它数据项的关系

存储结构

别名

DI-1

plane_no

飞机航班号

varchar(20)

航班号

DI-2

plane_begin

航班起飞地

varchar(100)

起飞地

DI-3

plane_end

航班目的地

varchar(100)

目的地

DI-4

begin_date

航班起飞时间

datetime

起飞时间

DI-5

end_date

航班到达时间

datetime

到达时间

DI-6

all_seats

航班总座位数

int

总座位数

DI-7

surplus_seats

航班剩余座位数

int

剩余座位数

DI-8

people_no

旅客编号

int

旅客编号

DI-9

name

旅客姓名

varchar(50)

姓名

DI-10

sex

旅客性别

varchar(4)

性别

DI-11

tel

旅客联系电话

varchar(50)

联系电话

DI-12

card_id

旅客身份证号

varchar(50)

身份证号

DI-13

address

旅客联系地址

varchar(100)

联系地址

DI-14

destination

旅客目的地

varchar(100)

目的地

DI-15

travel_date

旅客出行日期

datetime

出行日期

DI-16

ticket_no

取票编号

int

取票编号

DI-17

plane_no

机票航班号

同飞机航班号plane_no

Varchar(20)

航班号

DI-18

people_no

机票旅客编号

同旅客编号people_no

int

旅客编号

DI-19

seat_no

机票座位编号

同座位编号seat_no

varchar(20)

座位编号

DI-20

ticket_price

机票价格

decimal(18,2)

机票价格

DI-21

get_date

机票取票时间

datetime

取票时间

DI-22

checkout_flag

机票是否结账

Varchar(20)

结账状态

DI-23

seat_no

座位编号

varchar(20)

座位编号

DI-24

plane_no

座位航班编号

同飞机航班号plane_no

varchar(20)

航班编号

DI-25

seat_kind

座位类型

varchar(20)

座位类型

DI-26

DI-price

座位票价

decimal(18,2)

票价

DI-27

yd_flag

座位是否预订

varchar(20)

预订状态

DI-28

back_no

退票订单号

varchar

订单号

DI-29

people_no

退票旅客编号

同旅客编号people_no

int

旅客编号

DI-30

plane_no

退票航班号

同飞机航班号plane_no

varchar(20)

航班号

DI-31

back_reason

退票理由

varchar(255)

退票理由

(b)数据结构:

表1.2数据结构列表

数据结

构编号

数据结构名

数据结构

含义

组成

DS-1

plane

航班信息

plane_no,plane_begin,plane_end,begin_date,

end_date,all_seats,surplus_seats

DS-2

people

旅客信息

people_no,name,sex,tel,card_id,address,

destination,travel_date

DS-3

seat

座位信息

seat_no,plane_no,seat_kind,price,yd_flag

DS-4

ticket

取票信息

ticket_no,plane_no,people_no,seat_no,ticket_price,get_date,checkout_flag

DS-5

back

退票信息

back_no,people_no,plane_no,back_reason

(c)数据流:

数据流是数据结构在系统内传输的路径。

图2.3-1顶层数据流

图2.3-2第1层数据流图:

(旅客订票)

图2.3-3第2层数据流图:

(旅客查询)

图2.3-4第2层数据流图(旅客退票)

图2.3-5第2层数据流图:

(航班新增、修改)

图2.3-6第三层数据流(旅客订票,旅客退票,旅客查询,工作人员航班管理)

(d)数据存储:

数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。

它可以是手工文档或手工凭单,也可以是计算机文档。

(e)处理过程:

处理过程的具体处理逻辑一般用判定表或判定树来描述。

数据字典中只需要描述该处理过程的说明性信息。

第3章概念设计

3.1概念设计的目标与任务

(1)选择中层数据流为切入点,通常选择实际系统中的子系统;

(2)设计分E-R图,即各子模块的E-R图;

(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;

(4)生成全局E-R图,通过消除冲突等方面:

在本机票预定系统管理系统中,分析各数据字典,知道整个系统功能围绕“旅客”、“管理员”的处理。

根据实体与属性间的两条准则:

作为“属性”,不能再具有需要描述的性质;“属性”不能与其他实体具有联系。

3.2阶段结果

3.2.1属性与实体

实体:

航班信息、航班座位信息、旅客信息、取票信息、退票信息

其分别的属性为:

航班信息:

航班号,起飞时间,到达时间,起飞地,目的地,总座位数,剩余座位数;航班座位信息:

座位号,航班号,座位类型,预定状态,票价;旅客信息:

旅客编号,姓名,性别,联系电话,身份证号,联系地址,目的地,出行日期

取票信息:

取票编号,结账状态,取票时间,机票价格,座位编号,航班号,旅客编号

退票信息:

3.2.2各子系统与分E-R图

航班信息

座位信息

旅客信息

取票信息

退票信息

3.2.3合并各分E-R图,得到总E-R图

 

第4章逻辑设计

4.1逻辑设计的任务和目标

以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。

4.2阶段结果

4.2.1将E-R图转换为关系模型

航班信息(航班号,起飞时间,到达时间,起飞地,目的地,总座位数,剩余座位数)

座位信息(座位号,航班号,座位类型,预定状态,票价)

拥有(座位号,航班号)

旅客信息(旅客编号,姓名,性别,联系电话,身份证号,联系地址,目的地,出行日期)

查询(航班号,旅客信息)

退票系统(订单号、旅客编号,退票理由,航班号)

改变状态(座位号,订单号)

退订(订单号,旅客编号)

改变状态(航班号,取票编号)

取票信息(取票编号,结账状态,取票时间,机票价格,座位编号,航班号,旅客编号)

订票(旅客编号,取票编号)

4.2.2模型优化

关系模式航班信息,旅客信息,航班座位信息,取票通知都不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,要求达到了3NF。

4.2.3数据库模式定义

表4.1航班信息表

列名

数据类型

可否为空

说明

plane_no

varchar

notnull

航班号

plane_begin

varchar

notnull

起飞地

plane_end

varchar

notnull

目的地

begin_date

datetime

notnull

起飞时间

end_date

datetime

notnull

到达时间

all_seats

int

notnull

总座位数

surplus_seats

int

notnull

剩余座位数

表4.2旅客信息表

列名

数据类型

可否为空

说明

people_no

int

notnull

旅客编号

name

varchar

notnull

姓名

sex

varchar

notnull

性别

tel

varchar

notnull

联系电话

card_id

varchar

notnull

身份证号

address

varchar

联系地址

destination

varchar

notnull

目的地

travel_date

datetime

notnull

出行日期

表4.3取票信息表

列名

数据类型

可否为空

说明

ticket_no

int

notnull

取票编号

plane_no

varchar

notnull

航班号

people_no

int

notnull

旅客编号

seat_no

varchar

notnull

座位编号

ticket_price

decimal

机票价格

get_date

datetime

notnull

取票时间

checkout_flag

varchar

notnull

是否结账

表4.4座位信息表

列名

数据类型

可否为空

说明

seat_no

varchar

notnull

座位编号(主键)

plane_no

varchar

notnull

航班编号

seat_kind

varchar

notnull

座位类型

price

decimal

notnull

票价

yd_flag

varchar

notnull

座位编号(主键)

表4.5退票信息表

列名

数据类型

可否为空

说明

back_no

varchar

notnull

订单号

people_no

int

旅客编号

plane_no

varchar

notnull

航班号

back_reason

varchar

notnull

退票理由

4.2.4用户子模式定义

第5章物理设计

5.1物理设计阶段的目标与任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

5.2阶段结果:

5.2.1存取方法设计

为数据库中各基本表建立的定义和索引。

5.2.2存储结构的设计

存储过程定义

1.sp_plane_insert的定义:

插入航班信息

CREATEPROCEDUREsp_plane_insert

@plane_novarchar(20),

@plane_beginvarchar(100),

@plane_endvarchar(100),

@begin_datedatetime,

@end_datedatetime,

@all_seatsint,

@surplus_seatsint

as

insertintoplane(plane_no,plane_begin,plane_end,begin_date,end_date,

all_seats,surplus_seats)

values(@plane_no,@plane_begin,@plane_end,@begin_date,@end_date,

@all_seats,@surplus_seats)

2.sp_people_insert的定义:

插入旅客信息

CREATEPROCEDUREsp_people_insert

@namevarchar(50),

@sexvarchar(4),

@telvarchar(50),

@card_idvarchar(50),

@addressvarchar(100),

@destinationvarchar(100),

@travel_datedatetime

as

insertintopeople(sex,name,tel,card_id,address,

destination,travel_date)

values(@sex,@name,@tel,@card_id,@address,

@destination,@travel_date)

3.sp_back_insert的定义:

插入退票信息

CREATEPROCEDUREsp_back_insert

@back_novarchar(20),

@people_noint,

@plane_novarchar(20),

@back_reasonvarchar(255)

as

insertintoback(back_no,people_no,plane_no,back_reason)

values(@back_no,@people_no,@plane_no,@back_reason)

1.sp_seat_insert的定义:

座位信息插入

CREATEPROCEDUREsp_seat_insert

@seat_novarchar(20),

@plane_novarchar(20),

@seat_kindvarchar(20),

@pricedecimal(18,2),

@yd_flagvarchar(4)

as

insertintoseat(seat_no,plane_no,seat_kind,price,yd_flag)

values(@seat_no,@plane_no,@seat_kind,@price,@yd_flag)

5.sp_people_delete的定义:

删除旅客信息

CREATEPROCEDUREsp_people_delete

@people_noint

as

deletefrompeoplewherepeople_no=@people_no

2.sp_plane_query的定义:

航班信息查询

CREATEPROCEDUREsp_plane_query

as

select*fromplanetview

3.sp_plane_ydquery的定义:

航班预订率查询

CREATEPROCEDUREsp_plane_ydquery

as

select*fromplane_ydview

7.sp_people_query的定义:

旅客查询

CREATEPROCEDUREsp_people_query

as

select*frompeopleview

8.sp_people_ticketquery的定义:

查询旅客取票通知

CREATEPROCEDUREsp_people_ticketquery

@people_novarchar(20)

as

select*frompeople_ticketviewwhere旅客编号=@people_no

9.sp_people_checkoutquery的定义:

查询旅客结账单

CREATEPROCEDUREsp_people_checkoutquery

@people_novarchar(20)

as

select*frompeople_checkoutviewwhere旅客编号=@people_no

11.sp_people_backquery的定义:

查询旅客退订单

CREATEPROCEDUREsp_people_backquery

@people_novarchar(20)

as

select*frompeople

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

当前位置:首页 > 法律文书 > 调解书

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

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