酒店客房管理系统数据库设计
- 格式:doc
- 大小:2.13 MB
- 文档页数:19
数据库课程设计宾馆客房信息管理系统(总34页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March一、设计内容与设计要求1.设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容。
⒈系统需求分析需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。
用户对数据库的需求包括:⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。
⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求。
本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。
⒉数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。
本课程设计要求学生采用E-R方法进行数据库的概念设计。
本设计阶段可分为:● 数据抽象。
即根据需求分析的结果,抽取出与本课程设计相关的特性。
酒店客房管理系统的设计与实现1. 引言酒店客房管理系统是一种帮助酒店管理客房信息并提供相关服务的软件系统。
该系统能够方便酒店管理人员对客房进行预订管理、入住登记、客房状态跟踪等操作,提高客房的利用率和服务质量。
本文将介绍酒店客房管理系统的设计与实现。
2. 功能需求分析酒店客房管理系统的功能主要包括以下几点:1.客房信息管理:包括客房类型、客房价格、客房状态等信息的录入和查询。
2.客房预订管理:支持客户对客房进行预订操作,同时能够进行客房的冲突检测,避免重复预订。
3.客房入住管理:记录客户的入住信息,包括入住登记、客房分配、押金收取等。
4.客房状态跟踪:及时更新客房的状态信息,包括客房是否已打扫、客房是否已空净等。
5.客房费用管理:包括客房的消费记录、押金退还、费用结算等功能。
6.统计报表生成:能够根据需求生成各类统计报表,如客房利用率、客房收入等。
3. 系统设计3.1 数据库设计酒店客房管理系统的数据库设计是系统设计的关键部分。
系统需要设计以下几个主要的数据表:•客房表:存储客房的基本信息,包括客房ID、客房类型、价格、状态等字段。
•客户表:存储客户的基本信息,包括客户ID、姓名、联系方式等字段。
•预订表:存储客户的预订信息,包括客户ID、客房ID、预订时间、预订状态等字段。
•入住表:存储客户的入住信息,包括客户ID、客房ID、入住时间、退房时间、押金等字段。
•消费表:存储客户的消费记录,包括客户ID、客房ID、消费金额、消费时间等字段。
3.2 系统架构设计酒店客房管理系统的架构设计应该采用分层结构,主要包括表示层、业务逻辑层和数据存储层。
•表示层:负责与用户交互,展示界面并接收用户输入,使用HTML、CSS和JavaScript等前端技术完成。
•业务逻辑层:负责处理用户请求、业务逻辑判断、调用数据存储层从数据库中读取或写入数据等,使用Java或其他后端语言实现。
•数据存储层:负责与数据库进行交互,读取或写入数据,可以使用关系数据库(SQL Server、MySQL)或非关系数据库(MongoDB、Redis)等进行存储。
酒店客房数据库设计1.系统概述1.1 酒店数据库开发前言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。
各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。
作为计算机及网络应用的一部分,使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
且办事效率也是决定收入的一个关键因素。
现代化的酒店组织庞大、服务项目多、信息量大,使用传统人工的方式管理文件档案,这种管理方式几乎是不可能实现的。
要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来对酒店客房进行现代化的信息管理。
所以就必须建立一个合适高效的酒店客房信息的数据库。
1.2 可行性分析现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。
一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。
所以在工作效率方面来说建立一个这样的系统是完全可行的。
另外,客房管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
在酒店客房管理系统的主要任务是对酒店的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对酒店客房的业绩进行统计。
通常,酒店客房管理系统的数据库主要记录以下几个方面的信息。
(1) 记录用户信息:对酒店客房管理系统的使用员工进行管理,包括对员工的基本信息(如用户姓名、所属部门、用户类型等)进行检索、录入和修改。
宾馆客房管理系统的设计与实现数据库设计说明书院系:信息工程学院组长:王鹏指导老师:_____________实用文档文档信息及版本历史实用文档实用文档目录1引言 (4)1.1 编写目的 (4)1.2 术语表 (5)1.3 数据库命名约定 (5)1.4 参考资料 (5)2数据库环境说明 (6)3数据库的命名规则 (7)4概要设计 (7)5逻辑设计 (8)6物理设计 (28)6.1 确定关系模型的存取方法 (28)6.2 确定数据库的存储结构 (29)7存储过程、函数及触发器的设计 (29)8安全性设计 (29)8.1 用户帐号密码的加密方法 (29)实用文档8.2 角色与权限 (29)9数据库的实施 (29)1引言1.1编写目的例如:本文档是宾馆客房管理系统概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《xx数据库设计和开发规范》。
本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
实用文档1.2术语表定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。
1.3数据库命名约定1.4参考资料列出有关资料的名称、作者、文件编号或版本等。
参考资料包括:1.需求说明书;实用文档2.本项目的其它已发表的文件;3.引用文件、资料、软件开发标准等。
2数据库环境说明提示:1.说明所采用的数据库系统,设计工具,编程工具等2.详细配置实用文档3数据库的命名规则提示:说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规范》命名。
4概要设计进过对宾馆客房管理系统的数据分析的到数据库的E-R模型如下(注:本E-R 图是在PowerDesigner下绘制的):实用文档5逻辑设计由以上的得到的E-R图,对数据库经行逻辑设计如下(注:是由PowerDesigner下自动得到的):实用文档表清单清单:实用文档表名:BDWDY_TAB 解释:bdwdy_tab实用文档[返回]表名:CZY_TAB 解释:czy_tab[返回]实用文档表名:GZDWXX_TAB 解释:gzdwxx_tab[返回]表名:KFXXLX_TAB 解释:kfxxlx_tab实用文档[返回]表名:KFYD_TAB 解释:kfyd_tab实用文档[返回]表名:KRJK_TAB 解释:krjk_tab实用文档[返回]表名:PBCATCOL 解释:pbcatcol实用文档[返回]实用文档表名:PBCATEDT 解释:pbcatedt[返回]表名:PBCATFMT 解释:pbcatfmt实用文档[返回]表名:PBCATTBL 解释:pbcattbl实用文档实用文档[返回]表名:PBCATVLD 解释:pbcatvld[返回]实用文档表名:TXJZ_TAB 解释:txjz_tab实用文档[返回]实用文档表名:TXJZ1_TAB 解释:txjz1_tab实用文档实用文档[返回]表名:YGXX_TAB 解释:ygxx_tab[返回]实用文档表名:YWBMDY_TAB 解释:ywbmdy_tab[返回]表名:ZXDJ_TAB 解释:zxdj_tab实用文档实用文档[返回]6物理设计6.1确定关系模型的存取方法为了提高本系统的性能,需要人为干涉rdbms的执行计划,对于一些小表本系统让其走全表扫描,因其比索引扫描快,对于那些经常插入数据的表少建立索引,因为这会增加系统维护索引的开销,对于一些大表,需要在某些列上建立索引,这些索引如下:Create index czy_index on czy_tab(czy);Create index kfxxlx_tab_index on kfxxlx_tab(fjh);实用文档6.2确定数据库的存储结构本系统采用文件系统存储格式,对于经常读的表建有索引,对于经常插入的表没建所引。
酒店客房管理系统数据库设计报告摘要本文档旨在对酒店客房管理系统的数据库设计进行详细说明和解释。
酒店客房管理系统是一种旨在提供客房管理和预订服务的软件系统,通过有效的数据库设计可以提高系统的性能和扩展性。
本文档将介绍系统的需求分析,数据库设计思路,数据表设计,以及一些重要的数据关系和查询操作。
1. 引言酒店客房管理系统是为酒店提供客房管理和预订服务的系统,旨在提供高效、准确和可靠的客房管理功能。
数据库设计对于该系统的性能和扩展性起着至关重要的作用。
一个良好设计的数据库可以提高系统的运行效率,减少数据冗余和不一致性,并且能够轻松支持未来的扩展和功能增加。
2. 需求分析在进行数据库设计之前,我们首先需要对酒店客房管理系统的需求进行分析。
根据需求分析,我们可以确定系统需要存储的数据及其相关结构和关系。
酒店客房管理系统的主要功能包括客房管理、客户管理和预订管理。
其中客房管理包括客房类型、客房设施和客房价格的管理;客户管理包括客户信息的管理;预订管理包括客房预订信息的管理。
此外,系统还需要支持查询客房的可用性、查询客户的预订信息等功能。
3. 数据库设计思路基于需求分析,我们可以得到以下的数据库设计思路:•将客房、客户和预订信息分别作为不同的数据表存储。
•使用主键和外键设计有效的数据关系。
•使用索引提高查询性能。
•使用适当的数据类型和约束确保数据的完整性和一致性。
•根据实际需求进行合理的数据表分割和合并。
4. 数据表设计根据数据库设计思路,我们可以设计以下几个数据表:4.1 客房表客房表包含客房的基本信息,如客房号、客房类型、客房设施和价格等。
表结构如下:字段名类型约束room_id int 主键room_number varchar 唯一,非空type_id int 外键,参考客房类型表facility varcharprice decimal4.2 客房类型表客房类型表用于存储不同客房类型的信息,如单人间、双人间等。
宾馆客房管理系统数据库设计报告(精选五篇)第一篇:宾馆客房管理系统数据库设计报告宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。
数据库系统包括员工管理、客房管理、顾客管理几个大块。
主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。
一、需求分析(1)具有方便的登记、结账功能,以及预订客房的功能,能够支持团体登记和团体结账。
(2)能快速、准确地了解宾馆内的客房状态,以方便管理者决策。
(3)提供多种手段查询客人的信息。
(4)具备一定的维护手段,有一定权利的操作人员在密码的支持下才可以更改房价、房间类型、增减客房。
(5)完善的结账报表系统。
二、E-R关系图三、关系表本系统有八个表,分别是职工信息表(staffinfo)、顾客信息表(custmerinfo)、经理信息表(managerinfo)、客房信息表(roominfo)、客房状态表(roomstatus)、入住表(checkin)、退房表(checkout)、结账订单表(orderinfo)。
1,职工信息表(staffinfo)2,顾客信息表(custmerinfo)3,经理信息表(managerinfo)4,客房信息表(roominfo)5,客房状态表(roomstatus)6,入住表(checkin)7,退房表(checkout)8,结账订单表(orderinfo)四、范式分析本系统所有的表均为BCNF,职工和经理表由各自的工作编号为主码,并且可以决定其他所有属性,顾客表由身份证号做为主码,同理,客房的房间号可以决定其他所有属性。
五、功能分析 1,登记功能本系统采用存储过程实现登记功能,顾客前来预订客房,由工作人员调用存储过程向顾客表中插入该顾客信息,完成登记。
create procedure register@身份证号 varchar(20),@姓名 varchar(10),@性别 char(5),@电话 char(15), char(10)asinsert into custmerinfovalues(@身份证号,@姓名,@性别,@电话,@员工编号)@员工编号2,预订功能采用存储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。
1.客房表room类型大小非空约束默认描述ID Number 4 √客房号(主键)TypeID Number 4 √客房类型编号IsAvailble char 1 √否客房是否空闲状态,包括是和否两种状态Notes varchar 50 备注1.客房类型表ROOMTYPE字段名称类型大小读写非空约束默认描述TypeID Number 4 w/r √客房类型编号(主键)Type varchar 20 w/r √客房类型,包括标准间,商务间,三人间等等(3)客人表CUSTOMER:记录客人身份证号、客人姓名、客人性别等信息字段名称类型大小非空约束默认描述Id Number 10 √客人编号(主键)CardId Number 20 √唯一客人身份证号Name varchar 20 √客人姓名Sex char 1 √男性别(男/女)Telephone Number 8 √联系电话Address varchar 50 地址Notes varchar 50 备注(4)职工表staff字段名称类型大小非空约束默认描述Id Number 20 √工作证号码(主键)Name varchar 20 √职员姓名Password varchar 20 √111 密码Sex char 1 √女性别(男/女)CardId Number 20 √唯一身份证号Level varchar 20 √职务Notes varchar 50 备注(5)住宿表字段名称类型大小非空约束默认描述id Number 4 √住宿记录编号(主键)RoomId char 4 √入住房间CustomId Number 10 √客人编号CheckInTime DateTime √入住时间CheckInTime DateTime √离开时间Due Number 4 √应付款Deposit Number 4 押金数Payment Number 4 实际支付金额Change Number 4 找零Notes varchar 50 备注。
5、宾馆客房管理系统(难度系数1)
功能介绍:
1)客房数量的基本设置(例如:一楼有101,102……109九个标准间,二楼有201,202……208八个三人间,……七楼有701,702……706六个套房)根据实际考察,再进行房间价格,入住手续办理等各环节业务流程设置
2)办理入住手续(客人姓名、身份证号,家庭住址,入住客房,入住时间,预住时间,押金(>=当天客房费用+200押金))
3)客房门卡管理系统(入住时发卡;每天进行一次刷卡登记,必要时需要补交房费,否则不能够正常开锁;退房时交卡结算)
4)办理退房手续
5)日、周、月核算报表
6)网上预定及处理
注:要求图形化交互界面,友好易用。
客房房间号楼层单价类别
客人信息客人姓名、身份证号,家庭住址,入住客房,入住时间,预住时间,押金
1.客房表(客房号,楼层,客房类型,入住单价,可入住人数,清洁周期) room
2.客户表(入住编号,客户姓名,客房号,入住日期,入住天数,每天单价,入住压金,接待员)
3.订房表(订房编号,客户姓名,客户号,预计入住日期,预计入住天数,订房压金,订房日期,接待员)
4.清洁表(客房号,清洁记录,清洁人,清洁日期)
5.结算表(入住编号,入住天数,入住金额,结算员,结算日期
6.报表(入住编号。
房间号房间类别实际价押金总额操作员入住时间)。
第 3 章酒店客房预订管理系统的数据库分析及系统设计3.1 数据库分析软件系统在工作的过程中,相关的数据信息都保存在数据库中,数据库的主要作用就是对软件系统中的数据信息进行存储和管理,保证这些数据信息的稳定和平安。
数据库就是软件系统的后台,是整个软件系统的核心组成局部,数据信息的流动引导着软件系统的工作流程,每个功能模块都会产生相应的数据信息,因此在对软件系统进行设计的过程中,首先需要对软件系统后台的数据库管理系统进行分析与设计,根据数据库设计的结果在对软件系统的各个功能模块进行设计,这样的设计方案符合软件工程对开发过程的定义和要求,同时也能够防止由于分析不完全导致的系统功能缺陷问题的出现,合理的数据库结构也能够提高软件系统的工作效率,为软件系统的功能流程设计提供合理的数据流支持,根据以上的描述,数据库的分析过程是十分重要的。
在对软件系统后台数据库进行分析的工作中,主要通过后台数据库的平安性和稳定性,后台数据库的标准性以及后台数据库的可扩展性和可维护性这几个方面进行分析。
其中在对后台数据库的平安性和稳定性方面,首先数据库能够保证数据信息的平安和稳定,存储在数据库中的数据信息不会被轻易盗取或者出现错误,对数据库系统用户的管理也十分严格,分为不同操作权限的用户类型,在最大程度上保证数据库系统的平安。
数据库系统能够长期存储数据,并且保证数据库运行的稳定,带有数据自动备份和恢复功能,在最大程度上提供数据平安性效劳。
同时在数据库的标准性方面,需要对数据库表格内容以及数据库组织结构的设计按照数据库设计范式进行,并且保证数据的完整和合法,这样才能满足数据库设计的标准。
在数据库可维护性和可扩展性方面,需要预留出系统功能扩展所需要的存储数据库的空间,并且对数据库可以进行定期的维护,通过日志文件查看数据库的运行状态,对出现的问题能够及时发现原因并解决。
数据库在设计的过程中还需要充分根据软件系统可行性分析以及需求分析的结果进行工作,这样能够保证数据库的设计与系统功能模块的设计一致,不仅能够提供合理有效的功能,同时也为数据库的稳定运行提供支持。
数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生姓名同组人起止日期年月日至月1 日摘要宾馆管理系统是对宾馆管理系统的现代化、网络化;逐步摆脱当前宾馆管理的人工管理方式;拓展经营空间;降低运营成本;提高管理和决策效率而开发的..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块;并提供了对各功能模块的查询和更新功能..其中客户信息管理、入住和退房管理是系统开发的重点..本文讲述的是基于客户/服务器的宾馆管理系统;实现了宾馆管理的信息化..本系统涉及数据库方面的技术;采用SQL语言来实现..本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成..目录1.问题描述 (1)1.1背景 (1)1.2功能要求 (1)2.需求分析 (1)2.1需求分析 (1)2.2系统功能模块图 (3)2.3数据流图 (3)2.4数据字典 (6)3.概念结构设计 (7)3.1E-R图 (7)3.2实体及属性的定义 (7)4.逻辑结构设计 (8)5.物理结构设计 (9)6.触发器设计 (10)7.数据库的实施和维护 (10)8.结束语 (12)8.答辩与成绩考核 (13)1.问题描述1.1背景随着宾馆业竞争的加剧;宾馆之间客源的争夺越来越激烈;宾馆需要使用更有效的信息化手段;拓展经营空间;降低运营成本;提高管理和决策效率..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..但传统的宾馆管理基于财务管理为主线的设计理念;无法满足宾馆全面信息化管理的需要..现代宾馆酒店业迅速发展;新的管理观念与模式层出不穷..宾馆客房管理系统亦随着宾馆管理理念的发展而发展..宾馆客房管理系统依旧采用了先进的数据库理论;多媒体技术;软件工程理念等;从基层;中层;高层三个管理者层次为切入点;以成本分析;预测;控制为一线;形成一套上下贯通;操作便捷的酒店系统解决方案;科学地将宾馆各种日常业务完美的结合在一起;为管理及决策提供了强有力的支持..其对客人个性化服务及全面彻底的信息化;使企业电算化水平提升到一个新的更高层次;提供大量丰富的基于企业管理经营过程中实际的数据..1.2功能要求1客人基本信息的录入;2客人基本信息的查询、修改、增加、删除等;3客房相关信息的录入;包括房间号、收费标准、床位、类别等;4客房类别标准的制定、类别信息的输入;5客房基本信息的查询、修改、删除等;6住房信息的录入;包括房间号、客人姓名等;7退房信息的更新;2.需求分析2.1需求分析1. 处理对象系统要处理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面;各个对象包含的信息如下所示:1信息管理:可以对于各种信息的查询;个人信息可以查看自己的私人信息;还可以对自己的私人信息进行修改..用户信息查看用户的个人信息;对用户的信息进行增、删、查、改..2客户信息管理:可以新建客户;输入客户的身份证号码、姓名、性别、出生日期和地址等信息;可以对于客户的信息进行相应的修改;还可以对客户的消费信息进行统计..3客房信息管理:可以在相应的房间类型下面进行添加相应的房间;对相应的房间进行删除;查看空房以及客房的情况..4入住和退房管理:客户可以入住相应的类型房型下的空房;然后可以退房;系统自动将相应的订单状态置为失效;入住状态置为已退房;将相应房间的状态置为空房..5客房类型管理:管理员可以对相应的房型进行各种属性的修改;可以按照需求添加相应的房型;管理员、工作人员都可以查看相应的房型信息;管理员有需要时可以删除相应的房型;系统自动将该房型下的房间删除..6费用管理:管理员、工作人员都可以查看相应的费用信息;管理员有需要时可以对宾馆的收入与支出进行查询或修改..7价目信息管理:可以查看客房的收费标准;管理员可以对客房价格进行查询与修改;工作人员可以查看可风的价目信息..2. 系统功能分析某宾馆需要建立一个住房管理系统;需求分析结果如下:1宾馆要求该系统能实现住房信息管理、客户信息管理等功能;2一个房间有多个床位;同一房间内的床位具有相同的收费标准..不同类型的房间的床位收费标准可能不同;3每个房间有房间号、收费标准、床位数目等信息;4每位客人有身份证号码、姓名、性别、出生日期和地址等信息;5对每位客人的每次住宿;应该记录其入住日期、退房日期和预付款额信息;6管理系统可查询出客人住宿相关信息、房间信息..3.安全性和完整性要求安全性先通过试图机制;不同的用户只能访问系统授权的视图;这样可以满足系统数据一定程度上的安全性;在通过用户授权机制;用户登录来识别用户级别;根据这个级别来分配用户权限;达到数据更高层次的安全保密功能..系统完整性要求系统中数据的正确性以及相容性..可以通过建立主、外键;使用check约束;或者通过使用触发器和级联更新..2.2系统功能模块图系统功能模块图;如图2.2所示..图2.2 系统的功能模块图2.3数据流图1.业务流程图;如图2.3.1所示..图2.3.1 客房管理业务流程图1顶层数据流程图;如图2.3.2所示..客人入住、图2.3.2 顶层数据流程图2第二层数据流图;如图2.3.3所示..图2.3.3 第二层数据流图3宾馆开房数据流程图;如图2.3.4所示..缴费单图2.3.4 宾馆开房数据流程图4客户续房数据流程图;如图2.3.5所示..补交费用图2.3.5 客户续房数据流程图5客人退房数据流程图;如图2.3.6所示..图2.3.6 客人退房数据流程图2.4数据字典表2-5. 客户住宿Living信息:表2-6. 客房物品Roomitem信息:3.概念结构设计3.1 E-R图各实体之间的E-R图;如图3-1所示..图3-1 实体之间的E-R图3.2实体及属性的定义3.2.1类别实体E-R图:客户信息实体的E-R图;如图3-2所示..图3—2 客户信息实体的E—R图客房信息实体的E-R图;如图3-3所示..图3—3 客房信息实体的E—R图客户住宿实体的E-R图;如图3-4所示..图3—4 客户住宿实体的E—R图客房物品信息实体的E-R图;如图3-5所示..图3—5 客房物品实体的E—R图4.逻辑结构设计具体的基本E-R图向关系模型的转化结果如下:客户Travellers Tno;Tname;Tsex;Tid客房Rooms Rno;Rstyle;Rprice;Rstate;Rtel客户住宿Living Tno;Rno;Tcomedate;Tleftdate;Ttime;Tamount客房物品RoomitemRno;Ritemno;Ritemname;Ritemprice;Ritemstate;Ritemnum数据库模式定义表4-2 客房基本信息表Rooms表4-3 客房物品信息表Roomitem表4-4 客户住宿信息Living5.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程;在这个阶段要完成两大任务..(1)确定数据库的物理结构;在关系数据库中主要是存储方法和存储结构..(2)对物理结构进行评价;评价的重点是时间和空间效率..CREATE UNIQUE INDEX Travno ON TravellersTnoCREATE UNIQUE INDEX Roomno ON RoomsRnoCREATE UNIQUE INDEX Ritemno ON RoomitemRitemnoCREATE UNIQUE INDEX Livno ON LivingTno6.触发器设计触发器C1的功能为当有一条信息插入Living表中时;触发Rooms表中的Rstate='满'.. 代码如下:create trigger c1on tb_Living for insertasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rnobeginupdate tb_Roomsset Rstate='满'where Rno=select Rnofrom insertedEnd触发器C2的功能为当从Living表中删除一条信息时;触发Rooms表中的Rstate='空'.. 代码如下:create trigger c2on tb_Living for deleteasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rno beginupdate tb_Roomsset Rstate='空'where Rno=select Rnofrom deletedEnd7.数据库的实施和维护7.1 建立数据库、数据表、索引1.建立数据库Create database db_hotel;2.建立数据表1客户基本信息表Travellers的建立..Create table tb_TravellersTno int CheckTno>=0 and Tno<=9999;Tname char10 not null;Tsex char2 CheckTsex in ‘男’;’女’;Tid char20 not null;Primary key Tno;2 客房基本信息表Rooms的建立..Create table tb_RoomsRno int not null;Rstyle char10 not null;Rprice intRstate char 10Rtel char15PRIMARY KEY Rno;3客房物品信息表Roomitem的建立..Create table tb_RoomitemRitemno int not null;Rno int not null;Ritemname char20 not null;Ritemprice intRitemstate char10Ritemnum intPrimary key RitemnoForeign key Rno references tb_RoomsRno;4 客户住宿信息Living的建立..Create table tb_LivingTno int not null;Rno int not null;Tcomedate datetime not null;Tleftdate datetime not null;Ttime intTamount intPrimary key Tno;Rno;Foreign key Tno references tb_TravellersTno; Foreign key Rno references tb_RoomsRno;3.建立视图1查询客户Travellers信息的视图定义如下..Create view view_Travellers 客户编号;客户姓名;客户性别;客户身份证号As select Tno;Tname;Tsex;TidFrom tb_Travellers2查询客房Rooms信息的视图定义如下..Create view view_Rooms 客房号;客房类型;客房单价;客房状态;客房As select Rno; Rstyle; Rprice; Rstate; RtelFrom tb_Rooms3查询客户住宿Living信息的视图如下..Create view view_Living 客房编号;客房号;入住日期;结算日期;住宿时间;房费As select Tno;Rno;Tcomedate;Tleftdate;Ttime;TamountFrom tb_Living4查询客房物品Roomitem信息的视图定义如下..Create view view_Roomitem客房号;客房物品编号;客房物品名称;物品状态;客房物品单价;物品数量As select Rno;;Ritemno;Ritemname;Ritemstate;Ritemprice;RitemnumFrom tb_Roomitem4.建立索引CREATE UNIQUE INDEX Travno ON tb_TravellersTnoCREATE UNIQUE INDEX Roomno ON tb_RoomsRnoCREATE UNIQUE INDEX Ritemno ON tb_RoomitemRitemnoCREATE UNIQUE INDEX Livno ON tb_LivingTno8.结束语通过此次数据库的课程设计;真正达到了学与用的结合;增强了对数据库方面应用的理解;对自己今后参与开发数据库系统积累了不少经验;在实验过程中;从建立数据开始;对数据库设计理念及思想上有更高的认识;从需求分析;到概念设计和逻辑设计;E-R图的表示;数据字典的创建;懂得了不少有关数据库开发过程中的知识;增强了自己在数据库中应用SQL语言的灵活性;其中包括;插入、删除、修改、查询;牵涉表和表之间的联系;主建与外主键的定义;约束项的设置;使逻辑更严密;在学习过程中;我也能过上网查了不少资料;也看了一些别人设计的旅馆管理信息系统的设计报告;学以致用;自我创新;独立完成了这份自己的报告;从中在学到用;从用又到学;不断修改;系统更新..虽然不能达到完善系统;但也做到了尽善尽美;加强理论学习对完善系统会有很多帮助;不管怎么说;对这次做的课程设计自己觉得还算满意..9.答辩与成绩考核。
任务书一、数据库原理课程设计的任务1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。
2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的能力,结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备基本的数据库编程能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。
3)提升工程实践能力、团队协作精神、交流与沟通能力;4)通过规范化的实验报告,培养学生良好的文档习惯以及撰写规范文档的能力。
二、课程设计的基本内容目录1.数据库需求分析 (4)1.1设计目的 (4)1.2系统功能分析 (4)1.3功能模块设计 (5)2.数据库概念结构设计 (6)2.1概念模型 (6)2.2 E-R模型 (6)3.数据库逻辑结构设计 (8)3.1关系模型设计 (9)3.2数据模型的优化 (9)3.3子模式设计 (9)4.数据库物理结构设计 (9)4.1存取方式设计 (9)4.2存储结构设计 (10)5.数据库安全性、完整性设计 (10)5.1主要视图设计 (10)5.2用户权限 (10)6.数据库实现 (11)6.1编码实现 (11)6.1.1主要数据表的创建 (11)6.1.2主要视图的创建 (14)6.1.3索引的创建 (14)6.1.4创建用户权限 (14)6.1.5创建存储结构 (15)7.数据录入调试及运行 (16)8.课程设计总结体会 (18)9.参考文献 (19)1.数据库需求分析1.1设计目的本酒店客房管理系统是为了满足现代酒店的管理需求、提高对顾客的服务质量、方便酒店的管理和运营而设计的一款多功能易操作的基于B/S模式的数据库管理系统。
由于当前的多数酒店都是以人工的方式来统计管理酒店里的各项事务,其中带来了很多的不便,使得酒店的管理也相对比较困难。
对于酒店的营业情况的统计,要耗费很大的人力来进行统计分析。
人工方式的管理也很容易出现管理上的失误。
随着计算机技术和互联网技术的发展,设计一种可以实现自动化管理酒店事务的系统是当前酒店行业的一个迫切要求。
本款酒店客房管理系统就是应运而生的一款快捷酒店管理系统,它可以使酒店人员很方便的管理酒店的各项事务,并将管理的失误降到最低。
本系统通过对不同的人员分配不同的权限可以很好的防止客户以及酒店一些信息的泄露。
酒店会计还可以通过本系统快捷地统计出酒店在特定阶段的营业情况,可以根据分析的结果进行相应业务的调整。
顾客可以通过本系统对入住的体验进行评价或者提出相关的建议,可以使酒店的服务更加完善。
1.2系统功能分析本系统是为方便酒店管理和日常的营业需要,加入了酒店房间预定功能、顾客入住登记功能、员工维修客房设施记录功能、顾客体验反馈功能、营业情况统计功能。
酒店房间预订系统:顾客可根酒店客房的一些信息,根据自身需求预定相应的客房,并支付一定的押金,顾客可根据情况选择入住或者退订已预订的房间。
顾客入住登记功能:当顾客预定好房间选择入住时,系统进入住登记阶段,用户登记自身信息,并根据预定的订单信息办理入住房间。
员工维修记录功能:当酒店里的服务设施发生故障时,维修人员对故障进行维修,并记录维修的设施名称及其维修时间,以及维修所产生的费用,最后将数据存储在数据库中,并打印凭条以便上报。
顾客体验反馈系统:当顾客要退房离开时,顾客可根据自身体验对酒店的设施和服务进行相应的评价和对一些问题提出相应的建议便于酒店对此做出改进。
营业情况统计功能:酒店人员可根据特定阶段的营业状况,对消费记录进行分析,得出相应阶段营业盈亏的原因,并从中提取一些好的建议,以利于酒店的盈利。
1.3功能模块设计--系统功能模块图—●有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。
●客房标准信息的修改、查询等。
●客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。
●客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。
●剩余客房信息的查询等。
●订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
●订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
●入住信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。
●入住信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。
●员工信息的输入,包括员工工号,员工姓名,性别,年龄,手机号码,酒店编号信息等。
2.数据库概念结构设计2.1概念模型●客房标准信息:客房编号、客房名称、床位数量、住房单价。
●客房信息:客房编号、客房种类、客房位置、客房单价,客房状态。
●订房信息:订单编号、客房种类、顾客姓名、顾客身份证号码、订房时间、折扣。
●顾客信息:顾客姓名、顾客身份证号码、手机号码。
●入住信息:流水单号、客房编号、客房类型、顾客身份证号码、入住时间、结算时间、职工工号、结算备注。
●职工信息:工号、职工姓名、职工性别、职工年龄、入职时间、职务。
●酒店信息:酒店编号、酒店名称、酒店电话。
●物品信息:物品编号、物品名称、物品类别、物品单价、库存。
●维修信息:流水单号、维修时间、维修物品、房间编号、维修费用。
2.2 E-R图客房状态客房标准信息E-R图职工信息E-R图顾客信息E-R图物品信息E-R图酒店信息E-R图手机号库存房间编号实体间联系E-R图3.数据库逻辑结构设计3.1 关系模型设计客房(客房编号,客房名称,客房类型,床位数量,住房单价,酒店编号)顾客(顾客身份证号码,顾客姓名,手机号码)员工(员工工号,员工姓名,员工性别,员工年龄,手机号码,入职时间,职务)酒店(酒店编号,酒店名称)物品(物品编号,物品名称,物品单价,物品类型)入住(流水单号,房间名称,顾客身份证号,入住时间,退房时间,住宿时长,住宿费用)预定(流水单号,顾客身份证号,房间类型,预定时间,预定入住时长,押金,预定状态)维修(流水单号,员工工号,房间编号,维修设施名称,维修费用,维修时间)消费(流水单号,入住单号,消费物品名称,消费量,消费金额)评价(流水单号,顾客身份证号,评论时间,评论星级,评论内容,酒店编号)3.2 数据模型的优化客房信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.顾客信息关系模型中的关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合5NF.员工信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.酒店信息在酒店信息关系模式中,因仅有两个属性且属性间不存在部分依赖,传递依赖所以该模式设计合理符合第三范式。
物品信息在物品信息关系模式中,主属性可推出关系中的所有非主属性,关系中不存在传递依赖和部分依赖,且每一个决定因素都包含码,该关系模式满足BCNF范式。
入住信息3.3 子模式设计为方便系统的使用,以及开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。
在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。
在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客身份证信息的前六位和后四位,以防止顾客信息的泄露。
在用户查询入住信息,评价信息,消费信息以及维修信息时,流水单号都可忽略,减少用户的信息阅读量。
4. 数据库物理结构设计4.1存取方式设计由于本系统的数据信息的查询操作频繁,所以在部分表中建立索引以提高查询效率。
客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。
顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户身份证号码属性上建立非聚簇索引的方法提高数据的查询效率。
入住信息表和预定信息表要频繁的进行插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上建立聚簇索引便于数据的查询。
由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上耗费大量时间,所以不建议添加索引。
评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。
4.2存储结构设计本系统的数据的存储结构可根据数据的规模的进行设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。
对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。
具体的设计要根据实际情况进行详细的设计。
5. 数据库安全性、完整性设计5.1主要视图设计顾客加密信息(顾客身份证号,顾客姓名)顾客身份证号码只显示前六位和后四位。
客房基本信息(客房名称,客房类型,床位数量,住房单价)入住基本信息(房间编号,顾客身份证号,入住时间,退房时间,住宿时长,住宿费用)身份证号码只显示前六位和后四位。
预定基本信息(顾客身份证号,房间类型,预定时间,预定入住时长,押金,预定状态)身份证号码只显示前六位和后四位。
顾客消费总金额(客房名称,客房类型,入住时间,退房时间,住宿时长,住宿费用,消费总金额)5.2 用户权限酒店经理:对于客房信息表具有查看,修改,添加权限。
对于顾客信息表具有查看权限。
对于入住和预定信息表具有查看权限。
对于员工信息表具有查看,修改,插入和删除权限。
酒店会计:对于客房信息表具有查看结算信息表具有查看和插入权限。
对于员工表具有查看权限。
酒店前台:对于客房信息表具有查看权限,对其中的客房的入住状态具有修改权。
对于顾客信息表具有插入权。
对于入住表和预定表具有插入权。
顾客:对客房信息某些记录具有查询权。
6. 数据库实现6.1编码实现6.1.1主要数据表的创建CREATE DATABASE [酒店客房信息管理系统] ON PRIMARY(NAME = N'酒店客房信息管理系统',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DA TA\酒店客房信息管理系统.mdf' ,SIZE = 3072KB ,FILEGROWTH = 1024KB)LOG ON(NAME = N'酒店客房信息管理系统_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DA TA\酒店客房信息管理系统_log.ldf' ,SIZE = 1024KB ,FILEGROWTH = 10%)create table 物品(物品编号char(5) primary key,物品名称char(30) not null,物品单价money,物品类型char(10));create table 顾客(身份证号char(18) primary key,char(20) not null,手机号char(11));create table 酒店(酒店编号char(4) primary key,酒店名称char(20));create table 客房(客房编号char(4) primary key,客房名称char(4) not null,客房类型char(8) check(客房类型in ('标准间','豪华间')),客房状态char(4) check(客房状态in('入住','空闲')),床位数int,客房单价money);create table 员工(员工工号char(6) primary key,员工姓名char(20) not null,员工性别char(2) check(员工性别in('男','女')),员工年龄int check(员工年龄>18 and 员工年龄<60),员工职务char(20) not null,手机号char(11));create table 维修(维修流水单号int primary key IDENTITY (1, 1),维修房间编号char(4) foreign key references 客房(客房编号), 维修员工工号char(6) foreign key references 员工(员工工号), 维修物品名称char(20),维修时间date,维修费用money);create table 评论(酒店编号char(4),顾客身份证号char(18),评论时间date,评论星级int,评论内容char(500) not null);create table 预定(流水号char(8) primary key,预定客房编号char(4) foreign key references 客房(客房编号), 顾客身份证号char(18) foreign key references 顾客(身份证号), 员工工号char(6) foreign key references 员工(员工工号),预定时间date,预订时长int,预定状态char(10),退订时间date,押金money);create table 入住(流水单号int primary key IDENTITY (1, 1),入住客房编号char(4) foreign key references 客房(客房编号), 顾客身份证号char(18) foreign key references 顾客(身份证号), 入住时间date,退房时间date,住宿费用money,);create table 消费单(消费流水单号int primary key IDENTITY (1, 1),入住流水单号int foreign key references 入住(流水单号),物品编号char(5) foreign key references 物品(物品编号),消费量int,消费金额money);6.1.2主要视图的创建--创建客房基本信息视图--create view 客房基本信息asselect 客房名称,客房类型,床位数,客房单价from 客房--统计顾客住宿的消费费用--create view 消费统计asselect 流水单号, 客房名称, 客房类型, 入住时间,退房时间,DATEDIFF(day,入住时间,退房时间) as 住宿时长,住宿费用from 入住join 客房on 客房.客房编号=入住.入住客房编号--创建顾客加密信息视图--create view 顾客加密信息asselect 身份证号码=replace(身份证号,substring(身份证号,7,8),'********'),,手机号from 顾客.--创建预订概要信息便于查询--create view 预定概要信息asselect 预定客房编号,顾客身份证号,预定时间,客房类型,押金,预定状态from 预定6.1.3索引的创建因其他表在建立主键时以默认添加,此处不再添加额外索引。