当前位置:文档之家› 宾馆客房管理系统的SQL数据库_

宾馆客房管理系统的SQL数据库_

错误!未一、需求分析 (4)1.1 基本要求 (4)1.1.1 业务要求 (4)1.1.2 信息要求 (4)1.1.3 处理要求 (4)1.1.4 安全性与完整性要求 (5)1.2 数据流图、数据字典 (5)1.2.1 数据流图 (5)1.2.2 数据字典 (6)二、功能设计 (7)2.1 系统功能 (7)2.1.1 基础信息设置 (7)2.1.2 客房前台管理 (7)2.1.3 查询统计管理 (8)2.1.4 结账管理 (8)2.1.5 系统初始设计 (8)2.1.6 系统维护 (8)2.2系统功能结构图 (8)2.2系统功能结构图 (8)三、ER模型 (9)四、数据库设计结构 (11)4.1 数据库表设计 (11)4.11 实体属性 (11)4.12 数据库表 (11)4.2 约束设计 (13)4.2.1 主外键约束 (13)4.2.2 列值唯一 (13)4.2.3 其他约束 (14)4.3 索引设计 (14)4.4 数组组织约定 (14)4.4.1 各实体之间的关联关系情况 (14)5.1 设计的不足 (15)5.2 设计的改善方向 (15)找到索引项。

宾馆客房管理系统的数据库设计宾馆客房管理系统的数据库设计近年来,我国现代酒店业迅猛发展,市场竞争日趋激烈,传统的管理方法已经不能适应现代社会的需要,全面提高宾馆客房管理系统已成为酒店业发展的当务之急。

因此,本论文旨在设计出一套高效、精确、便捷的管理系统,以实现宾馆对客房的科学化、规范化和信息化管理,提高宾馆的管理水平和竞争力。

宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。

传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。

它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。

其中客户信息管理、入住和退房管理是系统开发的重点。

本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。

本系统涉及数据库方面的技术,采用SQL语言来实现。

一、需求分析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、退房结账:可以选择挂账、打折等多种方式,并可以在此增加其他消费 项目的费用,结账由前台办理。

入住单状态 字符,可变长度4 消费金额 货币型备注字符,可变长度402.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 模型设置客房信息 设置员工信息客房预订 住宿登记 调房登记 客房续住 退房结账客房查询 房态查询 预订查询 住宿查询 退宿查询 结账方式本单位定义业务部门定义系统初始化 操作员管理权限设置m nn 1n1n 11n1111 1 1 顾 客退房结算账单登记 客 房 预订预订人 结算前台接待员管理管理员办理业务管理 服务员 服务 顾 客账单编号 客房编号 地 址 身份证号年 龄性 别 姓 名 顾客编号预订人身份证号客房编号预订编号姓 名结算账单账单编号入住时间退房时间消费金额前台接待员编号客房客房价格客房编号客房类型 客房状态 前台接待员密 码顾客编号账单编号姓 名前天接待员编号管理员密码口令姓 名 管理员编号服务员姓名服务员编号四、数据库设计结构4.1 数据库表设计4.11 实体属性顾客(顾客编号,姓名,性别,年龄,身份证号,地址,客房编号,账单编号)预订人(姓名,身份证号,预订编号,客房编号)客房(客房编号,客房类型,客房状态,客房价格)住宿(顾客编号,客房编号,押金,入住时间,退房时间)前台接待员(前台接待员编号,姓名,账单编号,顾客编号,密码)管理员(管理员编号,姓名,密码口令)服务员(服务员编号,姓名)结算账单(账单编号,消费金额,入住时间,退房时间,前台接待员编号)4.12 数据库表1、顾客表(customer)列名数据类型长度允许空字段说明主外键Cu_id int 4 0 顾客编号 PK,FK Cu_name varchar 10 1 姓名Cu_sex varchar 2 1 性别Cu_age int 2 1 年龄Cu_idnum varchar 18 0 身份证号Cu_add varchar 50 1 地址Room_id int 4 0 客房编号FK Pay_id int 4 0 账单编号FK2、预订人表(advancer)列名数据类型长度允许空字段说明主外键Ad_name varchar 10 1 姓名Ad_idnum varchar 18 0 身份证号Ad_id int4 4 0 预订编号PK Room_id int4 4 0 客房编号PK Fro_id int 4 0 前台接待员编号3、客房表(room)列名数据类型长度允许空字段说明主外键Room_id int 4 0 客房编号PK,FK Room_typ varchar 10 0 客房类型Room_pri money 0 客房价格Room_sta varchar 2 0 客房状态4、住宿表(ch)列名数据类型长度允许空字段说明主外键Cu_id int 4 0 顾客编号FK Room_id int 4 0 客房编号FK deposit money 0 押金begintime datetime 0 入住时间endtime datetime 0 退房时间5、前台接待员表(fronter)列名数据类型长度允许空字段说明主外键Fro_id int 4 0 前台接待员编号PK Fro_name varchar 10 1 姓名Pay_id int 4 0 账单编号Cu_id int 4 0 顾客编号Fro_password varchar 10 0 密码Man_id int 4 0 管理员编号3、管理员表(manage)列名数据类型长度允许空字段说明主外键Man_id int 4 0 管理员编号PK Man_name varchar 10 1 姓名Man_password varchar 10 0 密码口令7、服务员表(employee)列名数据类型长度允许空字段说明主外键Emp_id int 4 0 服务员编号PKEmp_name varchar 10 1 姓名Man_id int 4 0 管理员编号8、结算账单表(payment)列名数据类型长度允许空字段说明主外键Pay_id int 4 0 账单编号PK,FK begintime datetime 0 入住时间endtime datetime 0 退房时间money money 0 消费金额Fro_id int 4 0 前台接待员编号4.2 约束设计4.2.1 主外键约束主键表主键外键表外键customer Cu_id ch Cu_idadvancer Ad_idroom Room_id customer Room_idroom Room_id advancer Room_idroom Room_id ch Room_idmanage Man_idemployee Emp_idpayment Pay_id customer Pay_id4.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列取值唯一。

相关主题