酒店管理数据库课程设计.docx
《酒店管理数据库课程设计.docx》由会员分享,可在线阅读,更多相关《酒店管理数据库课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
![酒店管理数据库课程设计.docx](https://file1.bdocx.com/fileroot1/2023-1/7/d64383df-89e4-4be8-901e-afe7cc61d2cc/d64383df-89e4-4be8-901e-afe7cc61d2cc1.gif)
酒店管理数据库课程设计
课程设计评分细则
序号
评分内容
分值
得分
1
选题新颖、结构完整、原创性强,语言规范、排版美观、装订规范。
20%
2
需求分析工作深入详细,业务流程图、数据流程图、数据字典等需求文档完整,正确性高
40%
3
概念结构设计合理,CDM的属性及其数据类型与数据字典一致,且正确性高
20%
4
转换的PDM正确性高,相应的SQL教本正确,参考文献完整
10%
5
提交了数据库文件,且电子文档与打印稿一致
10%
6
迟到、早退、打游戏或做无关之事,发现一次扣10分;旷课一次扣20分
负分
最终成绩
答辩教师签名
《数据库原理及应用》课程设计报告
题目:
××××××系统的数据库设计
(独立完成
与他人合作)
学号:
11003070229
姓名:
杨好
指导教师:
冯欣
2012年12月
目录
1.项目背景2
1.1选题背景2
1.2系统目标和实现技术3
2需求分析3
2.1业务流程分析3
2.2数据流程分析5
2.3数据字典8
3概念结构设计12
4逻辑结构设计13
5物理结构设计14
6总结19
7参考文献19
1.项目背景
1.1选题背景
随着人们生活水平的提高,人们外出旅游已经成为一种必不可少的生活习惯。
出门在外,找一个舒适的住的地方至关重要,人们对住宿的质量和服务要求不断提高。
当前的对酒店客房的管理大都采用人工管理的方式,这种管理方式显然存在着弊端,比如不能提前预定客房,住宿混乱,容易造成不必要的浪费,从而造成对酒店客房管理的严重负担。
因此,必须设计一种合理、高校、有利于酒店客房管理的系统。
随着计算机技术的普及,计算机技术特别是数据库管理技术的广为运用,使得管理不再是难题,所以,我设计了一种酒店客房数据库管理系统来进行酒店客房的管理,这种方法有效的节约了人力、物力,避免了不必要的浪费!
某城市有一大型酒店,该酒店有很多员工,每个员工都有唯一的工号,姓名,性别,年龄,政治面貌等属性,酒店客房管理的日常工作主要包括:
订房、退房、结账。
订房:
客人通过电话或网上订房,前台服务员查询符合客人的客房,若有满足客人请求的,则进行客人相关信息进行登记;如果暂时没有满足客人请求的,则可进行预订登记,如果有符合客人需要的,则及时通知客人,并进行相关信息登记。
退房:
客人要求退房后,服务员按照规定对客房进行检查,若客房无损坏异常情况,则退房成功,并进行相关信息的修改;若客房有损坏,严重者,可根据细则要求客人赔偿,并进行登记。
结账:
客人要求退房后,收银员进行结算,并登记,并开具发票。
1.2系统目标和实现技术
酒店客房管理系统需要完成的功能如下:
1、订房功能:
客人通过电话或网上订房,前台服务员查询符合客人的客房,若有满足客人请求的,则进行客人相关信息进行登记;如果暂时没有满足客人请求的,则可进行预订登记,如果有符合客人需要的,则及时通知客人,并进行相关信息登记。
2、退房功能:
客人要求退房后,服务员按照规定对客房进行检查,若客房无损坏异常情况,则退房成功,并进行相关信息的修改;若客房有损坏,严重者,可根据细则要求客人赔偿,并进行登记。
3、结账功能:
客人要求退房后,收银员进行结算,并登记,并开具发票。
酒店客房管理系统的功能目标图:
软件体系结构:
主要在powerdesigner12和Microsoftvisio2003种完成;所用的DBMS是MicrosoftSQL2000。
2需求分析
2.1业务流程分析
各种功能的业务流程图:
订房功能:
客人通过电话或网上订房,前台工作员根据客人需求信息查询符合客人的客房,若有满足客人请求的客房,则进行客人相关信息进行登记;如果暂时没有满足客人请求的客房,则可进行预订登记,等到有符合要求的客房,及时通知客人,并进行相关信息登记。
订房-业务流程图
退房功能:
客人欲退房,客房工作人员按照规定对客房进行检查,若客房无损坏异常情况,则退房成功,并进行相关信息的修改;若客房有损坏,可根据细则要求客人赔偿,并进行登记。
退房-业务流程图
结账功能:
客人欲退房,前台工作人员进行结算,并登记,并开具发票。
结账-业务流程图
2.2数据流程分析
数据流程图的符号表示如下所示:
各层数据流程图所示如下:
顶层数据流图:
顶层-数据流图
二层数据流图:
员工登录-二层数据流图
订房-二层数据流图
退房-二层数据流图
结账-二层数据流图
2.3数据字典
按照数据流程图分层和每层数据流程图对数据字典,数据字典应包含数据流、数据存储、数据处理、外部实体和数据项等五个部分进行描述。
数据流的描述:
数据流编号:
F1
数据流名称:
员工输入信息
简述:
记录员工用户信息
数据流来源:
注册
数据流去向:
登录
数据项组成:
员工编号+员工姓名+员工职务+员工家庭住址+员工联系电话+员工性别+员工年龄
数据流量:
10条/月
高峰流量:
50条/月
数据流编号:
F2
数据流名称:
订房信息
简述:
记录客人订房信息
数据流来源:
订房、预定
数据流去向:
客房管理
数据项组成:
定单编号+房号+客人身份证号+客人姓名+预收费用+订房时间+应退房时间+联系电话
数据流量:
10条/月
高峰流量:
50条/月
数据流编号:
F3
数据流名称:
住房信息
简述:
记录客人住房信息
数据流来源:
住房
数据流去向:
退房
数据项组成:
房号+客人身份证号+入住时间+退房时间
数据流量:
10条/月
高峰流量:
50条/月
数据流编号:
F4
数据流名称:
消费登记单
简述:
记录客人消费信息
数据流来源:
消费
数据流去向:
结账
数据项组成:
登记单编号+客人姓名+房号+消费金额+联系电话
数据流量:
10条/月
高峰流量:
50条/月
数据存储描述:
数据存储编号:
D1
数据存储名称:
员工信息表
简述:
记录所有员工的基本信息
数据存储组成:
员工编号+员工姓名+员工职务+员工家庭住址+员工联系电话+员工性别+员工年龄
关键字:
员工编号
相关联的处理:
P1
数据存储编号:
D2
数据存储名称:
客房信息
简述:
记录客房基本信息
数据存储组成:
房号+价格+数量
关键字:
房号
相关联的处理:
P2
数据存储编号:
D3
数据存储名称:
客人住宿信息表
简述:
记录客人住房信息
数据存储组成:
客人姓名+客房号+身份证号+入住时间+退房时间+联系电话
关键字:
客房号+身份证号
相关联的处理:
P3
数据存储编号:
D4
数据存储名称:
消费结账单
简述:
记录消费结账信息
数据存储组成:
消费结账单号+客人姓名+客人身份证号+房号+消费金额
关键字:
消费结账单号
相关联的处理:
P4
数据存储编号:
D5
数据存储名称:
客人信息表
简述:
记录客人信息
数据存储组成:
客人身份证号+客人姓名+性别+联系电话
关键字:
客人身份证号
相关联的处理:
P2
数据处理描述:
处理逻辑编号:
P1
处理逻辑名称:
员工注册登录
输入的数据流:
F1,F3
处理:
信息登记
输出的数据流:
F2
处理频率:
100条/次
处理逻辑编号:
P2
处理逻辑名称:
订房
输入的数据流:
F2
处理:
信息登记
输出的数据流:
无
处理频率:
100条/次
处理逻辑编号:
P3
处理逻辑名称:
退房
输入的数据流:
F4
处理:
信息登记
输出的数据流:
F3
处理频率:
100条/次
处理逻辑编号:
P4
处理逻辑名称:
结账
输入的数据流:
无
处理:
信息登记。
输出的数据流:
F4
处理频率:
100条/次
外部实体描述:
外部实体编号:
S1
外部实体名称:
员工
简述:
前台、客房服务工作人员
输入的数据流:
无
输出的数据流:
F1、F2、F3/F4
外部实体编号:
S2
外部实体名称:
客人
简述:
住宿客人
输入的数据流:
无
输出的数据流:
F2、F3
数据项描述:
数据项编号:
I1
数据项名称:
订单编号
别名:
订房单编号
简述:
酒店订房单的编号
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
数据项编号:
I2
数据项名称:
员工登陆单编号
别名:
员工登陆单编号
简述:
员工某天登陆单的编号
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
数据项编号:
I3
数据项名称:
住宿单编号
别名:
住宿单编号
简述:
客人住宿单的编号
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
数据项编号:
I4
数据项名称:
退单编号
别名:
退单编号
简述:
客人退房单的编号
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
数据项编号:
I5
数据项名称:
客人信息登记单编号
别名:
客人信息登记单编号
简述:
客人信息登记单的编号
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
数据项编号:
I6
数据项名称:
结账单编号
别名:
结账单编号
简述:
退房结帐单的代码
类型及宽度:
字符型,10位
取值范围:
“0000000000”-“9999999999”
3概念结构设计
概念结构设计的E-R图如下所示:
E-R图
概念结构设计的CDM图如下所示:
CDM图
4逻辑结构设计
由CDM转换而来的PDM图如下所示:
PDM图
5物理结构设计
PDM转换而来的脚本文件:
/*==============================================================*/
/*Databasename:
酒店客房管理系统*/
/*DBMSname:
MicrosoftSQLServer2000*/
/*Createdon:
2012-12-2215:
12:
31*/
/*==============================================================*/
use酒店客房管理系统
go
usemaster
go
dropdatabase酒店客房管理系统
go
usemaster
go
/*==============================================================*/
/*Database:
酒店客房管理系统*/
/*==============================================================*/
createdatabase酒店客房管理系统
go
use酒店客房管理系统
go
/*==============================================================*/
/*Table:
book*/
/*==============================================================*/
createtablebook(
S_idchar(20)notnull,
C_IDchar(10)notnull,
room_idchar(10)notnull,
B_idchar(10)notnull,
constraintPK_BOOKprimarykey(S_id,C_ID,room_id)
)
go
/*==============================================================*/
/*Index:
book_FK*/
/*==============================================================*/
createindexbook_FKonbook(
S_idASC
)
go
/*==============================================================*/
/*Index:
book2_FK*/
/*==============================================================*/
createindexbook2_FKonbook(
C_IDASC
)
go
/*==============================================================*/
/*Index:
book3_FK*/
/*==============================================================*/
createindexbook3_FKonbook(
room_idASC
)
go
/*==============================================================*/
/*Table:
cancel*/
/*==============================================================*/
createtablecancel(
S_idchar(20)notnull,
C_IDchar(10)notnull,
room_idchar(10)notnull,
cancel_idchar(10)notnull,
constraintPK_CANCELprimarykey(S_id,C_ID,room_id)
)
go
/*==============================================================*/
/*Index:
cancel_FK*/
/*==============================================================*/
createindexcancel_FKoncancel(
S_idASC
)
go
/*==============================================================*/
/*Index:
cancel2_FK*/
/*==============================================================*/
createindexcancel2_FKoncancel(
C_IDASC
)
go
/*==============================================================*/
/*Index:
cancel3_FK*/
/*==============================================================*/
createindexcancel3_FKoncancel(
room_idASC
)
go
/*==============================================================*/
/*Table:
client*/
/*==============================================================*/
createtableclient(
C_IDchar(10)notnull,
room_idchar(10)null,
C_namechar(10)null,
C_sexchar(3)null,
C_telchar(10)null,
constraintPK_CLIENTprimarykeynonclustered(C_ID)
)
go
/*==============================================================*/
/*Index:
客人住宿_FK*/
/*==============================================================*/
createindex客人住宿_FKonclient(
room_idASC
)
go
/*==============================================================*/
/*Table:
room*/
/*==============================================================*/
createtableroom(
room_idchar(10)notnull,
pricefloat(10)null,
sumintnull,
constraintPK_ROOMprimarykeynonclustered(room_id)
)
go
/*==============================================================*/
/*Table:
staff*/
/*==============================================================*/
createtablestaff(
S_idchar(20)notnull,
S_namechar(10)null,
S_sexchar(3)null,
S_addrchar(20)null,
S_locchar(10)null,
constraintPK_STAFFprimarykeynonclustered(S_id)
)
go
/*==============================================================*/
/*Table:
处理结账*/
/*==============================================================*/
createtable处理结账(
S_idchar(20)notnull,
C_IDchar(10)notnull,
constraintPK_处理结账primarykey(S_id,C_ID)
)
go
/*==============================================================*/
/*Index:
处理结账_FK*/
/*==============================================================*/
createindex处理结账_FKon处理结账(
S_idASC
)
go
/*==============================================================*/
/*Index:
处理结账2_FK*/
/*==============================================================*/
createindex处理结账2_FKon处理结账(
C_IDASC
)
go
altertablebook
addconstraintFK_BOOK_BOOK_STAFFforeignkey(S_id)
referencesstaff(S_id)
go
altertablebook
addconstraintFK_BOOK_BOOK2_CLIENTforeignkey(C_ID)
referencesclient(C_ID)
go
altertablebook
addconstraintFK_BOOK_BOOK3_ROOMforeignkey(room_id)
referencesroom(room_id)
go
altertablecancel
addconstraintFK_CANCEL_CANCEL_STAFFforeignkey(S_id)
referencesstaff(S_id)
go
altertablecancel
addconstraintFK_CANCEL_CANCEL2_CLIENTforeignkey(C_ID)
referencesclient(C_ID)
go
altertablecancel
addconstraintFK_CANCEL_CANCEL3_ROOMforeignkey(room_id)
referencesroom(room_id)
go
altertableclient
addconstraintFK_CLIENT_客人住宿_ROOMforeignkey(room_id)
referencesroom(room_id)
go
altertable处理结账
addconstraintFK_处理结账_处理结账_STAFFforeignkey(S_id)
referencesstaff(S_id)
go
altertable处理结账
addconstraintFK_处理结账_处理结账2_CLIENTforeignkey(C_ID)
referencesclient(C_ID)
go
6总结
经过几天的课程设计,我想对于我来说还是有收获的,让我对数据库的设计过程有了一个全面的认识和更深的了解。
从需求分析到概念结构设计,是一个转折,只要在需求分析阶段将整个流程分析透彻,将需求分析要完成的各种功能做一个全面的掌握。
需求分析阶段,对系统目标的要求是一个重点,业务流程图更加重要,而数据流程图和数据字典则是该阶段最为重要也是最为麻烦的部分。
然而,我个人感觉,只要静下心来,认真思考,所有的问题也都不是问题。
这次的课程设计只是一个练兵的过程,与实战相比自然是略有不足,但是对于锻炼一个人的处理事情的能力、对数据库设计的整体把握都起到了至关重要的作用,感谢老师提供了这样一个机会!
7参考文献