酒店管理系统实验报告组

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档