数据库课设计火车票卧铺预订系统课件Word文档格式.docx
- 文档编号:19740735
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:12
- 大小:95.64KB
数据库课设计火车票卧铺预订系统课件Word文档格式.docx
《数据库课设计火车票卧铺预订系统课件Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课设计火车票卧铺预订系统课件Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
根据预定的客户信息,包括姓名、性别、身份证号码、出行时间、出行目的地等,系统经过查询火车公司内的数据服务器后,为旅客安排班次。
(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班次信息
班次编号
出发地
目的地
出发时间
datetime
年月日/时分
到达时间
表4-3业务员信息
工号
业务员姓名
表4-4车票信息
卧铺类型
座位号
票价
float
(2)
元
当前预售状态
Y/N
表4-5旅客信息
旅客编号
姓名
性别
身份证号
联系方式
15
表4-6购买信息
折扣
float
(1)
打几折
实付款
购买数量
购买的车票
付款状态
4.3系统实施
先建立火车卧铺预订数据库,然后根据数据库的基本表结构分别建立六个基本表,这里给出具体的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业务员(工号)
(1)
火车表录入
(2)
图4-8班次表信息
(3)
图4-9业务员表信息
(4)
图4-10车票表信息
(5)
图4-11旅客表信息
(6)
图4-12购买表信息
4.4运行与测试
(1)查询班次001的剩余车票总数
select班次编号,count(座位号)剩余机票总数
from车票
where班次编号='
1'
groupby班次编号,当前预售状态
having当前预售状态='
未满
'
;
(2)查询班次1,各卧铺剩余车票数
select班次编号,卧铺类型,count(座位号)剩余车票数
groupby班次编号,卧铺类型,当前预售状态
未满'
(3)查询班次2各卧铺车票的预订情况
select班次编号,卧铺类型,count(座位号)售出票数
2'
groupby班次编号,卧铺类型,当前预售状态
已满
(4)广州的李先生想去香港,他可乘坐的班次
select*
from班次
where出发地='
广州'
and目的地='
香港'
(5)查询旅客1信息及付款情况
select姓名,性别,身份证号,座位号,折扣,实付款,付款状态
from旅客,购买
where购买.旅客编号=旅客.旅客编号and旅客.旅客编号='
(6)查询班次1,座位号200的旅客信息
select姓名,性别,身份证号,联系电话
from旅客,车票,购买
where车票.座位号=购买.座位号and车票.班次编号='
and车票.座位号='
200'
and旅客.旅客编号=购买.旅客编号;
5总结与展望
一番的努力之后,终于完成了这次课程设计。
通过这次课程设计,真心觉得数据库是一门实践性较强的课程,有时候不是看看书本就能够把数据库的知识完成弄懂,要真正弄懂还是需要实际上机操作,更加明白了理论与实际应用相结合的重要性。
当要实践数据库的时候碰到了不少问题,例如在设计的时候应该先设计E-R图,因为这是可以帮助你理清思路的一步,很重要很关键,然后就是主键外键的建立是很重要的,而且在插入删除的时候也要注意限制。
感觉经验是要积累的,在这次课程设计中我都积累了不少经验,相信能为我以后的计算机之路铺上坚实的一个台阶。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 火车票 卧铺 预订 系统 课件
![提示](https://static.bdocx.com/images/bang_tan.gif)