酒店预定系统
一:需求分析。
(一):任务概述。
这次所做的酒店预定系统主要是针对酒店的客房预定,即通过数
据库技术对酒店的客房预定以及对客房和相关信息进行系统的管理。
目标是帮助酒店工作人员提高工作效率,实现客房信息管理#工作
#
的系统化,
化和自动化。
(二)需求说明。
本系统主要有以下功能要求:
1.房客管理模块,该模块是本系统的核心所在。主要用于用户
对房客及其业务的情况进行管理,其中包括:
预定管理模块,主要包括预定信息的登记,查看,删除等基本操
作。
登记管理模块,主要用于客户入住信息的登记,查看,修改,删
除等基本操作。
结帐管理模块,主要用于用户退房操作。
换房管理模块,主要用于入住用户的换房操作。
2.客房管理模块,该模块用于查看客房状态。主要有客房的添
加,修改,删除等基本操作。
3.审查管理模块,主要用于该酒店管理者对酒店的基本数据信
息进行查看,以便制定策略。包括客房状态报表查看,客人入住信息
报表查看,历史客人报表查看等等。
4.系统管理。
酒店预定系统
房客管理 客房管理 审查管理 系统管理
预登结换客客客入历
定记账房房房房住史
管管管管查编状信客
辑 人 理 理 理 理 看 态 息
图2 功能需求结构图
(三)数据流程图(DFD)。
酒店客房业务的基本流程主要包括:
客房的预定,客人通过电话或者其他途径向酒店进行客房预定,
接待人员查询客房状态表后确定有空房则接受预定,预定成功后发给
客人预定凭证,客房状态表作出相应的变化。
客房的登记,分为预定入住和散客登记
如果客人已经预定房间,则根据预定凭证进行预定入住操作,发
给客人房卡,客房状态由“预定”变为“入住”。
如果客人没有预定房间,接待人员查询客房状态表后,有空房则
进行客房登记操作,发给客人房卡,客房状态由“空房”变为“入住”。
客人换房,如果客人对入住的客房条件不满意,则可进行客人换
房操作。接待人员将客人的房间进行更换,并更换客人房卡,客房状
态也进行相应的调整。
客人退房,客人退房时,接待人员根据客人的房卡,进行退房登
记。计算客人入住期间的房费,餐费,话费,各种消费和押金总额。
对客人收取费用或者退回押金。客人信息转存到历史客人表中。客房
状态由“入住”转为“空房”。
客户
客房预定 客户
客房状态信息 接待
客人入住 客人换房
历史客人
客人退房
数据库 结算收银
MIS
(四)数据字典(DD)
系统数据字典(DD-Date Dictionary)是描述数据流程图中所有数据流、数据存储、处理功能等卡片的集合。数据字典提供一个可
定义的不依赖于应用程序 的存储区域,用于创建扩展的属性集和描
[7]述数据的
与外观。其内容包括四种条目:数据流,数据元素、数据存储和数据加工。建立完善的数据字典是对所整理数据的一种分
析归档方式,为下一步建立数据库和处理数据做准备。 数据流名称 说明 来源 去处 组成 客房信息 客房的基本信客房基本信息 客房状态信息 客房号、类型、配置、备
息 注等 预定信息 客人的预定信预定管理 客房状态信息 姓名、证件、证件号、联
息 系电话、详细地址、工作
单位、客房类型 客人信息 入住客人的基登记管理 客房状态信息 姓名、证件、证件号、联
本信息 系电话、详细地址等。 换房信息 客人的换房要换房管理 客房状态信息 客房号、类型、配置、备
求和信息 注等 退房信息 客人退房信息 退房管理 客房状态信息 客房号、类型、配置、备二、概念结构设计 注等 (一)局部概念模式设计
1.客房预定及E-R图。
顾客根据酒店提供的客房信息和自己的要求进行订房。
身份证类型 姓名 号码 房号
客房 客户 预定
入住时客房电话 规格 价格 房态 间 要求
2.换房管理及E-R图。
根据客户要求进行换房管理。
价格 房态 规格 房态 价格 规格
客房 换房 客房 类型
类型
房号 客人客人
房号 信息 信息
3.退房管理及E-R图。
根据客户的退房要进行退房管理。
身份房号 入住证 姓名 房态 日期 价格
客户 退房 客房 入住
日期 类型
房号 客人消费
房号 信息 信息
结账
金额
收银台
(二)全局概念模式设计
对预定系统的全过程进行分析描述及E-R图。
身份房号 入住证 姓名 房态 日期 价格
消费
信息 预定和客户 客房 退房
入住
日期 类型
房号 客人
房号 信息
结账和电话 地址 客户管名称 客房管理 理
酒店
三、逻辑结构设计
(一)数据模型。
1.客房
信息。(房号,类型,是否有空调、单价,备注) 类型包括:套房,单人间,双人间。
2.客房信息。(房号,类型,状态、单价、备注)
状态包括:入住,被预定,空房
3.预定信息,(订房编号、房号、类型、单价、房客姓名、房客身份
证号码、入住日期、备注)。
4.结算信息,(订房编号、客房编号、客房类型、客房单价、房客姓
名、房客身份证号码、入住日期、结算时间、备注) 5.房客信息。(姓名、身份证号码、房号、入住日期、备注) (二)表。
1:客房标准信息表。
房号 类型 是否有空调 单价 备注 int float varchar varchar varchar 2;客房信息表
房号 类型 状态 价格 备注 int float varchar varchar varchar 3;预定信息表。
订房编房号 类型 单价 房客姓名 房客身入住日期 备注 号 份证号
码
Int Int datetime Money Int varchar varchar varchar 4;结算信息表。
订房房号 类型 单价 姓名 身份入住日期 结算时间 金额 编号 证号
码
int int datetime datetime Money Money Int varchar varchar
5;房客信息表。
姓名 身份证号房号 入住日期 备注
码
datetime int int varchar varchar
四、物理结构设计
五、数据实施和维护
1:建库。
create database 酒店预定
on primary
(name=酒店预定,
filename='D:\课程设计\数据库\酒店预定.MDF',
size=5MB,
maxsize=50MB,
filegrowth=1MB)
log on
(name=酒店预定_log,
filename='D:\课程设计\数据库\酒店预定_log.LDF',
size=2MB,
建表。 maxsize=50MB,
create table 客房标准信息表( filegrowth=10%)
房号int primary key not null, go
类型varchar(50) null,
是否有空调varchar(50) null,
单价money null,
备注varchar null)
Go
create table 客房信息表(
房号int primary key not null,
类型varchar(50) null,
状态varchar(50) null,
单价money null,
备注varchar null)
Go
create table 预定信息表( 预定编号varchar(50) primary key not null,
房客姓名varchar(50),
身份证号码varchar(50), 房号int not null,
预定日期datetime null)
Go
create table 房客信息表( 顾客姓名varchar(50) not null, 身份证号码varchar(50) not null, 客房编号varchar(50) primary key not null,
入住日期datetime null,
结算日期datetime null,
金额float null)
Go
create table 结算信息表( 顾客姓名varchar(50) not null, 身份证号码varchar(50) primary key not null,
客房编号varchar(50) not null,
入住日期datetime null,
结算日期datetime null,
金额float null) 然后进行数据插入。
go insert into 客房标准信息表
values(101,'双人间','有','100','null') insert into 客房标准信息表
values(102,'双人间','无','50','null') insert into 客房标准信息表
values(201,'单人间','有','150','null') insert into 客房标准信息表
values(202,'单人间','有','150','null') insert into 客房标准信息表
values(301,'套间','有','200','null') insert into 客房标准信息表
values(302,'套间','有','200','null')
insert into 客房信息表
values(101,'双人间','预定','100','null') insert into 客房信息表
values(102,'双人间','空房','50','null') insert into 客房信息表
values(201,'单人间','入住','150','null') insert into 客房信息表
values(202,'单人间','空房','150','null') insert into 客房信息表
values(301,'套间','预定','200','null') insert into 客房信息表
values(302,'套间','入住','200','null')
insert into 预定信息表
values(01,'王五','124568','101','2009-01-01') insert into 预定信息表
values(02,'李四','254687','301','09-01-04')
insert into 房客信息表
values('张三','5485467','201','2009-01-02','2009-01-05',300)
insert into 房客信息表
values('黄青','6487122','302','09-01-03','09-01-03',600)
2
(1)。插入数据。
use 酒店预定
insert into 预定信息表
values(03,'曾林',235461,202,2009-01-11)
go
select* from 预定信息表
go
(2)。修改信息。
update 房客信息表
set 身份证号码=5695467 where 房客姓名='张三'
(3)删除信息。
delete from 预定信息表
where 房客姓名='曾林'
3、实现各种查询(简单查询、模糊查询、连接查询、嵌套查询等
(1);
select * from 房客信息表
where 客房编号=201
(2);
select * from 预定信息表
where 房客姓名like '李%'
(3)
select 状态from 客房信息表inner join 房客信息表on
客房信息表.房号=房客信息表.房号
4;设计,要求在存储过程中使用游标;,实现表
间的级联删除或修改。
(1).存储过程
create procedure proc_单价
@单价money,@类型varchar(10) as
declare cursor_no_xf cursor
for
select 单价,类型from 客房标准信息表 open cursor_no_xf
fetch next from cursor_no_xf into @单价,@类型
while @@fetch_status=0
begin
set @单价=@单价
set @类型=@类型
update 客房标准信息表 set 单价=@单价where 类型=@类型
fetch next from cursor_no_xf into @单价,@类型
end
close cursor_no_xf
deallocate cursor_no_xf go exec proc_单价100,双人间 exec proc_单价200,单人间 select * from 客房标准信息表select * from 客房标准信息表
(2)触发器。
create trigger trig_update
on 客房标准信息表
for update
as
declare @房号int,@类型varchar(20) if update(类型)
update 客房标准信息表set 类型=@类型
where 房号=@房号
print'该列值不能改!'
rollback transaction
print '该数值已成功修改!'
go
update 客房标准信息表
set 类型='双人间' where 房号='02'
六、结束语
这次做的系统比较的简单,只是对酒店的客房预定和客房管理进行设计。实
现了对客房预定信息的基本操作和管理。不足之处是没有与酒店的其他部门建立
好的联系,只是简单的描述了客户从预定到入住到退房这一流程,还包括换房管
理和结算管理。