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

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

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

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

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

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

《数据库原理》课程设计

机票预订管理系统

学院:

计算机与信息科学学院

专业:

计算机科学与技术

班级:

计科1303

姓名学号:

XXX13203403XX

指导教师:

高金华职称讲师

完成时间:

2015年12月

 

1系统概述

随着全球进入信息化时代,航空公司为了适应当前越来越激烈的竞争,增强公司的信息化程度,提高公司的售票管理的效率,就建立起了相应的航空预订票系统,成功实现提高了航空系统的售票效率和管理水平。

在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。

根据可行性研究的结果和客户的要求,分析现有情况及问题。

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

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

 

2数据库设计

2.1需求分析

2.1.1数据流图

 

2.1.2数据词典

表2-1 plane飞机信息表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

飞机编号

seats

number

notnull

座位数

表2-2 flight航班信息表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

航班编号

planeNum

varchar2

notnull

飞机编号

startPoint

varchar2

notnull

出发地

detination

varchar2

notnull

目的地

startTime

varchar2

notnull

起飞时间

endTime

varchar2

notnull

到达时间

表2-3 ticket机票表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

航班号

grade

varchar2

notnull

机舱等级

seatNum

varchar2

notnull

座位号

ticketPrice

number

notnull

机票价格

presell

varchar2

notnull

预售状态

表2-4 passenger旅客表

表中列名

数据类型

可否为空

说明

name

varchar2

primarykey

旅客名

sex

varchar2

notnull

旅客性别

idNum

varchar2

notnull

身份证

phoneNum

varchar2

notnull

手机号

password

varchar2

notnull

密码

表2-5 buy购买表

表中列名

数据类型

可否为空

说明

name

varchar2

foreignkey

旅客名

flightNum

varchar2

foreignkey

航班号

gread

varchar2

notnull

机舱等级

seatNum

varchar2

notnull

座位号

paymoney

number

notnull

机票价格

buyNum

varchar2

notnull

购买数量

表2-6 manager管理员表

表中列名

数据类型

可否为空

说明

mname

varchar2

notnullunique

管理员编号

mpwd

varchar2

notnull

管理员姓名

2.1.3加工说明

我们的系统需要六个实体:

(1)飞机实体

实体名:

plane

角色:

关于飞机的信息

属性:

飞机编号,座位数

主键:

飞机编号

(2)航班实体

实体名:

flight

角色:

航班信息

属性:

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

主键:

航班编号

(3)机票实体

实体名:

ticket

角色:

机票信息

属性:

航班号,机舱等级,座位号,机票价格,余票数

主键:

座位号

(4)旅客实体

实体名:

passenger

角色:

旅客信息

属性:

旅客名,旅客性别,身份证,手机号,密码

主键:

旅客名

(5)机票购买实体

实体名:

buy

角色:

旅客购买机票后的信息

属性:

旅客名,航班号,机舱等级,座位号,机票价格,购买数量

(6)管理员实体

实体名:

manager

角色:

管理员信息

属性:

管理员名,密码

2.2概念结构设计

2.2.1E-R图

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

(1)航班实体属性图,航班的信息由航班号、飞机编号、出发地、目的地、起飞时间、到达时间等属性组成如图所示。

 

(1)航班信息实体属性图

(2)飞机是实体属性图,飞机信息由飞机编号和座位数属性组成如图所示。

 

(2)飞机信息实体属性图

(3)管理员实体属性图,管理员信息由姓名和登录密码属性组成如图所示

 

图(3)管理员信息实体属性图

(4)机票实体属性图,机票信息有:

航班号、机舱等级、座位号、票价、预售状态等属性如图所示。

 

图(4)机票信息实体属性图

(5)旅客属性图,旅客信息有:

身份证号、姓名、性别、联系方式、密码等属性如图所示。

 

图(5)旅客信息实体属性图

(6)订单属性图,订单信息有:

姓名、航班号、座位号、机舱等级、金额、订单数等属性如图所示。

 

图(6)订单信息实体属性图

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

图(7)总的E-R图

2.3逻辑结构设计

2.3.1关系模式

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

(主键用下划线标出)

飞机(飞机编号,座位数)

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

管理员(管理员姓名,密码)

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

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

购买(姓名,航班号,座位号,机舱等级,实付款,数量)

 

2.4物理结构设计

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

表1飞机信息

中文名称

类型

长度

是否非空

主关键字

备注

飞机编号

varchar2

10

Y

座位数

number

N

总座位

表2航班信息

中文名称

类型

长度

是否非空

主关键字

备注

航班号

varchar2

10

Y

飞机编号

varchar2

10

N

机舱等级

varchar2

10

N

起飞地

varchar2

10

N

目的地

varchar2

10

N

起飞时间

varchar2

年月日/时分

到达时间

varchar2

年月日/时分

表3管理员信息

中文名称

类型

长度

是否非空

主关键字

备注

管理员姓名

char

10

Y

登陆密码

char

10

N

表4机票信息

中文名称

类型

长度

是否非空

主关键字

备注

航班号

char

10

N

机舱等级

char

10

N

座位号

char

10

Y

票价

float

(2)

N

当前预售状态

char

10

N

Y/N

表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

 

数据库实现:

--飞机信息表plane

createtableplane

flightNumvarchar2(10),--航班号

seatsnumber(8)notnull--座位数

);

insertintoplanevalues('航班1',5);

insertintoplanevalues('航班2',5);

insertintoplanevalues('航班3',5);

insertintoplanevalues('航班4',5);

select*fromplane;

--航班表flight

createtableflight

flightNumvarchar2(10)primarykey,--航班编号

planeNumvarchar2(10),--飞机编号

startPointvarchar2(20)notnull,--出发地

detinationvarchar2(10)notnull,--目的地

startTimevarchar2(20)notnull,--起飞时间

endtimevarchar2(20)notnull--到达时间

);

--插入数据到航班表(flight)中

insertintoflightvalues('航班1','长沙','武汉','2015-12-2908:

00','2015-12-2910:

00');

insertintoflightvalues('航班2','北京','台湾','2015-12-3008:

30','2015-12-2911:

00');

insertintoflightvalues('航班3','北京','上海','2016-01-0111:

30','2016-01-115:

00');

insertintoflightvalues('航班4','广州','杭州','2016-01-1009:

00','2016-01-0210:

00');

select*fromflight;

--航班表的flightNum作为飞机信息表flightNum的外键

altertableplaneaddconstraintfk_fnforeignkey(flightNum)referencesflight(flightNum);

--创建机票表ticket

createtableticket

flightNumvarchar2(10)notnull,--航班号

gradevarchar2(10)notnull,--机舱等级

seatNumvarchar2(10)primarykey,--座位号

ticketPricefloat

(2)notnull,--机票价格

presellvarchar2(10)notnull--余票数

);

--插入数据到机票表(ticket)中

insertintoticketvalues('航班1','头等舱','1-01','500','1');

insertintoticketvalues('航班1','公务舱','1-02','400','1');

insertintoticketvalues('航班1','公务舱','1-03','400','1');

insertintoticketvalues('航班1','经济舱','1-04','300','1');

insertintoticketvalues('航班1','经济舱','1-05','300','1');

insertintoticketvalues('航班2','头等舱','2-01','500','1');

insertintoticketvalues('航班2','公务舱','2-02','400','1');

insertintoticketvalues('航班2','公务舱','2-03','400','1');

insertintoticketvalues('航班2','经济舱','2-04','300','1');

insertintoticketvalues('航班2','经济舱','2-05','300','1');

insertintoticketvalues('航班3','头等舱','3-01','500','1');

insertintoticketvalues('航班3','公务舱','3-02','400','1');

insertintoticketvalues('航班3','公务舱','3-03','400','1');

insertintoticketvalues('航班3','经济舱','3-04','300','1');

insertintoticketvalues('航班3','经济舱','3-05','300','1');

insertintoticketvalues('航班4','头等舱','4-01','500','1');

insertintoticketvalues('航班4','公务舱','4-02','400','1');

insertintoticketvalues('航班4','公务舱','4-03','400','1');

insertintoticketvalues('航班4','经济舱','4-04','300','1');

insertintoticketvalues('航班4','经济舱','4-05','300','1');

select*fromticket;

--航班表的flightNum作为机票表flightNum的外键

altertableticketaddconstraintfk_tfnforeignkey(flightNum)referencesflight(flightNum);

--创建旅客表

createtablepassenger

namevarchar2(10)primarykey,--旅客名

sexvarchar2(10)notnull,--旅客性别

idNumvarchar2(20)notnull,--身份证

phoneNumvarchar2(15)notnull,--手机号

passwordvarchar2(10)notnull--密码

);

--插入数据到旅客表(passenger)中

insertintopassengervalues('张三','男','1220101','1316060001','zs');

insertintopassengervalues('李四','男','1220102','1316060002','ls');

insertintopassengervalues('王五','女','1220103','1316060003','ww');

insertintopassengervalues('赵六','男','1220104','1316060004','zl');

select*frompassenger;

--创建购买表

createtablebuy

namevarchar2(20),--旅客名

flightNumvarchar2(10),--航班号

greadvarchar2(10)notnull,--机舱等级

seatNumvarchar2(10)notnull,--座位号

paymoneyfloat

(2)notnull,--机票价格

buyNumnumber(8)notnull--购买数量

);

--插入数据到购买表(buy)中

insertintobuyvalues('张三','航班1','公务舱','1-02',400,1);

insertintobuyvalues('李四','航班2','经济舱','3-01',400,1);

insertintobuyvalues('王五','航班3','公务舱','3-05',270,1);

insertintobuyvalues('赵六','航班4','经济舱','4-04',270,1);

select*frombuy;

--旅客表的name作为购买表name的外键

altertablebuyaddconstraintfk_bnforeignkey(name)referencespassenger(name);

--管理员表

createtablemanager(

mnamevarchar2(20)notnull,--管理员名

mpwdvarchar2(10)notnull,--管理员登录密码

yuliuvarchar2(20)

);

select*frommanager;

insertintomanagervalues('李华','aaaaaa',null);

select*frommanagerwheremname='李华'andmpwd='aaaaaa';

2.5设计小结

经过这几个星期的努力,本次课程设计终于完成了。

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

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

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

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

我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

这次课程设计,我更加深入的了解到软件工程的复杂性,以及前期规划分析的重要性。

其实在Java这种面向对象的程序设计中,我的开发模型能力很是一般。

所以一人之力也难以完成。

还得多多感谢同学的帮助,在以后的学习中应该学习一些先进的思想,并多加实践,从写程序和软件架构两个方面都增强自己的能力。

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

3应用程序设计

3.1需求分析

3.1.1数据流图

 

 

3.1.2数据词典

表3-1 plane飞机信息表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

飞机编号

seats

number

notnull

座位数

表3-2 flight航班信息表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

航班编号

planeNum

varchar2

notnull

飞机编号

startPoint

varchar2

notnull

出发地

detination

varchar2

notnull

目的地

startTime

varchar2

notnull

起飞时间

endTime

varchar2

notnull

到达时间

表3-3 ticket机票表

表中列名

数据类型

可否为空

说明

flightNum

varchar2

primarykey

航班号

grade

varchar2

notnull

机舱等级

seatNum

varchar2

notnull

座位号

ticketPrice

number

notnull

机票价格

presell

varchar2

notnull

预售状态

表3-4 passenger旅客表

表中列名

数据类型

可否为空

说明

name

varchar2

primarykey

旅客名

sex

varchar2

notnull

旅客性别

idNum

varchar2

notnull

身份证

phoneNum

varchar2

notnull

手机号

password

varchar2

notnull

密码

表3-5 buy购买表

表中列名

数据类型

可否为空

说明

name

varchar2

foreignkey

旅客名

flightNum

varchar2

foreignkey

航班号

gread

varchar2

notnull

机舱等级

seatNum

varchar2

notnull

座位号

paymoney

number

notnull

机票价格

buyNum

varchar2

notnull

购买数量

表3-6 manager管理员表

表中列名

数据类型

可否为空

说明

mname

varchar2

notnullunique

管理员编号

mpwd

varchar2

notnull

管理员姓名

3.1.3加工说明

我们的系统需要六个实体:

(1)飞机实体

实体名:

plane

角色:

关于飞机的信息

属性:

飞机编号,座位数

主键:

飞机编号

(2)航班实体

实体名:

flight

角色:

航班信息

属性:

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

主键:

航班编号

(3)机票实体

实体名:

ticket

角色:

机票信

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

当前位置:首页 > 解决方案 > 学习计划

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

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