大 连 科 技 学 院_第1页
大 连 科 技 学 院_第2页
大 连 科 技 学 院_第3页
大 连 科 技 学 院_第4页
大 连 科 技 学 院_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大大 连连 科科 技技 学学 院院 数据库课程设计 题 目酒店管理系统客房管理系统的设计 学生姓名学生姓名 王阔 专业班级专业班级 软件工程软件工程 09-209-2 指导教师指导教师 宁涛宁涛 职职 称称 讲讲 师师 所在单位所在单位 信息科学系软件工程教研室信息科学系软件工程教研室 教学部主任教学部主任 王立娟王立娟 完成日期完成日期 20112011 年年 1212 月月 1616 日日 1 目目 录录 1 1 前前 言言2 1.1 问题提出问题提出.2 1.2 研究意义研究意义.2 2 2 系统需求分析系统需求分析3 2.12.1 系统功能分析系统功能分析.3 2.22.2 系统功能模块设计系统功能模块设计.6 3 3 数据库的概念结构设计数据库的概念结构设计.7 3.1 数据抽象数据抽象7 3.2 设计全局概念模式设计全局概念模式9 4 4 数据库的逻辑设计数据库的逻辑设计.10 4.1 形成初始的关系模式形成初始的关系模式10 4.2 关系模式的规范化处理关系模式的规范化处理10 5 5 系统的实现与调试系统的实现与调试11 6 6 总结总结.19 参考文献参考文献.20 2 1 1 前言前言 1.1 问题提出 近年来,随着酒店业竞争的加剧,酒店之间客源的争夺越来越激烈,利润空间也 越来越小,为了能在激烈竞争中生存,各酒店都在从方方面面加强的实力, 他们纷纷把目光投向酒店智能化、信息化。这就要求酒店管理需要使用更有 效的信息化手段,广泛拓展经营空间,进一步降低运营成本。先进的酒店管 理系统,不但可以有效地管理大量的信息,而且可以引进先进的管理理念, 提高服务质量、工作效率,完善酒店内部管理体制,提高酒店决策水平,提 高酒店的管理效益及经济效益,从而提高酒店的竞争力。因此,先进的管理 信息系统已成为酒店管理的核心之一. 1.2 研究意义 随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑 服务 和电脑管理日益流行。为提高酒店的管理水平,增强酒店的竞争能力, 先进的酒店管理 信息系统己成为酒店经营者的必然选择,由于酒店服务项目 众多,客人信息内容繁琐,而且信息量大,因而在操作上经常造成很多不便之处, 浪费了时间,降低了工作效率,而且极大地影响了酒店的服务质量和经济效益, 要想降低成本,提高工作效率、服务质量和管理水平,必须借助计算机来辅助 进行酒店的管理,本文针对这些问题设计了这个系统,本着科学化、规范化、 系统化的原则,设计和开发了酒店管理系统同时,酒店和餐厅娱乐业引入电脑 服务和管理也取得了优 良的经济效益和社会效益。为此,国家建设部已于 最近作出明确规定:凡星级酒 店在项目审批时,其设计方案必须包括电脑 管理系统,否则不予立项。可见,酒 店管理电脑化势在必行。 酒店管理系 统将先进的电脑技术与现代酒店服务管理完 美地结合起来,实现了住宿、 餐饮、娱乐全新概念的服务和管理方式。 此软件计划实现酒店预定,入住,结 帐,管理等功能,实现办公自动化。 3 2 2 系统需求分析系统需求分析 2.12.1 系统功能分析系统功能分析 在现在的宾馆服务行业中,由于客流量巨增,传统的管理方法已经不适合 现代社会的需要,因此客房管理系统是各大中小型宾馆所需要使用的一个管理 系统。 使用计算机作为管理的核心,能有效的提高管理效率,具有手工操作无法 比拟的的性能,比如:查询方便、对客房的租用情况一目了然、对旅客及客房 的信息能够长期的保存,这些优点正是开发本系统的意义所在。 1、基本信息维护 客房信息维护 本模块包含一个窗体:客房信息维护窗体,它要实现对该宾馆的实际客房的基 本信息的维护,该模块只有拥有管理员权限的用户能进行操作。 物品信息维护 本模块包含一个窗体:物品信息维护窗体,它主要是对旅馆中的物品进行编 号、详细信息的维护。 用户信息维护 该模块包含一个窗体:用户信息维护窗体,用户登陆后能对自己的一些信 息进行维护。 2、旅客的预约、入住登记和换房登记 旅客的预约登记 本模块至少包含两个:旅客预约客房登记窗体、旅客信息登记窗体。 旅客信息登记是在旅客预约客房时,对旅客的详细信息进行登记以便在入 住的时候更方便登记自动入住。预约房间的登记则要把预约房间号、预约入住 的时 间、入住天数、入住人数和押金进行详细的登记。 旅客入住登记 本模块至少包含两个窗体:旅客信息登记窗体、入住记录登记窗体 旅客信息登记主要是当旅客入住时对旅客一些基本信息的记录,以便需要的 时候进行查询。入住记录登记则要把旅客入住的房间号、入住日期、入住人 数等信息记录在入住记录中以便查询和在旅客结算的时候使用。 旅客的换房登记 本模块包含一个窗体:旅客换房登记窗体,当旅客入住后要更换房间时, 4 主要记录旅客换房前的客房号、客房类型、换房日期和换房后的客房号和 客房类型。 3、房态、客房信息和入住记录信息查询 房态查询 本模块包含一个窗体:房态视图窗体, 能对客房的状态进行查询。例 如:客房是否能够使用,是否正在维护中。 客房信息查询 本模块包含一个窗体:客房信息查询窗体,对用户输入的不同查询条件返回 的客房的详细信息。 入住记录查询 本模块包含一个窗体:入住记录查询窗体,能对旅客的入住记录进行详细的 查询,能以旅客号、入住日期等不同的查询条件进行查询,查询后返回的结 果能以报表的形式打印出来。 4、物品管理 本模块包含一个窗体:物品管理窗体,对旅客寄存的物品进行详细的登记, 在旅客取回物品后删除登记,对旅客借用旅馆的物品进行登记,在旅客结算 归还物品后删除登记。 5、系统管理 用户管理 本模块包含一个窗口:用户管理窗体,拥有管理员权限的用户能对系统的用 户进行增添、删除和修改,并且能对用户赋予不同的权限。 系统数据维护 在同一个窗口:数据维护窗体,能对系统保存的所有数据能进行有效的更改。 6、系统帮助 在一个窗口:帮助窗口,提供系统使用过程中用户遇到困难查找需要的帮助内 容,用目录查询、引索查询(关键字查询) 系统数据流图如下: 5 客户 客房 查询 预定 提出 查询 查询 信息 预定 登记 预定 信息 入住 结算 入住 登记 入住信息 结算登记 结算 信息 客房 注销 分配 房间 管理员 规定 规定要求 规定信息 管理 管理信息 管理信息 检查 检查要求 检查信息 日结 日结要求 日结信息 图 2-1 客房管理系统数据流图 2.22.2 系统功能模块设计系统功能模块设计 根据以上对系统的功能需求的分析,将系统的功能划分为七大模块: (一)住宿管理:是客房管理系统的核心部分,它的主要功能是存储订房信息, 包括登记姓名,证件号,客房标准,押金,入住时间等,这些直接关系到后 面的结算信息管理。 (二)客房管理:包括客房的编号,类型,面积,最多可住人数,价格,是否有 电视等问题。当添加新的客房时,就添加相应的标准信息,也可以查看客房 的标准信息,同时可以进行修改。 (三)挂帐管理:主要是处理客户的挂帐操作。 (四)查询统计:主要是为客户和操作员提供客房信息查询、客房标准查询、客 户信息查询入住情况查询等等。 (五)日结:结合订房信息自动化结帐,并存储结算信息。结算完毕,就可以退 房。 (六)系统设置:主要是管理员添加用户、用户权限设置、以及用户密码的修改 等等。 (七)退出系统:关闭并退出系统。 6 宾馆客房管理系统 住 宿 管 理 客 房 管 理 挂 帐 管 理 日 结 系 统 设 置 查 询 统 计 退 出 系 统 图 2-2 系统功能模块图 系统维护功能使用数据字典如表 2-1 所示: 表 2-1 数据字典表 数据元素数据类型长度数据来源 旅客号 Int15 旅客信息表 用户名 Varchar20 用户信息表 密码 Int20 用户信息表 姓名 varchar20 用户信息表 房间类型 varchar20 客房信息表 价格 double8 客房信息表 房间号 Int4 客房信息表 入住日期 smalldatetime8 旅客入住的记录信息表 退房日期 smalldatetime8 旅客入住的记录信息表 订房日期 smalldatetime8 旅客入住的记录信息表 预订入住期 smalldatetime8 客房预订信息表 预订天数 Int4 客房预订信息表 预缴押金 double8 客房预订信息表 7 3 3 数据库的概念结构设计数据库的概念结构设计 概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程, 它是整个数据库设计的关键。为了把用户的数据要求清晰明确的表达出来, 通常要建立一种面向问题的数据模型,按照用户的观点来对数据和信息建模。 最常用的概念性数据模型就是 ER 模型。以下是本系统涉及到数据抽象后的 E-R 图。 3.13.1 数据抽象数据抽象 1.客户实体图 客户信息 客户号姓名性别住址联系电话 图 3-1 客户实体图 客房信息 客 房 编 号客 房 类 型客房状态 图 3-2 客房信息实体图 3.客房标准实体图 客 房 标 准 客 房 类 型客 房 面 积额 定 人 数 是 否 有 电 视是 否 有 空 调 价 格 是 否 有 卫 生 间是 否 有 网 络是 否 有 电 话 8 图 3-3 客房标准实体图 4.预订信息 客户号 客房编号 登记类型预定日期 入住人数 入住日期用餐标准 押金 预订信息 图 3-4 预订信息实体图 5.入住信息 客户号 客房编号入住日期 入住时间 入住人数 入住信息 图 3-5 入住信息实体图 6.结算 客户号 客房编号 价格 餐费 退房日 期 退房时 间 入住人 数 折扣 金额 结算信息 9 图 3-6 结算实体图 3.2 设计全局概念模式设计全局概念模式 由局部 E-R 图组成的整体 E-R 图如下 入住客 房 预 订 结 算 客 房 标 准 1 1 1 客户 n1 图 3-7 局部 E-R 设计图 结构冲突 客户实体在不同局部试图中包含的属性不完全相同,或者属性的排列次序不完全 相同。 解决方法:使用实体的属性取各分 E-R 图中属性的并集,再适当设计属性的次序。 实体之间的联系在不同局部视图中呈现不同的类型。 消除不必要的冗余,设计基本 E-R 图 用户实体与旅客实体相重复,采用分析的方法来消除数据冗余,以数据字典和数 据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。 客 户客 房 预 订 结 算 属于 客 房 标 准 1 n 1 n n1 入 住 n1 图 3-8 优化后的总体 E-R 图 4 4 数据库的逻辑设计数据库的逻辑设计 4.14.1 形成初始的关系模式形成初始的关系模式 将图将图 3-83-8 中三个实体分别转换为关系模式(带下划线的为主键)中三个实体分别转换为关系模式(带下划线的为主键): : 客房信息(客房编号 客房类型 客房状态) 客户信息(客户号 姓名 性别 住址 联系电话) 10 电话,是否有网络,是否有卫生间,价格) 将图 3-8 中的三个联系也转换成关系模式 预订信息(客户号 客房编号 登记类型 预订日期 入住人数 入住日期 用餐标准 押金 ) 入住信息(客户号 客房编号 入住日期 入住时间 入住人数 ) 结算信息(客户号 客房编号 价格 餐费 退房日期 退房时间 入住天数 折扣金 额) 4.24.2 关系模式的规范化处理关系模式的规范化处理 1.对于客房关系中: U=客房编号 F=客房编号客房类型,客房编号客房状态 属于第二范式 2.对于客户关系中: U=客户号 F=客户号姓名,客户号性别,客户号住址,客户号联系电话 属于第二范式 3,对于客房标准信息关系中: U=客房类型 F=客房类型客房面积,客房类型额定人数,客房类型是否有电视,客房 类型是否有空调,客房类型是否有电话,客房类型是否有网络,客房 类型是否有卫生间,客房类型价格 属于第二范式 4 对于预定信息关系中: U=客户号,客房编号 F=客户号 客房编号登记类型,客户号 客房编号预订日期,客户号 客房 编号入住人数,客户号 客房编号入住日期,客户号 客房编号用餐标 准,客户号 客房编号押金 属于第二范式 5.对于入住信息关系中: U=客户号 客房编号 F=客户号 客房编号入住日期,客户号 客房编号入住时间,客户号 客房 编号入住人数 属于第二范式 6对于结算信息关系中: 11 U=客户号 客房编号 F=客户号 客房编号价格,客户号 客房编号餐费,客户号 客房编号退 房日期,客户号 客房编号退房时间,客户号 客房编号入住天数,客户 号 客房编号折扣,客户号 客房编号金额 属于第二范式 5 5 系统的实现与调试系统的实现与调试 5-1 客房标准信息记录表 图 5-2 客房信息表 备注:客房类型:1 代表豪华套装、2 代表标准套间、3 代表标准间、4 代表三 人间、5 代表单人间。客房状态:1 代表房间可用、2 代表房间使用中、3 代表 维护 图 5-3 客户信息表 备注:证件类型:1 代表身份证、2 代表学生证、3 代表军官证、4 代表军官证、 12 5 代表士兵证、6 代表护照、7 代表户口本、8 代表其他。事由:1 代表出差、2 代表旅游、3 代表探亲、4 代表开会图 图 5-4 预定信息表 图 5-5 入住信息记录表 图 5-6 结算信息记录表 (一)创建数据库:打开 SQL Server Enterprise Manger, “新建数据库” , 创建一个空数据库,命名为 myhotel。 (二)在 myhotel 中创建六张表,包括(1)客房标准表;(2)客房信息表;(3) 客户信息表;(4)预订信息表;(5)入住信息表;(6)结算信息表; (1)客房标准(客房类型,客房面积,额定人数,是否有电视,是否有空调, 是否有电话,是否有网络,是否有卫生间,价格) RoomStandard(Type,Area,PeopleNum,TV,AirCondition,Telephone, Internet,WC,Price) CREATE TABLE RoomStandard ( Type CHAR(10) PRIMARY KEY, Area INT, PeopleNum INT, TV CHAR(10), 13 Telephone CHAR(10), AirCondition CHAR(10), Internet CHAR(10), WC CHAR(10), Price MONEY) (2)客房信息(客房编号 客房类型 ,客房状态) RoomInformation(RID,Type, Price,Status) CREATE TABLE RoomInformation (RID INT PRIMARY KEY, Type CHAR(10), Status CHAR(10), FOREIGN KEY(Type) REFERENCES RoomStandard(Type) ) (3) 客户信息(客户号 姓名 性别 住址 联系电话) ClientInfo(CID,CName,Sex,Place) CREATE TABLE ClientInfo (CID INT PRIMARY KEY, CName CHAR(10), Sex CHAR(10), Place CHAR(10), Telephone CHAR(20) ) (4)预订信息(客户号 客房编号 登记类型 预订日期 入住人数 入住日期 用餐标准 押金 ) OrderInfo(CID,RID,OrderDay,OrderAcount,StartDay,StartTime,Dinner,De posit) CREATE TABLE OrderInfo (CID INT NOT NULL, RID INT NOT NULL, OrderDay INT, OrderAcount INT, StartDay INT, StartTime DATETIME, Dinner CHAR(10), Deposit INT, PRIMARY KEY(CID,RID), 14 FOREIGN KEY(RID) REFERENCES RoomInformation(RID) ) (5)入住信息(客户号 客房编号 入住日期 入住时间 入住人数 ) LiveInfo(CID RID StartDay StartTime OrderAcount) CREATE TABLE LiveInfo (CID INT NOT NULL, RID INT NOT NULL, StartDay INT, StartTime DATETIME, OrderAcount INT, PRIMARY KEY(CID,RID), FOREIGN KEY(RID) REFERENCES RoomInformation(RID) ) (6)结算信息(客户号 客房编号 价格 餐费 退房日期 退房时间 入住天数 折扣 金额) CheckInfo(CID,RID,Price,Dinner,EndDay,EndTime,Day,Repay,Money) CREATE TABLE CheckInfo (CID INT NOT NULL, RID INT NOT NULL, EndDay INT, EndTime DATETIME, Day INT, Repay INT, Money INT, PRIMARY KEY(CID,RID), FOREIGN KEY(CID) REFERENCES ClientInfo(CID), FOREIGN KEY(RID) REFERENCES RoomInformation(RID) (三)建立查询 1 客房详细信息_cx SELECT 客房信息.客房编号, 客房信息.类型, 客房标准.价格, 客房标准.额 定床位, 客房标准.额定人数, 客房标准.是否有电视, 客房标准.是否有电话, 客房标准.是否有空调, 客房标准.是否有卫生间 FROM 客房标准 LEFT JOIN 客房信息 ON 客房标准.类型 = 客房信息.类型; 2 在住记录_cx1 SELECT 入住记录.客户号, 客户信息.姓名, 入住记录.客房编号, 客户信息. 性别, 入住记录.入住日期 15 FROM 客户信息 LEFT JOIN 入住记录 ON 客户信息.客户号 = 入住记录.客户 号 WHERE (入住记录.备注)=“未退房“) ORDER BY 入住记录.客户号; 3 在住记录_cx2 SELECT 在住记录_cx1.客户号, 在住记录_cx1.姓名, 在住记录_cx1.性别, 在住记录_cx1.客房编号, 客房信息.类型, 在住记录_cx1.入住日期 FROM 在住记录_cx1 INNER JOIN 客房信息 ON 在住记录_cx1.客房编号 = 客 房信息.客房编号 ORDER BY 在住记录_cx1.入住日期; 4 在住记录_cx3 SELECT 在住记录_cx2.客户号, 在住记录_cx2.姓名, 在住记录_cx2.性别, 在住记录_cx2.客房编号, 在住记录_cx2.类型, 客房标准.价格, 客房标准.额 定床位, 客房标准.额定人数, 在住记录_cx2.入住日期 FROM 客房标准 INNER JOIN 在住记录_cx2 ON 客房标准.类型 = 在住记录 _cx2.类型 ORDER BY 在住记录_cx2.入住日期; 5 历史记录_cx1 SELECT 客户信息.客户号, 客户信息.姓名, 入住记录.客房编号, 入住记录. 入住日期, 入住记录.结算日期, 结算日期-入住日期 AS 入住天数, 入住 记录.备注 FROM 客户信息 LEFT JOIN 入住记录 ON 客户信息.客户号 = 入住记录.客户 号 WHERE (入住记录.备注)=“已退房“) ORDER BY 入住记录.结算日期; 6 历史记录_cx2 SELECT 历史记录_cx1.客户号, 历史记录_cx1.姓名, 历史记录_cx1.客房编 号, 客房信息.类型, 历史记录_cx1.入住日期, 历史记录_cx1.结算日期, 历史 记录_cx1.入住天数 FROM 历史记录_cx1 INNER JOIN 客房信息 ON 历史记录_cx1.客房编号 = 客 房信息.客房编号 ORDER BY 历史记录_cx1.结算日期; 7 历史记录_cx3 SELECT 历史记录_cx2.客户号, 历史记录_cx2.姓名, 历史记录_cx2.客房编 16 号, 历史记录_cx2.类型, 客房标准.价格, 历史记录_cx2.入住日期, 历史记录 _cx2.结算日期, 历史记录_cx2.入住天数, 价格*入住天数 AS 结算金额 FROM 客房标准 INNER JOIN 历史记录_cx2 ON 客房标准.类型 = 历史记录 _cx2.类型 ORDER BY 历史记录_cx2.结算日期; 8 预订信息_cx1 SELECT 客户信息.客户号, 客户信息.客户号, 客户信息.姓名, 客户信息.性 别, 预订记录.客房编号, 预订记录.预订日期, 预订记录.预订入住日期, 预订 记录.预订天数 FROM 客户信息 LEFT JOIN 预订记录 ON 客户信息.客户号 = 预订记录.客户 号 WHERE (客户信息.客户号)=预订记录.客户号) ORDER BY 预订记录.预订日期; 9 预订信息_cx2 SELECT 预订信息_cx1.客户号, 预订信息_cx1.姓名, 预订信息_cx1.性别, 预订信息_cx1.客房编号, 客房信息.类型, 预订信息_cx1.预订日期, 预订信息 _cx1.预订入住日期, 预订信息_cx1.预订天数 FROM 客房信息 INNER JOIN 预订信息_cx1 ON 客房信息.客房编号 = 预订信 息_cx1.客房编号 ORDER BY 预订信息_cx1.预订日期; 10 预订信息_cx3 SELECT 预订信息_cx2.客户号, 预订信息_cx2.姓名, 预订信息_cx2.性别, 预订信息_cx2.客房编号, 预订信息_cx2.类型, 客房标准.价格, 客房标准.额 定床位, 客房标准.额定人数, 预订信息_cx2.预订日期, 预订信息_cx2.预订入 住日期, 预订信息_cx2.预订天数, 价格*预订天数 AS 预缴押金 FROM 客房标准 INNER JOIN 预订信息_cx2 ON 客房标准.类型 = 预订信息 _cx2.类型 ORDER BY 预订信息_cx2.预订日期; 11 客房在住人数统计_cx SELECT 在住记录_cx3.客房编号, 在住记录_cx3.类型, Count(在住记录_cx3.客 房编号) AS 在住人数, 在住记录_cx3.额定人数 FROM 在住记录_cx3 GROUP BY 在住记录_cx3.客房编号, 在住记录_cx3.类型, 在住记录_cx3.额 定人数; 17 12 客满房间_cx SELECT 客房在住人数统计_cx.客房编号, 客房在住人数统计_cx.类型, 客房 在住人数统计_cx.在住人数, 客房在住人数统计_cx.额定人数 FROM 客房在住人数统计_cx WHERE (客房在住人数统计_cx.类型)0) OR (客房在住人数统计_cx.类型)=“双人间“) AND (客房在住人数统计_cx.在住人数)=2) OR (客房在住人数统计_cx.类型)=“ 三人间“) AND (客房在住人数统计_cx.在住人数)=3); 13 未满房间_cx SELECT 客房编号, 类型 FROM 客房信息 WHERE 客房编号 not in (select 客房编号 from 客满房间_cx); 14 空房_cx SELECT 客房信息.客房编号, 客房信息.类型, 客房标准.额定人数 FROM 客房标准 INNER JOIN 客房信息 ON 客房标准.类型 = 客房信息.类型 WHERE (客房信息.客房编号) Not In (select 客房编号 from

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论