酒店客房管理系统数据库设计

合集下载

数据库课程设计宾馆客房信息管理系统

数据库课程设计宾馆客房信息管理系统

数据库课程设计宾馆客房信息管理系统(总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.报表(入住编号。

房间号房间类别实际价押金总额操作员入住时间)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务书一、数据库原理课程设计的任务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索引的创建因其他表在建立主键时以默认添加,此处不再添加额外索引。

相关文档
最新文档