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

上传人:b****7 文档编号:9419325 上传时间:2023-02-04 格式:DOCX 页数:13 大小:102.94KB
下载 相关 举报
数据库课程设计机票预订系统.docx_第1页
第1页 / 共13页
数据库课程设计机票预订系统.docx_第2页
第2页 / 共13页
数据库课程设计机票预订系统.docx_第3页
第3页 / 共13页
数据库课程设计机票预订系统.docx_第4页
第4页 / 共13页
数据库课程设计机票预订系统.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

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

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

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

数据库课程设计机票预订系统

软件学院

课程设计报告书

课程名称数据库原理及应用

设计题目机票预订信息系统

专业班级软件工程10-01

学号

姓名李

指导教师李

2012年6月

1设计时间1

2设计目的1

3设计任务1

4设计内容1

4.1需求分析1

4.2系统设计2

4.2.1概念结构设计2

4.2.2逻辑结构设计4

4.2.3物理结构设计5

4.3系统实施7

4.3.1数据库实现7

4.3.2数据载入9

4.4运行与测试10

4.4.1运行与测试10

4.4.2分析12

5总结与展望13

参考文献14

1设计时间

2012年6月4日——2012年6月7日

2设计目的

数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。

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

实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

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

3设计任务

本课程设计任务是通过开发一个数据库机票预订信息系统,学习数据库系统的设计与开发,SQL相关的软件为开发工具。

通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。

在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。

4设计内容

4.1需求分析

随着社会发展的不断地进步,人民消费水平的不断地提高,致使民航事业不断壮大,乘坐民航的消费者越来越多,因此机票的预定也越显重要,航空公司为方便客户出行,需开发一个机票预定系统。

根据预定机票的客户信息,包括姓名、性别、身份证号码、出行时间、出行目的地等,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班。

(1)某航空公司机票预订管理系统需要如下信息:

航班信息:

航班编号、飞机型号、起飞地、目的地、起飞时间、飞行时间等。

飞机信息:

飞机编号、座位数。

业务员信息:

工号、业务员姓名。

机票信息:

航班编号、旅客编号、座位号、票价、当前预售状态等。

旅客信息:

姓名、性别、联系电话、身份证号等。

(2)系统功能的基本要求:

按照一定条件查询、统计符合条件的航班、机票等;并能查询、统计机票预订情况。

4.2系统设计

4.2.1概念结构设计

分E-R图设计:

根据需求分析抽象出信息结构,可得该系统的E-R图。

(1)航班E-R图,如图4-1所示。

图4-1航班E-R图

(2)飞机E-R图,如图4-2所示。

图4-2飞机E-R图

(3)机票E-R图,如图4-3所示。

图4-3机票E-R图

(4)客户E-R图,如图4-4所示。

图4-4客户E-R图

(5)业务员E-R图,如图4-5所示。

图4-5业务员E-R图

根据分E-R图和需求分析,可得到总E-R图,如图4-6所示。

图4-6系统总体结构E-R图

4.2.2逻辑结构设计

将图4-6总体概念结构E-R图转化成关系模型。

(主键用下划线标出)

飞机(飞机编号,机舱等级,座位数)

航班(航班编号,飞机编号,出发地,目的地,起飞时间,到达时间)

业务员(工号,业务员姓名)

机票(航班编号,旅客编号,机舱等级,座位号,票价,当前预售状态)

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

购买(旅客编号,座位号,折扣,实付款,数量,工号,付款状态)

4.2.3物理结构设计

根据总体结构图设计机票预定系统基本表结构,其相应标的定义如下:

表4-1飞机信息

中文名称

类型

长度

是否非空

主关键字

备注

飞机编号

char

10

Y

座位数

int

N

总座位

表4-2航班信息

中文名称

类型

长度

是否非空

主关键字

备注

航班编号

char

10

Y

飞机编号

char

10

N

机舱等级

char

10

N

起飞地

char

10

N

目的地

char

10

N

起飞时间

datetime

年月日/时分

到达时间

datetime

年月日/时分

表4-3业务员信息

中文名称

类型

长度

是否非空

主关键字

备注

工号

char

10

Y

业务员姓名

char

10

N

表4-4机票信息

中文名称

类型

长度

是否非空

主关键字

备注

航班编号

char

10

N

机舱等级

char

10

N

座位号

char

10

Y

票价

float

(2)

N

当前预售状态

char

10

N

Y/N

表4-5旅客信息

中文名称

类型

长度

是否非空

主关键字

备注

旅客编号

char

10

Y

姓名

char

10

N

性别

char

10

N

身份证号

char

10

N

联系方式

char

15

N

表4-6购买信息

中文名称

类型

长度

是否非空

主关键字

备注

旅客编号

char

10

Y

座位号

char

10

N

折扣

float

(1)

打几折

实付款

float

(2)

N

N

购买数量

int

N

N

购买的机票

工号

char

10

N

付款状态

char

10

N

Y/N

4.3系统实施

4.3.1数据库实现

先建立机票预订数据库,然后根据数据库的基本表结构分别建立六个基本表,这里给出具体的SQL语句如下。

(1)CreateDatabase机票预订;

(2)创建飞机表

Createtable飞机

(飞机编号char(10)notnull,

座位数intnotnull,

primarykey(飞机编号)

);

(3)创建航班表

Createtable航班

(航班编号char(10)primarykey,

飞机编号char(10)notnull,

起飞地char(10)notnull,

目的地char(10)notnull,

起飞时间datetime,

到达时间datetime,

Foreignkey(飞机编号)references飞机(飞机编号)

);

(4)创建业务员表

Createtable业务员

(工号char(10)primarykey,

业务员姓名char(10)notnull

);

(5)创建机票表

Createtable机票

(航班编号char(10)notnull,

机舱等级char(10)notnull,

座位号char(10)primarykey

Constraintc2check(座位号between'001'and'500'),

票价float

(2)notnull,

当前预售状态char(10)notnull,

Constraintc1check(机舱等级in('头等舱','公务舱','经济舱')),

Foreignkey(航班编号)references航班(航班编号),

);

(6)创建旅客表

Createtable旅客

(旅客编号char(10)primarykey,

姓名char(10)notnull,

性别char(10)notnull,

身份证号char(20)notnull,

联系电话char(15)notnull

);

(7)创建购买表

Createtable购买

(旅客编号char(10)notnull,

座位号char(10)notnull,

primarykey(旅客编号,座位号),

折扣float

(1),

实付款float

(2)notnull,

工号char(10)notnull,

购买数量intnotnull,

付款状态char(10)notnull,

Foreignkey(旅客编号)references旅客(旅客编号),

Foreignkey(座位号)references机票(座位号),

Foreignkey(工号)references业务员(工号)

);

4.3.2数据载入

(1)

图4-7飞机表录入

(2)

图4-8航班表信息

(3)

图4-9业务员表信息

(4)

图4-10机票表信息

(5)

图4-11旅客表信息

(6)

图4-12购买表信息

4.4运行与测试

4.4.1运行与测试

(1)查询航班1的剩余机票总数

select航班编号,count(座位号)剩余机票总数

from机票

where航班编号='航班1'

groupby航班编号,当前预售状态

having当前预售状态='N';

图4-13

(2)查询航班1,各机舱剩余机票数

select航班编号,机舱等级,count(座位号)剩余机票数

from机票

where航班编号='航班1'

groupby航班编号,机舱等级,当前预售状态

having当前预售状态='N';

图4-14

(3)查询航班3各机舱机票的预订情况

select航班编号,机舱等级,count(座位号)售出票数

from机票

where航班编号='航班3'

groupby航班编号,机舱等级,当前预售状态

having当前预售状态='Y';

图4-15

(4)北京的李先生想去上海,他可乘坐的航班

select*

from航班

where起飞地='北京'and目的地='上海';

图4-16

(5)查询旅客1信息及付款情况

select姓名,性别,身份证号,联系方式,座位号,折扣,实付款,付款状态

from旅客,购买

where购买.旅客编号=旅客.旅客编号and旅客.旅客编号='旅客1';

图4-17

(6)查询航班3,座位号3-01的旅客信息

select姓名,性别,身份证号,联系方式

from旅客,机票,购买

where机票.座位号=购买.座位号and机票.航班编号='航班3'

and机票.座位号='3-01'and旅客.旅客编号=购买.旅客编号;

图4-18

4.4.2分析

设计数据库时,需要考虑相关功能的实现如,客户发票的打印和结算,员工工资的结算等等,因为只设计数据库,没有相关的前台程序,实现起来有点复杂,所以通过建立视图去实现相应的结算功能,这样也能保证相关数据的安全性。

5总结与展望

经过一周的努力,本次课程设计终于完成了。

通过这次课程设计,我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程,同时我明白了理论与实际应用相结合的重要性,掌握并熟练运用SQL语句,提高了我的综合运用所学知识的能力。

在本次课程设计和过程中,由于时间不是很长,再加上要求独立完成,系统需求分析上可能不是很全面,程序中还存在很多缺,希望老师能给予批评和指导。

经过这次课程设计,我的知识得到了很大,经验也更加丰富。

希望能在今后的不断的学习中和努力中,把程序做得更好。

最后,感谢指导老师给予的帮助。

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1