数据库课设计火车票卧铺预订系统.docx

上传人:b****5 文档编号:6445713 上传时间:2023-01-06 格式:DOCX 页数:15 大小:130.70KB
下载 相关 举报
数据库课设计火车票卧铺预订系统.docx_第1页
第1页 / 共15页
数据库课设计火车票卧铺预订系统.docx_第2页
第2页 / 共15页
数据库课设计火车票卧铺预订系统.docx_第3页
第3页 / 共15页
数据库课设计火车票卧铺预订系统.docx_第4页
第4页 / 共15页
数据库课设计火车票卧铺预订系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库课设计火车票卧铺预订系统.docx

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

数据库课设计火车票卧铺预订系统.docx

数据库课设计火车票卧铺预订系统

课程设计

课程名称___数据库______

题目名称____火车票卧铺预订系统_____

学生学院_____计算机学院______

专业班级__

学号_________

学生姓名_____________

指导教师________左亚尧_________

 

2013年1月15日

 

目录

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设计时间:

2013-01-10到2013-01-15

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

出发时间

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)CreateDatabasehuoche;

(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)

火车表录入

(2)

图4-8班次表信息

(3)

图4-9业务员表信息

(4)

图4-10车票表信息

(5)

图4-11旅客表信息

(6)

图4-12购买表信息

4.4运行与测试

4.4.1运行与测试

(1)查询班次001的剩余车票总数

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

from车票

where班次编号='1'

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

having当前预售状态='未满

';

(2)查询班次1,各卧铺剩余车票数

select班次编号,卧铺类型,count(座位号)剩余车票数

from车票

where班次编号='1'

groupby班次编号,卧铺类型,当前预售状态

having当前预售状态='未满';

(3)查询班次2各卧铺车票的预订情况

select班次编号,卧铺类型,count(座位号)售出票数

from车票

where班次编号='2'

groupby班次编号,卧铺类型,当前预售状态

having当前预售状态='已满

';

(4)广州的李先生想去香港,他可乘坐的班次

select*

from班次

where出发地='广州'and目的地='香港';

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

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

from旅客,购买

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

(6)查询班次1,座位号200的旅客信息

select姓名,性别,身份证号,联系电话

from旅客,车票,购买

where车票.座位号=购买.座位号and车票.班次编号='1'

and车票.座位号='200'and旅客.旅客编号=购买.旅客编号;

5总结与展望

一番的努力之后,终于完成了这次课程设计。

通过这次课程设计,真心觉得数据库是一门实践性较强的课程,有时候不是看看书本就能够把数据库的知识完成弄懂,要真正弄懂还是需要实际上机操作,更加明白了理论与实际应用相结合的重要性。

当要实践数据库的时候碰到了不少问题,例如在设计的时候应该先设计E-R图,因为这是可以帮助你理清思路的一步,很重要很关键,然后就是主键外键的建立是很重要的,而且在插入删除的时候也要注意限制。

感觉经验是要积累的,在这次课程设计中我都积累了不少经验,相信能为我以后的计算机之路铺上坚实的一个台阶。

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

当前位置:首页 > 工程科技 > 能源化工

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

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