酒店管理系统实验报告组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库大作业
酒
店
管
理
系
统
实验报告
----------------------目录----------------------
一、需求分析 (1)
二、E-R图 (2)
三、物理与逻辑设计 (3)
四、数据字典 (5)
五、系统实现 (7)
六、开发环境 (9)
七、问题与感想: (9)
一、需求分析
1、酒店管理系统是一种典型的信息管理系统。随着信息化的发展,现在的酒店不但需要豪华的装饰和舒适的居住环境,还需要为客人提供快捷优质的服务。通过酒店管理系统就可以做到这一点,并且还能降低酒店的运营成本,提高酒店的效率和效益。
2、操作人员进入系统后将能够查询当前酒店房间的状态,房间状态可以分为入住、预定、空闲、脏房等。有宾客时,将能够完成开单操作,从而让宾客进行入住。当宾客离开酒店时,将能够完成结账操作,从而送走宾客。同时,还应接受宾客的预定,为即将到来的宾客留出指定的房间。为了更好的了解酒店运行情况,在该系统中还应具有营业查询的功能,从而知道酒店的具体营业额和每一个宾客的消费情况。
3、功能分析。根据需求分析,可以将酒店管理系统分为如下几个模块:房间管理模块、客户入主模块、预定管理模块和酒店营业查询模块。各模块的具体分析如下:
房间管理模块:该模块中主要完成对九点钟的房间进行查询、修改、新增和删除操作。此外,对房间类型的添加和删除也可以算在该模块之中。
客户入住模块:该模块中完成酒店最频繁操作的功能,就是宾客入住和结账。
预定管理模块:该模块中可以完成查询预订的功能,例如查询某一房间或某一宾客的预订信息。此外可以对已有的预订信息进行添加和删除操作。
营业查询模块:该模块可以设置为只有管理员才能够操作。通过该模块可以查询一定日期范围内的营业记录。
4、设计系统功能,绘制用例图。酒店管理系统是在酒店内部使用的管理工具,其用户主要是酒店操作人员和管理员。日常工作中,只要是操作人员来使用该系统。管理员除了具有操作人员的所有功能外,还能够对操作人员进行管理。
二、E-R图
用户信息(用户名#,密码)
房间类型(房间类型#)
房间信息(房间号码,房间类型,房间状态,房间价格,备注)
预定登记(姓名,性别,证件类型,证件号码,联系电话,客房类型,房
间号,房间价格,预定天数,日期,时间,操作员,备注)
开单信息(姓名,性别,证件类型,证件号码,房间号码,房间类型,联
系电话,客房价格,住宿日期,开单日期,开单时间,备注)
结账信息(姓名,性别,证件类型,证件号码,房间号,客房类型,客房
价格,住宿日期,住宿天数,宿费,折扣,杂费,金额总计,日期,时间,备注)
分E-R图(略去属性)
全局E-R图,略去属性:
1)部分数据项
{ 数据项名:房间编号
含义说明:用于对房间编号,方便标识住宿
数据类型:Varchar
长度:3
取值含义:首个数字代表楼层,后两位代表编号
与其他数据项之间的关系:其他数据项完全依赖于此
}
2)数据结构
如表所示
3)数据流
{数据流名:房间信息查看流
说明:房间预定或要入住时对房态信息的查看
数据来源去向:房间信息到用户查看信息
数据结构:房间信息表
}
{
数据流名:房间预订信息流
说明:根据用户需求和现在房态信息进行预订
数据来源去向:房态信息到房间预订,用户信息到房间预订数据结构:房间预定表
}
4)数据存储
{
数据存储名:房间收款单
说明:记录用户信息和住店时间长度以及在店消费记录
输入数据流:结账信息表和开单信息表
输出数据流:结账信息表
数据描述:消费记录,客人信息,消费总额
数据量:约三十条记录
存取方式:随机
存取频度:100次/月
}
5)处理过程
{
处理过程名:用户结账
说明:根据消费记录和账目明细进行计算并结算
数入数据:入住单表和账目明细表
数据存储:收款单
输出数据:支付费用表
}
五、系统实现
数据库包含四个触发器:
触发器1:向开单信息表插入一条记录时,修改房间信息表中对应房间号的房间状态为“入住”
create trigger myTrigger1
on开单信息表
for insert
as begin
declare@roomNO nchar(10)
select@roomNO=房间号码from inserted
update房间信息表set房间状态='入住'where房间号码=@roomNO
end
触发器2:向结账信息表插入一条记录时,修改房间信息表中对应房间号的房间状态为“空闲”
create trigger myTrigger2
on结账信息表
for insert
as begin
declare@roomNO nchar(10)
select@roomNO=房间号from inserted
update房间信息表set房间状态='空闲'where房间号码=@roomNO end
触发器3:向预订信息表插入一条记录时,修改房间信息表中对应房间号的房间状态为“预订”
create trigger myTrigger3
on预订登记表
for insert
as begin
declare@roomNO nchar(10)
select@roomNO=房间号from inserted
update房间信息表set房间状态='预订'where房间号码=@roomNO
end
触发器4:从预订信息表删除一条记录时,修改房间信息表中对应房间号的房间状态为“空闲”
create trigger myTrigger4
on预订登记表
for delete