数据库课程设计报告酒店客房管理系统.docx

上传人:b****5 文档编号:5181722 上传时间:2022-12-13 格式:DOCX 页数:26 大小:336.72KB
下载 相关 举报
数据库课程设计报告酒店客房管理系统.docx_第1页
第1页 / 共26页
数据库课程设计报告酒店客房管理系统.docx_第2页
第2页 / 共26页
数据库课程设计报告酒店客房管理系统.docx_第3页
第3页 / 共26页
数据库课程设计报告酒店客房管理系统.docx_第4页
第4页 / 共26页
数据库课程设计报告酒店客房管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数据库课程设计报告酒店客房管理系统.docx

《数据库课程设计报告酒店客房管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告酒店客房管理系统.docx(26页珍藏版)》请在冰豆网上搜索。

数据库课程设计报告酒店客房管理系统.docx

数据库课程设计报告酒店客房管理系统

航空大学

《酒店客房管理系统》课程设计报告

 

 

学院软件学院专业软件工程

班级112062学号20

学生姓名昂指导教师璐

课程成绩完成日期2013年7月2号

 

1酒店客房管理管理系统需求分析

1.1开发背景

当前,随着信息的不断飞速发展,信息技术已逐渐成为各种技术的基础,信息也成为企业具有竞争力的核心要素。

企业的生存和发展依靠正确的决策,而决策的基础就是信息,所以企业竞争力的高低完全取决于企业对信息的获取和处理能力。

企业要准确、快速的获取和处理信息,企业信息化是必然的选择。

企业必须加快部信息交流,改进企业业务流程和管理模式,提高运行效率,降低成本,提高竞争力,信息化建设是企业适应社会发展的要求。

企业管理信息系统即企业MIS是企业信息化的重要容。

随着我国改革开放的不断推进,人民生活水平日益提高,旅游经济蓬勃发展,这一切都带动了酒店行业的发展。

再加上入境旅游的人也越来越多,入境从事商务活动的外宾也越来越多。

传统的手工已不适应现代化酒店管理的需要。

及时、准确、全位的网络化信息管理成为必需。

酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性的服务水准,错失一步,会令其辛苦经营的形象功亏一篑。

要成为一间成功的酒店,就必须作到宾至如归,面对酒店业激烈的竞争形势,各酒店均在努力拓展其服务领域的广度和深度。

虽然计算机并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。

因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。

1.2系统主要业务分析

1.2.1前台操作:

<1>开房登记:

客人把自身信息和要入住的房号告诉酒店操作员,酒店操作员可以帮用户登记入住信息;

<2>退房登记:

客人要是想查询房间的状态——是否已入住、是否已预订、是否是空闲——时,由酒店操作员帮忙查询;

<3>房状态查看:

客人要退房的时候付清住宿费,酒店操作员便帮客人把在住记录改成历史记录。

1.2.2预定管理:

<1>预定房间:

客人把自身信息和想预订的房间号给酒店操作员,酒店操作员便帮客人预订这间房间,之后其他人在此房间被取消预定前无法入住或预定;

<2>预定入住:

客人把自身信息和预定的房间号告诉酒店操作员,酒店操作员调出预定记录核对后在客户出示身份证件后便允他登记入住此房间;

<3>解除预定:

客人把自身信息和预定了的房号告诉酒店操作员,酒店操作员便帮客户取消预订。

1.2.3信息查询:

<1>在住客人列表查询:

显示现在在住的客人信息

<2>预订客人列表查询:

显示预定了房间的客人信息

<3>历史客人列表查询:

显示所有曾经在该酒店定房或入住的

1.2.4报表统计:

<1>开房记录统计:

显示现在有多少已经开房入住的客人

<2>退房结账统计:

显示现在有多少客人已经退房结账

<3>预订房间统计:

显示现在有多少客人预定了房间

1.3系统功能需求分析

 

图1-10层数据流图

 

图1-21层数据流图

 

图1-32层数据流图——房间操作处理

图1-42层数据流图——预定操作处理

图1-52层数据流图——信息查询处理

图1-62层数据流图——报表统计处理

 

1.4系统数据模型

根据上面所述的业务流程,可以得到系统的数据流图。

根据业务流程以及对应的数据流图,可以得到客户、账户、信用卡、表单、凭证等的数据字典。

根据得到的数据字典,我们可以得到各个实体的属性图。

以下就是主要实体的数据字典和实体图。

客人信息的数据项有:

姓名、性别、证件类型号、证件、联系。

由客人信息的数据项可以得到其相应的实体属性图,如图1-7所示:

图1-7客人信息实体图

证件类型的数据项有:

证件类型号、证件类型名。

由证件类型的数据项可以得到其相应的实体属性图,如图1-8所示:

图1-8证件类型实体图

房间信息的数据项有:

房号、房类型号、价格、押金、房状态。

由房间信息的数据项可以得到其相应的实体属性图,如图1-9所示:

图1-9房间信息实体图

房类型的数据项有:

房类型号、房类型名、房间平米。

由房类型的数据项可以得到其相应的实体属性图,如图1-10所示:

图1-10房类型实体图

 

订单的数据项有:

订单编号、客人证件号、预计入住日期、预计离开日期、入住日期、结账离开日期、应付金额。

由订单的数据项可以得到其相应的实体属性图,如图1-11所示:

图1-11订单实体图

 

由上述各实体及其属性可以得到实体间的关系图即ER图,如下图1-12所示:

预订

开房

包含

包含

证件类型

客人信息

订单

房间信息

房类型

n

m

1

n

1

n

m

1

图1-12E-R图

2酒店客房管理系统逻辑结构设计

主要功能

前台操作

预订管理

信息查询

报表统计

开房登记

退房结账

房状态查看

预订房间

预订入住

解除预订

在住客人列表查询

预订客人列表查询

历史客人列表查询

开房记录统计

退房结账统计

预订房间统计

2.1系统模块划分

 

图2-1系统模块划分

2.2数据库逻辑结构设计

数据库的关系模型根据数据模型来确定,即将关系模型转化为SQL-Server数据库系统所支持的实际数据模型,得到数据库的逻辑结构。

在数据库的关系模型及系统处理过程中的数据的结构的基础上,获得系统数据库表以及表之间的关系。

在本系统中,以下是系统中几个主要的数据依赖和数据库表结构,如表2-1到2-7所示:

数据依赖

表2-1数据依赖关系

关系名

主要函数依赖

客人信息

BCNF

证件—→(姓名,性别,证件类型号,联系)

证件类型

BCNF

证件类型号—→(证件类型名)

房间信息

BCNF

房号—→(房类型号,价格,押金,房状态)

房类型

BCNF

房类型号—→(房类型名,房间平米)

订单

BCNF

订单编号—→(客人证件号,预计入住日期,预计离开日期,入住日期,结账离开日期,应付金额)

开房

BCNF

(订单编号,房号)—→()

表2-2订单表(order_log)

编号

字段名

字段类型

备注说明

字段约束

1

order_id

char(10)

订单编号

主键

2

cust_id

char(20)

客人证件号

外键

3

plan_enter_date

datetime

预计入住日期

4

plan_leave_date

datetime

预计离开日期

5

enter_date

datetime

入住日期

6

leave_date

datetime

结账离开日期

7

order_money

int

应付金额

表2-3客人信息表(customer)

编号

字段名

字段类型

备注说明

字段约束

1

cust_id

char(20)

证件

主键

2

ptype_id

char(10)

证件类型号

外键

3

cust_name

char(10)

姓名

4

sex

char

(1)

性别

5

phone

char(10)

联系

表2-4房间信息表(room)

编号

字段名

字段类型

备注说明

字段约束

1

room_id

char(10)

房号

主键

2

rtype_id

char(10)

房类型号

外键

3

rprice

int

价格

4

rdeposit

int

押金

5

rstate

char(10)

房状态

表2-5证件类型表(paper_type)

编号

字段名

字段类型

备注说明

字段约束

1

ptype_id

char(10)

证件类型号

主键

2

ptype_name

char(10)

证件类型名

表2-6房类型表(room_type)

编号

字段名

字段类型

备注说明

字段约束

1

rtype_id

char(10)

房类型号

主键

2

rtype_name

char(10)

房类型名

3

rarea

numeric(5,2)

房间平米

表2-7开房表(book_room)

编号

字段名

字段类型

备注说明

字段约束

1

order_id

char(10)

订单编号

主键

2

room_id

char(10)

房号

2.3在数据库中创建表的语句

创建房类型表:

createtableroom_type(

rtype_idchar(10)primarykey,

rtype_namechar(10),

rareanumeric(5,2)

);

创建房间信息表:

createtableroom(

room_idchar(10)primarykey,

rtype_idchar(10),

rpriceint,

rdepositint,

rstatechar(10),

foreignkey(rtype_id)referencesroom_type(rtype_id)

);

创建证件类型表:

createtablepaper_type(

ptype_idchar(10)primarykey,

ptype_namechar(10)

);

创建客人信息表:

createtablecustomer(

cust_idchar(20)primarykey,

ptype_idchar(10),

cust_namechar(10),

sexchar

(1),

phonechar(10),

foreignkey(ptype_id)referencespaper_type(ptype_id)

);

创建订单表:

createtableorder_log(

order_idchar(10)primarykey,

cust_idchar(20),

plan_enter_datedatetime,

plan_leave_datedatetime,

enter_datedatetime,

leave_datedatetime,

order_moneyint,

foreignkey(cust_id)referencescustomer(cust_id)

);

创建订房表:

createtablebook_room(

order_idchar(10),

room_idchar(10),

foreignkey(order_id)referencesorder_log(order_id),

foreignkey(room_id)referencesroom(room_id)

);

3酒店客房管理系统功能设计(存储过程与触发器)

3.1前台操作功能设计

3.1.1开房登记操作

--输入房号查询房状态

createprocedurepro_rstate@room_idchar(10)as

selectroom_id房号,rstate房状态fromroom

whereroom_id=@room_id

--运行

execpro_rstate101

--输入房状态查询房号

createprocedurepro_rstate1@rstatechar(10)as

selectroom_id房号,rtype_name房类型名,rarea房间平米,rprice价格,rdeposit押金

fromroom,room_type

whereroom.rtype_id=room_type.rtype_idandrstate=@rstate;

--运行

execpro_rstate1空闲

--输入房号把房间状态改成入住

createprocedurepro_change_rstate_into_live@room_idchar(10)as

updateroom

setrstate='入住'

whereroom_id=@room_id

selectroom_id房号,rstate房状态fromroomwhereroom_id=@room_id

--运行

execpro_change_rstate_into_live101

 

--输入顾客信息(证件,证件类型号,姓名,性别,联系)

createprocedurepro_insert_cust@cust_idchar(20),@ptype_idchar(10),@cust_namechar(10),

@sexchar

(1),@phonechar(10)as

insertintocustomervalues(@cust_id,@ptype_id,@cust_name,@sex,@phone);

selectcust_id证件,ptype_id证件号类型,cust_name姓名,sex性别,phone联系

fromcustomer

--运行

execpro_insert_cust'8','01','昂','m',''

--输入订单信息(订单编号,客人证件号,入住日期,预计离开日期)

createprocedurepro_insert_order@order_idchar(10),@cust_idchar(20),@enter_datedatetime,

@plan_leave_datedatetimeas

insertintoorder_log(order_id,cust_id,enter_date,plan_leave_date)

values(@order_id,@cust_id,@enter_date,@plan_leave_date);

selectorder_id订单编号,cust_id客人证件号,plan_enter_date预计入住日期,enter_date入住日期,

plan_leave_date预计离开日期,leave_date结账离开日期,order_money应付金额fromorder_log

--运行

execpro_insert_order'000001','8','2013-7-1','2013-7-10'

--输入开房信息(订单号,房号)

createprocedurepro_insert_book_room@order_idchar(10),@room_idchar(10)as

insertintobook_roomvalues(@order_id,@room_id);

selectorder_id订单编号,room_id房号frombook_room

whereorder_id=@order_id

--运行

execpro_insert_book_room'000001','101'

3.1.2退房结账

--输入房号把房间状态改成空闲

createprocedurepro_change_rstate_into_free@room_idchar(10)as

updateroom

setrstate='空闲'

whereroom_id=@room_id;

selectroom_id房号,rstate房状态fromroomwhereroom_id=@room_id

--运行

execpro_change_rstate_into_free'101'

--退房结账时输入订单号,输出应结账金额并自动把订单中的“结账离开日期”改为当前日期

createprocedurepro_quit_getmoney@order_idchar(10)as

begin

declare@enter_datedatetime,@order_moneyint,@sumint

declaregetCurcursorfor

selectenter_date,order_money

fromorder_log

whereorder_id=@order_id;

opengetCur

fetchgetCurinto@enter_date,@order_money

begin

updateorder_log

setleave_date=getdate()

whereorder_id=@order_id;

select@sum=(day(getdate())-day(@enter_date))*@order_money;

end

closegetCur

deallocategetCur

end

--运行

execpro_quit_getmoney'000001'

3.1.3房信息查看

--输入房号查询房信息

createprocedurepro_room_info@room_idchar(10)as

selectroom_id房号,rtype_id房类型号,rprice价格,rdeposit押金,rstate房状态

fromroom

whereroom_id=@room_id

--运行

execpro_room_info'101'

3.2预订管理功能设计

3.2.1预定房间

--输入房号查询房状态

createprocedurepro_rstate@room_idchar(10)as

selectroom_id房号,rstate房状态fromroom

whereroom_id=@room_id

--运行

execpro_rstate'101'

--输入房号把房间状态改成预订

createprocedurepro_change_rstate_into_subscribe@room_idchar(10)as

updateroom

setrstate='预订'

whereroom_id=@room_id;

selectroom_id房号,rstate房状态fromroom

whereroom_id=@room_id

--运行

execpro_change_rstate_into_subscribe101

--输入顾客信息(证件,证件类型号,姓名,性别,联系)

createprocedurepro_insert_cust@cust_idchar(20),@ptype_idchar(10),@cust_namechar(10),

@sexchar

(1),@phonechar(10)as

insertintocustomervalues(@cust_id,@ptype_id,@cust_name,@sex,@phone);

selectcust_id证件,ptype_id证件号类型,cust_name姓名,sex性别,phone联系

fromcustomer

--运行

execpro_insert_cust'8','01','小贱','m',''

--输入订单信息(订单编号,客人证件号,预计入住日期)进行预订

createprocedurepro_subscribe@order_idchar(10),@cust_idchar(20),@plan_enter_datedatetimeas

insertintoorder_log(order_id,cust_id,plan_enter_date)

values(@order_id,@cust_id,@plan_enter_date);

selectorder_id订单编号,cust_id客人证件号,plan_enter_date预计入住日期,enter_date入住日期,

plan_leave_date预计离开日期,leave_date结账离开日期,order_money应付金额

fromorder_log

whereorder_id=@order_id;

--运行

execpro_subscribe'000002','8','2013-6-29'

--输入订房信息(订单号,房号)

createprocedurepro_insert_book_room@order_idchar(10),@room_idchar(10)as

insertintobook_roomvalues(@order_id,@room_id);

selectorder_id订单编号,room_id房号frombook_room

whereorder_id=@order_id

--运行

execpro_insert_book_room'000002','201'

3.2.2预定入住

--输入订单编号,查询此订单的信息(看是否为已预订)

createprocedurepro_subscribe_to_enter@order_idchar(10)as

ifexists(select*fromorder_logwhereorder_id=@order_id)

print'已预订'

else

print'未预定'

--运行

execpro_subscribe_to_enter101

--输入房号把房间状态改成入住

createprocedurepro_change_rstate_into_live@room_idchar(10)as

updateroom

setrstate='入住'

whereroom_id=@room_id

selectroom_id房号,rstate房状态fromroomwhereroom_id=@room_id

--运行

execpro_change_rstate_into_live101

--输入订单信息(订单编号,预计离开日期,入住日期,应付金额)

createprocedurepro_subscribe_to_live@order_idchar(10),@plan_leave_datedatetime,@enter_datedatetime,

@order_moneyintas

updateorder_logsetplan_leave_date=@plan_leave_date,enter_date=@enter_date,order_money=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1