酒店客房管理系统大数据库设计.docx
- 文档编号:28624756
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:23
- 大小:563.49KB
酒店客房管理系统大数据库设计.docx
《酒店客房管理系统大数据库设计.docx》由会员分享,可在线阅读,更多相关《酒店客房管理系统大数据库设计.docx(23页珍藏版)》请在冰豆网上搜索。
酒店客房管理系统大数据库设计
任务书
一、数据库原理课程设计的任务
1〕通过本课程设计的训练,使学生掌握数据库技术的实际应用以与数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。
2〕通过课程设计,掌握数据库开发工具的使用以与综合编程调试的能力,结合数据库原理的根本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备根本的数据库编程能力,为以后能进展数据库系统设计、开发与维护打下良好的根底。
3)提升工程实践能力、团队协作精神、交流与沟通能力;
4〕通过规X化的实验报告,培养学生良好的文档习惯以与撰写规X文档的能力。
二、课程设计的根本内容
课设内容
结合一个具体任务〔课程设计题目〕,完成一个基于C/S或B/S模式的数据库系统的设计,主要应包括如下内容:
1.完成课题任务的需求分析、完成系统总体结构设计方案〔主控功能模块、数据处理模块、统计报表模块等〕;
2.数据库结构的设计与实现;
3.数据库安全的设计;
4.数据修改的设计、数据查询的设计;
5.统计与报表输出的设计;
目的与要求
目的:
结合数据库原理的根本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统。
要求:
受学生对于所学根底和专业知识的综合应用能力与程序设计与调试能力的不同,一周时间大体分为三个阶段:
需求分析;数据库设计;应用程序设计。
要求提交相关软件和规X的设计说明书电子文档。
要求在设计过程中树立科学的设计思想,有全局观念,培养高度的协作精神。
课设形式
1、2-3人一组
2、课内10学时,课内检查,其余为课外学时。
课设考核
1、现场验收并对实验内容进展提问。
2、根据设计方案、实验结果、附加功能、操作熟练程度、现场检查和回答情况与课程设计报告质量综合评定成绩。
1.数据库需求分析·······································4
1.1设计目的·············································4
1.2系统功能分析·········································4
1.3功能模块设计·········································5
2.数据库概念结构设计··································6
2.1概念模型·············································6
E-R模型·············································6
3.数据库逻辑结构设计··································8
3.1关系模型设计········································9
数据模型的优化······································9
子模式设计··········································9
4.数据库物理结构设计··································9
4.1存取方式设计·········································9
4.2存储结构设计········································10
5.数据库安全性、完整性设计··························10
5.1主要视图设计········································10
5.2用户权限············································10
6.数据库实现···········································11
6.1编码实现············································11
···································11
·····································14
索引的创建········································14
······································14
·······································15
7.数据录入调试与运行··································16
8.课程设计总结体会····································18
9.参考文献·············································19
本酒店客房管理系统是为了满足现代酒店的管理需求、提高对顾客的服务质量、方便酒店的管理和运营而设计的一款多功能易操作的基于B/S模式的数据库管理系统。
由于当前的多数酒店都是以人工的方式来统计管理酒店里的各项事务,其中带来了很多的不便,使得酒店的管理也相比照拟困难。
对于酒店的营业情况的统计,要消耗很大的人力来进展统计分析。
人工方式的管理也很容易出现管理上的失误。
随着计算机技术和互联网技术的开展,设计一种可以实现自动化管理酒店事务的系统是当前酒店行业的一个迫切要求。
本款酒店客房管理系统就是应运而生的一款快捷酒店管理系统,它可以使酒店人员很方便的管理酒店的各项事务,并将管理的失误降到最低。
本系统通过对不同的人员分配不同的权限可以很好的防止客户以与酒店一些信息的泄露。
酒店会计还可以通过本系统快捷地统计出酒店在特定阶段的营业情况,可以根据分析的结果进展相应业务的调整。
顾客可以通过本系统对入住的体验进展评价或者提出相关的建议,可以使酒店的服务更加完善。
功能分析
本系统是为方便酒店管理和日常的营业需要,参加了酒店房间预定功能、顾客入住登记功能、员工维修客房设施记录功能、顾客体验反应功能、营业情况统计功能。
酒店房间预订系统:
顾客可根酒店客房的一些信息,根据自身需求预定相应的客房,并支付一定的押金,顾客可根据情况选择入住或者退订已预订的房间。
顾客入住登记功能:
当顾客预定好房间选择入住时,系统进入住登记阶段,用户登记自身信息,并根据预定的订单信息办理入住房间。
员工维修记录功能:
当酒店里的服务设施发生故障时,维修人员对故障进展维修,并记录维修的设施名称与其维修时间,以与维修所产生的费用,最后将数据存储在数据库中,并打印凭条以便上报。
顾客体验反应系统:
当顾客要退房离开时,顾客可根据自身体验对酒店的设施和服务进展相应的评价和对一些问题提出相应的建议便于酒店对此做出改良。
营业情况统计功能:
酒店人员可根据特定阶段的营业状况,对消费记录进展分析,得出相应阶段营业盈亏的原因,并从中提取一些好的建议,以利于酒店的盈利。
--系统功能模块图—
●有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、以与单独卫生间等。
●客房标准信息的修改、查询等。
●客房根本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。
●客房根本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。
●剩余客房信息的查询等。
●订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客某某、顾客某某、入住日期、折扣、备注信息等。
●订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客某某、顾客某某、入住日期、折扣、备注信息等。
●入住信息的输入,包括客房编号、客房种类、位置、客房单价、顾客某某、顾客某某、入住日期、折扣、结算日期、备注信息等。
●入住信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客某某、顾客某某、入住日期、折扣、结日期、备注信息等。
●员工信息的输入,包括员工工号,员工某某,性别,年龄,手机,酒店编号信息等。
概念模型
●客房标准信息:
客房编号、客房名称、床位数量、住房单价。
●客房信息:
客房编号、客房种类、客房位置、客房单价,客房状态。
●订房信息:
订单编号、客房种类、顾客某某、顾客某某、订房时间、折扣。
●顾客信息:
顾客某某、顾客某某、手机。
●入住信息:
流水单号、客房编号、客房类型、顾客某某、入住时间、结算时间、职工工号、结算备注。
●职工信息:
工号、职工某某、职工性别、职工年龄、入职时间、职务。
●酒店信息:
酒店编号、酒店名称、酒店。
●物品信息:
物品编号、物品名称、物品类别、物品单价、库存。
●维修信息:
流水单号、维修时间、维修物品、房间编号、维修费用。
2.2E-R图
客房标准信息E-R图
职工信息E-R图
顾客信息E-R图
物品信息E-R图
酒店信息E-R图
实体间联系E-R图
关系模型设计
客房〔客房编号,客房名称,客房类型,床位数量,住房单价,酒店编号〕
顾客〔顾客某某,顾客某某,手机〕
员工〔员工工号,员工某某,员工性别,员工年龄,手机,入职时间,职务〕
酒店〔酒店编号,酒店名称〕
物品〔物品编号,物品名称,物品单价,物品类型〕
入住〔流水单号,房间名称,顾客某某号,入住时间,退房时间,住宿时长,住宿费用〕
预定〔流水单号,顾客某某号,房间类型,预定时间,预定入住时长,押金,预定状态〕
维修〔流水单号,员工工号,房间编号,维修设施名称,维修费用,维修时间〕
消费〔流水单号,入住单号,消费物品名称,消费量,消费金额〕
评价〔流水单号,顾客某某号,评论时间,评论星级,评论内容,酒店编号〕
数据模型的优化
客房信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和局部依赖所以符合3NF.
顾客信息关系模型中的关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和局部依赖所以符合5NF.
员工信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和局部依赖所以符合3NF.
酒店信息在酒店信息关系模式中,因仅有两个属性且属性间不存在局部依赖,传递依赖所以该模式设计合理符合第三X式。
物品信息在物品信息关系模式中,主属性可推出关系中的所有非主属性,关系中不存在传递依赖和局部依赖,且每一个决定因素都包含码,该关系模式满足BFX式。
入住信息
3.3子模式设计
为方便系统的使用,以与开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。
在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。
在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客某某信息的前六位和后四位,以防止顾客信息的泄露。
在用户查询入住信息,评价信息,消费信息以与维修信息时,流水单号都可忽略,减少用户的信息阅读量。
4.数据库物理结构设计
由于本系统的数据信息的查询操作频繁,所以在局部表中建立索引以提高查询效率。
客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。
顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户某某属性上建立非聚簇索引的方法提高数据的查询效率。
入住信息表和预定信息表要频繁的进展插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上建立聚簇索引便于数据的查询。
由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上消耗大量时间,所以不建议添加索引。
评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。
本系统的数据的存储结构可根据数据的规模的进展设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。
对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。
具体的设计要根据实际情况进展详细的设计。
5.数据库安全性、完整性设计
顾客加密信息〔顾客某某号,顾客某某〕顾客某某只显示前六位和后四位。
客房根本信息〔客房名称,客房类型,床位数量,住房单价〕
入住根本信息〔房间编号,顾客某某号,入住时间,退房时间,住宿时长,住宿费用〕某某只显示前六位和后四位。
预定根本信息〔顾客某某号,房间类型,预定时间,预定入住时长,押金,预定状态〕某某只显示前六位和后四位。
顾客消费总金额〔客房名称,客房类型,入住时间,退房时间,住宿时长,住宿费用,消费总金额〕
5.2用户权限
酒店经理:
对于客房信息表具有查看,修改,添加权限。
对于顾客信息表具有查看权限。
对于入住和预定信息表具有查看权限。
对于员工信息表具有查看,修改,插入和删除权限。
酒店会计:
对于客房信息表具有查看结算信息表具有查看和插入权限。
对于员工表具有查看权限。
酒店前台:
对于客房信息表具有查看权限,对其中的客房的入住状态具有修改权。
对于顾客信息表具有插入权。
对于入住表和预定表具有插入权。
顾客:
对客房信息某些记录具有查询权。
6.数据库实现
CREATEDATABASE[酒店客房信息管理系统]ONPRIMARY
(
NAME=N'酒店客房信息管理系统',
FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\酒店客房信息管理系统.mdf',
SIZE=3072KB,
FILEGROWTH=1024KB
)
LOGON
(
NAME=N'酒店客房信息管理系统_log',
FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\酒店客房信息管理系统_log.ldf',
SIZE=1024KB,
FILEGROWTH=10%
)
createtable物品
(
物品编号char(5)primarykey,
物品名称char(30)notnull,
物品单价money,
物品类型char(10)
);
createtable顾客
(
某某号char(18)primarykey,
某某char(20)notnull,
手机号char(11)
);
createtable酒店
(
酒店编号char(4)primarykey,
酒店名称char(20)
);
createtable客房
(
客房编号char(4)primarykey,
客房名称char(4)notnull,
客房类型char(8)check(客房类型in('标准间','豪华间')),
客房状态char(4)check(客房状态in('入住','空闲')),
床位数int,
客房单价money
);
createtable员工
(
员工工号char(6)primarykey,
员工某某char(20)notnull,
员工性别char
(2)check(员工性别in('男','女')),
员工年龄intcheck(员工年龄>18and员工年龄<60),
员工职务char(20)notnull,
手机号char(11)
);
createtable维修
(
维修流水单号intprimarykeyIDENTITY(1,1),
维修房间编号char(4)foreignkeyreferences客房(客房编号),
维修员工工号char(6)foreignkeyreferences员工(员工工号),
维修物品名称char(20),
维修时间date,
维修费用money
);
createtable评论
(
酒店编号char(4),
顾客某某号char(18),
评论时间date,
评论星级int,
评论内容char(500)notnull
);
createtable预定
(
流水号char(8)primarykey,
预定客房编号char(4)foreignkeyreferences客房(客房编号),
顾客某某号char(18)foreignkeyreferences顾客(某某号),
员工工号char(6)foreignkeyreferences员工(员工工号),
预定时间date,
预订时长int,
预定状态char(10),
退订时间date,
押金money
);
createtable入住
(
流水单号intprimarykeyIDENTITY(1,1),
入住客房编号char(4)foreignkeyreferences客房(客房编号),
顾客某某号char(18)foreignkeyreferences顾客(某某号),
入住时间date,
退房时间date,
住宿费用money,
);
createtable消费单
(
消费流水单号intprimarykeyIDENTITY(1,1),
入住流水单号intforeignkeyreferences入住(流水单号),
物品编号char(5)foreignkeyreferences物品(物品编号),
消费量int,
消费金额money
);
--创建客房根本信息视图--
createview客房根本信息
as
select客房名称,客房类型,床位数,客房单价
from客房
--统计顾客住宿的消费费用--
createview消费统计
as
select流水单号,客房名称,客房类型,入住时间,退房时间,DATEDIFF(day,入住时间,退房时间)as住宿时长,住宿费用
from入住join客房on客房.客房编号=入住.入住客房编号
--创建顾客加密信息视图--
createview顾客加密信息
as
select某某=replace(某某号,substring(某某号,7,8),'********'),某某,手机号
from顾客.
--创建预订概要信息便于查询--
createview预定概要信息
as
select预定客房编号,顾客某某号,预定时间,客房类型,押金,预定状态
from预定
因其他表在建立主键时以默认添加,此处不再添加额外索引。
--在顾客上创建非聚簇索引--
create
indexo_index
on顾客(某某号)
创建用户。
如如下图所示、
-------用户权限的设置--------
grantselect,update,inserton客房to经理
grantselecton预定to经理
grantselecton入住to经理
grantselecton顾客加密信息to经理
grantselect,delete,insert,updateon员工to经理
grantupdate,selecton入住to会计
grantupdate,selecton预定to会计
grantselecton客房to会计
grantselectupdateinserton入住to前台
grantselecton客房to前台
grantinserton顾客to前台
grantselecton顾客加密信息to前台
6.1.5存储过程的设计
-----创建存储过程-----
--添加信息
createprocedureadd_room
r_nochar(4),--客房编号
r_namechar(4),--客房名称
r_stylechar(8),--客房类型
r_bednumint,--床位数
r_pricemoney--房间价格
as
begin
insertinto客房
values(r_no,r_name,r_style,r_bednum,r_price)
end
go
--预定房间
createprocedureorder_room
c_idchar(18),--顾客某某号
r_stylechar(8),--房间类型
o_timeint,--预定时长
o_moneymoney--预定押金
as
begin
insertinto预定
values(null,null,c_id,null,r_style,GETDATE(),o_time,'已预订',null,o_money)
end
go
--退定房间
createproceduredisorder_room
o_idint--预定单号
as
begin
update预定
set预定状态='已退订'
where流水号=o_id,退订时间=getdate()
end
7.数据录入调试与运行
----添加评论信息----
execadd_ments
----添加预订信息-----
execorder_room
----对已预定的订单进展退订----
execdisorder_room1
系统登录界面
客房信息录入界面
房间预订界面
8.总结体会
本次数据库课程设计,我们做的是酒店客房信息管理系统。
内容相对于前几次的练习题与大作业来讲较为复杂,各个表之间的联系比拟严密,表的设计标准也相对要求较高。
在数据库实现之前,数据库的需求分析,功能模块划分,概念设计,关系模型设计,物理结构设计花费了我们很多时间与精力,有几次的设计结果在后来的分析上发现设计的系统存在许多的不足,导致我们前面的工作都要全部重新做一遍,用去了我们许多的时间。
在这个过程中,我们相互讨论,相互补充,将课堂上的理论知识运用于实际问题中,锻炼了我们的动手能力。
在课程设计中我们遇到的最大的问题就是需求分析与功能划分这两个局部,在系统确认时,我们经过了反复的讨论和修改才确定了一个相对较完善的数据库系统;在对功能设计时,我们查阅了网上资料和一些现代酒店管理的知识,并结合自身的一些体会对系统的功能逐渐进展完善,最终确定了本系统的功能模块。
在此期间我们讨论了很多设计方案,经过反复的讨论最终确定了一个合理的设计方案。
通过本次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店客房 管理 系统 数据库 设计