数据库课程设计机票预订系统.docx
- 文档编号:11805459
- 上传时间:2023-04-02
- 格式:DOCX
- 页数:13
- 大小:97.42KB
数据库课程设计机票预订系统.docx
《数据库课程设计机票预订系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计机票预订系统.docx(13页珍藏版)》请在冰豆网上搜索。
数据库课程设计机票预订系统
软件学院
课程设计报告书
课程名称数据库原理及应用
设计题目机票预订信息系统
专业班级软件工程10-01
学号1020010110
姓名李
指导教师李
2012年6月
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语句,提高了我的综合运用所学知识的能力。
在本次课程设计和过程中,由于时间不是很长,再加上要求独立完成,系统需求分析上可能不是很全面,程序中还存在很多缺,希望老师能给予批评和指导。
经过这次课程设计,我的知识得到了很大,经验也更加丰富。
希望能在今后的不断的学习中和努力中,把程序做得更好。
最后,感谢指导老师给予的帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 机票 预订 系统