宾馆客房管理系统的数据库设计宾馆客房管理系统的数据库设计【摘要】近年来,我国现代酒店业迅猛发展,市场竞争日趋激烈,传统的管理方法已经不能适应现代社会的需要,全面提高宾馆客房管理系统已成为酒店业发展的当务之急。
因此,本论文旨在设计出一套高效、精确、便捷的管理系统,以实现宾馆对客房的科学化、规范化和信息化管理,提高宾馆的管理水平和竞争力。
宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。
其中客户信息管理、入住和退房管理是系统开发的重点。
本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。
本系统涉及数据库方面的技术,采用SQL语言来实现。
【关键字】宾馆客房管理 E-R模型需求分析数据库结构一、需求分析1.1 基本要求通过调查宾馆对客房、员工、业务的管理方式,充分了解原宾馆客房管理系统的工作概况,明确宾馆管理的业务需求、信息需求、处理需求、安全性与完整性要求。
1.1.1 业务要求针对宾馆的订房、入住、退房等业务的调查,明确用户的业务需求如下:1、基础信息设置:设置客房信息、设置员工信息2、客房前台管理:客房预订、住宿登记、调房登记、客房续住、退房结账3、查询统计管理:客房查询、房态查询、预订查询、住宿查询、退宿查询4、结账管理5、系统初始设计:本单位定义、业务部门定义6、系统维护:系统初始化、操作员管理、权限设置1.1.2 信息要求对于宾馆客房管理,用户需要从数据库中获得的信息有很多,包括客房信息、顾客信息以及员工信息等,全面分析有信息要求如下:1、该数据库可以存取的数据包括客房信息、顾客信息、员工信息及住宿信息2、前台接待员可以查看客房、宾客信息,可以查看客房使用情况,还可以查看统计入住、预订和退房记录。
3、后台管理者可以对客房、员工的信息进行管理和查看,可以设置员工的权限,可以查看客房使用情况,还可以查询统计预订和退房情况。
1.1.3 处理要求宾馆需要对顾客的调房要求、客房续住等进行处理,对处理的响应时间和处理方式都有一定的要求——响应时间,越短越好,单机处理。
前台登记处理:前台接待员为顾客进行入住、预订、退房、调房、退订登记。
预订客房:顾客信息与客房信息建立一一对应联系,客房状态由空转至非空。
入住:分房卡后,顾客信息将与其对应的客房信息建立一一对应的联系,客房状态转至非空。
退房:顾客持房卡去前台登记退房,顾客信息与账单信息一一对应,客房状态转至空。
调房:根据顾客要求为其调换房间,原客房状态转为空,新开客房信息与顾客建立新的一一对应的联系新的客房转为非空。
续住:前台接待员可以根据入住延期情况,对顾客追加押金。
1.1.4 安全性与完整性要求对于宾馆客房管理,并不是所有人都可以进入管理系统,因而需要设置一定的权限或其他的安全性与管理性要求:1、不同的用户拥有不同的权限,系统根据用户权限,进入不同的功能界面。
权限分为两类:一个是后台管理者权限,一个是前台接待员权限。
普通员工无权登录此系统。
2、密码正确才可登录系统。
1.2 数据流图、数据字典调查了解用户需求以后,采用结构化分析方法,自顶而下、逐层分解系统,得到数据流图、数据字典、判定表等来表达数据与处理过程的关系。
1.2.1 数据流图1.2.2 数据字典1、数据项数据项名称数据类型及其长度说明预定人字符,可变长度10 不能为空预定人电话字符,可变长度15客人姓名字符,可变长度10客人身份证号码字符,可变长度18订单编号字符,可变长度36 不能为空入住单号字符,可变长度36 不能为空客房编号字符,可变长度6 不能为空账单编号字符,可变长度36 不能为空客房类型字符,可变长度10客房价格货币型客房状态字符,可变长度2 不能为空抵店时间日期型入住人数字符,可变长度10入住天数字符,可变长度10入住时间日期型不能为空退房时间日期型订单状态字符,可变长度42、数据结构二、功能设计2.1 系统功能2.1.1 基础信息设置1、设置客房信息:对客房的基本信息进行增加、修改、删除,不断更新。
2、设置员工信息:对员工的基本信息进行增加、修改、删除,不断更新。
2.1.2 客房前台管理1、客房预订:可以通过前台登记处或网上实现客房预订。
2、住宿登记:顾客入住宾馆登记信息。
3、调房登记:顾客有合理情由时为其调换客房。
4、客房续住:顾客根据自身情况增加住宿天数,通过前台办理续住并增加押金。
5、退房结账:可以选择挂账、打折等多种方式,并可以在此增加其他消费项目的费用,结账由前台办理。
2.1.3 查询统计管理1、客房查询:通过客房编号查询客房基本信息。
2、房态查询:通过客房编号查询客房是否为空。
3、预订查询:通过顾客姓名查询预订信息。
4、住宿查询:通过顾客编号查询住宿信息。
5、退宿查询:通过顾客姓名查询退宿信息。
2.1.4 结账管理结账方式:可以选择挂账、现金、刷卡、会员优惠等多种方式。
2.1.5 系统初始设计1、本单位定义:设置本单位的基本信息。
2、业务部门定义:设置各业务部门的相关信息。
2.1.6 系统维护1、系统初始化:清空目前的系统数据,将系统恢复为初始状态。
2、操作员管理:高级管理员登录后可进行操作员的添加、删除以及信息更改。
3、权限设置:可以设定管理者的管理权限以及具体的可操作功能。
登录设置,密码匹配者可进入系统进行操作管理。
2.2系统功能结构图2.2系统功能结构图三、ER模型四、数据库设计结构4.1 数据库表设计4.11 实体属性顾客(顾客编号,姓名,性别,年龄,身份证号,地址,客房编号,账单编号)预订人(姓名,身份证号,预订编号,客房编号)客房(客房编号,客房类型,客房状态,客房价格)住宿(顾客编号,客房编号,押金,入住时间,退房时间)前台接待员(前台接待员编号,姓名,账单编号,顾客编号,密码)管理员(管理员编号,姓名,密码口令)服务员(服务员编号,姓名)结算账单(账单编号,消费金额,入住时间,退房时间,前台接待员编号)4.12 数据库表1、顾客表(customer)2、预订人表(advancer)3、客房表(room)4、住宿表(ch)5、前台接待员表(fronter)3、管理员表(manage)7、服务员表(employee)8、结算账单表(payment)4.2 约束设计4.2.1 主外键约束4.2.2 列值唯一1、customer表中的cu_id、cu_idnum、room_id、pay_id列取值唯一;2、advancer表中ad_id、ad_idnum、room_id列取值唯一;3、room表中room_id列取值唯一;4、ch表中cu_id、room_id列取值唯一;5、fronter表中fro_id、pay_id、cu_id列取值唯一;6、manage表中man_id列取值唯一;7、payment表中pay_id列取值唯一;8、Employee表中emp_id列取值唯一。
4.2.3 其他约束1、customer表中的cu_sex的取值只能是“男”或“女”;2、room表中的room_sta的取值只能是Y或N。
4.3 索引设计1、顾客表按顾客编号升序建立索引2、住宿表按入住时间升序建立索引3、客房表按客房编号升序建立唯一索引4、结算账单表按账单编号升序建立唯一索引4.4 数组组织约定4.4.1 各实体之间的关联关系情况Fronter与customer的关系是1:n。
但当顾客需要办理续住或调房登记的时候,由于时间不同,办理登记的前台接待员可能不会是同一个,因此规定办理业务时的关联关系,同一个顾客只能接受一个前台接待员的服务。
Fronter与payment的关系是1:n。
Fronter与manage的关系是n:1。
Customer与room的关系是1:1。
如果顾客办理调房的话,可能会出现一个顾客对应多个客房,因此规定办理调房后,原客房信息被新客房信息覆盖。
另外,当顾客办理退房后,客房状态转为空,将不与顾客对应,规定状态为非空的客房与顾客有一一对应的关系。
Customer与payment的关系是1:1。
Customer与employee的关系是n:m。
Room与advancer的关系是1:1。
Manage与employee的关系是1:n。
五、总结通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,完成了这份自己的报告,从中在学到用,从用又到学,受益匪浅。
5.1 设计的不足1、需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
但由于时间、地域、环境等客观影响,无法进行详细全面的调查取材,故而该设计存在一定的局限性。
学生缺少用户的专业知识,不易理解用户的真正需求。
2、没有考虑到顾客是否是会员或VIP客户,对实际问题的管理有一定的局限性。
3、由于数据有常用和不常用之分,本系统未将其区分开来,使数据存储不够简单明了。
5.2 设计的改善方向1、需要进行详细的市场调查,充分了解现在宾馆行业的实际运行流程,并与学习宾馆管理的相关专业人士合作制作管理系统,使该系统更加符合用户的需求。
2、将顾客首先分类,会员或VIP客户享有一些特殊的优惠待遇,或是其他消费活动在退房结账的时候需另行计算费用。
3、将常用数据和不常用数据区分开来,提高系统性能,更加缩短响应时间。
【参考文献】1、王珊萨师煊,数据库系统概论(第4版),高等教育出版社,1983年4月.2、刘彦保李军利郝继升,用Power Builder和SQL Server开发酒店管理信息系统[J],延安大学学报,2003,Vol.04.3、钱学忠,SQL在数据库应用系统中的运用[J],电子器件,2000,Vol.03.4、刘韬,SQL Server 2000数据库系统开发实例导航[M],电子工业出版社,2005.6.5、廖望,SQL Server 2000案例教程[M],人民邮电出版社,2005.6.6、王晟马里杰 .SQL Server 数据库开发经典例解析[J].北京:清华大学出版社,2006.。