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

article/2025/8/19 13:54:54

 

随着全球经济一体化使酒店业客源更加丰富多样化,市场更加广阔多渠道的同时,酒店业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新法宝来增强酒店的核心竞争力。其中最有效的手段之一就是大规模应用先进的信息化技术,变革传统意义上的酒店业竞争方式和经营管理模式以进而赢得新竞争优势,在这方面国际上领先的酒店业一直在不遗余力地探索、实施和推进。Internet作为全球性的计算机互联网,己深入到人们日常生活当中。现代计算机技术的巨大发展,使得酒店管理的方式发生了巨大得变化,就连酒店数据的储存方式也不再只拘泥于传统的方式。酒店管理系统是建立在分布式数据库上的,凡一切关于客户资料、客房资料和酒店资料的管理操作都是依靠分布式数据库来完成的。酒店管理系统主要管理操作包括:客户信息管理、客房管理以及对酒店资料管理等,它们是酒店管理系统的核心业务。

面对目前酒店发展的实际状况,我们通过调研,对宾馆客房管理系统的设计开发做了一个详细的概述。

目录

... 3

1需求分析.. 5

1.1功能分析... 5

1.3宾馆入住流程... 5

1.4系统功能... 7

1.5数据字典... 8

2.概念结构设计阶段.. 9

3.逻辑结构设计阶段.. 12

4.物理结构设计阶段.. 14

5.数据库实施... 14

5.1创建数据库.. 15

5.2创建表... 15

5.3创建视图和建立索引... 16

5.4常用操作的实现.. 18

5.5触发器的设计... 19

总结... 20

参考文献.. 20

宾馆客房管理系统

1需求分析

1.1功能分析

(1)宾馆要求该系统能实现住房信息管理、客户信息管理等功能。

(2)每个房间有房间号、收费标准、床位数目等信息。

(3)每位客人有身份证号码、姓名、性别和地址等信息。

(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息。

(5)管理系统可查询出客人住宿相关信息、房间信息。

1.2功能要求

(1)客人基本信息的录入。

(2)客人基本信息的查询、修改、增加、删除等。

(3)客房相关信息的录入,包括房间号、收费标准、床位、类别等。

(4)客房类别标准的制定、类别信息的输入。

(5)客房基本信息的查询、修改、删除等。

(6)住房信息的录入,包括房间号、客人姓名等。

(7)退房信息的更新。

1.3宾馆入住流程

客户可有三种需求分别为入住请求,续住请求及退房请求,将其发送给管理员,可对其需求分别给予不同的响应:入住请求,查询有无空房,若有,则进行入住登记,否则,返回客房已满,并将结果回馈给客户;续住请求,首先确认客房号,进行续住登记,并将结果返回给客户;退房请求,同样需要先进行确认客房号,进行退房登记,查询有无损坏物品,若有,调出物品赔偿单,再查询入住时间,否则,直接查询入住时间,最后进行结算,将结果返回给客户。可得其整体流程图,如下图1 客房管理业务流程图。

1.4系统功能

系统要处理的对象包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6 个方面,各个对象包含的信息如下所示: (如下图2 系统的功能模块图)

(1)客户信息管理:可以新建客户,输入客户的身份证号码、姓名、性别和地址等信息,可以对于客户的信息进行相应的修改,还可以对客户的消费信息进行统计。

(2)客房信息管理:可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除, 查看空房以及客房的情况。

(3)入住和退房管理:客户可以入住相应的房型下的空房,然后可以退房,系统自动将相应的订 单状态置为失效,入住状态置为已退房,将相应房间的状态置为空房。

(4)客房类型管理:管理员可以对相应的房型进行各种属性的修改,可以按照需求添加相应的房型,管理员、工作人员都可以查看相应的房型信息,管理员有需要时可以删除相应的房型系,统自动将 该房型下的房间删除。

(5)费用管理:管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收 入与支出进行查询或修改。

(6)价目信息管理:可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人 员可以查看价目信息。

1.5数据字典

数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义,很有助于改进分析员和用户的通信。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。

表 1 客户基本信息表customers

表中列名

数据类型

可否为空

说明

Cno

Char(10)

Not null(主键)

客户编号

Cname

Char(10)

Not null

客户姓名

Csex

Char(2)

Not null

客户性别

Cid

Char(20)

Not null

客户身份证号

表 2 客房基本信息表 tb_rooms

属性名

数据类型

是否为主属性

是否为外键

完整性

属性描述

Rno

Char(10)

Not null

客房编号

Rstyle

char(10)

Not null

客房档次

Rprice

Int

Null

客房单价

Rstate

char(10)

Null

客房状态

Rtel

char(15)

Null

客房电话

表 3 客房物品信息表roomitem

属性名

数据类型

是否是主属性

是否为外键

完整性

属性描述

Ritemno

Char(10)

Not null

客房物品编号

Rno

Char(10)

Not null

物品的客房号

Citemname

char(20)

Not null

客房物品名称

Citemprice

Int

Null

客房物品单价

Citemstate

char(10)

Null

客房物品状态

Citemnum

Int

Null

客房物品数目

表 4 客户住宿信息living

属性名

数据类型

是否为主属性

是否为外键

完整性

属性描述

Cno

Char(10)

Not null

客户编号

Rno

Char(10)

Not null

客房编号

Tcomedate

Datetime

Not null

入住日期

Tleftdate

Datetime

Not null

结算日期

Ttime

Int

null

入住时间

Tamount

Int

null

房费金额

表 5 管理员基本信息表administrators

表中列名

数据类型

可否为空

说明

Ano

Char(10)

Not null(主键)

管理员编号

Aname

Char(10)

Not null

管理员姓名

Aposition

Char(10)

Not null

管理员职称

Apassword

Char(20)

Not null

密码

2.概念结构设计阶段

本系统的总体E-R图如图3所示:

以下是分E-R图:

 

3.逻辑结构设计阶段

把系统的E-R图转换成数据库模式如下(下列关系模型中标有黄色钥匙状的为主码):

表6 客户基本信息表customers

    表7 客房基本信息表 tb_rooms

   表8 客房物品信息表roomitem

表9 客户住宿信息living

表10 管理员基本信息表administrators

本系统的关系模型如下:

客户 customers( Cno,Cname,Csex,Cid) 客房 Rooms( Rno,Rstyle,Rprice,Rstate,Rtel) 客户住宿 Living( Tno,Rno,Ccomedate,Cleftdate,Ctime,Camount) 客房物品 Roomitem(Rno,Ritemno,Ritemname,Ritemprice,Ritemstate,Ritemnum) 宾馆管理员

Administrators(Ano,Aname,position,password)

4.物理结构设计阶段

数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合的应用要求的物理结构的过程,就是数据库的物理设计。

数据库的物理设计通常分为两步:

(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间的效率。

确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。其中,最常用的是索引法,本系统也采用的是索引法。我们在经常需要搜索的列和主关键字上建立了唯一索引。

    由于不同PC机所安装的数据库软件位置不一定相同,所以数据文件与日志文件的存放位置也不一定相同。

5.数据库实施

     本系统后台数据库采用MYSQL和Navicat可视化软件。

5.1创建数据库

--创建数据库 宾馆客房管理系统

CREATE DATABASE hotel

GO

USE hotel

GO

5.2创建表

Create table Customers(

Cno char(20) Primary key,

Cname char(10) not null,

Csex char(2) Check(Csex in (‘男’,’女’)),

Cid char(20) not null

);

Create table tb_Rooms(

Rno char(20) not null PRIMARY KEY,

Rstyle char(10) not null,

Rprice int,

Rstate char (10),

Rtel char(15)

);

Create table Roomitem(

Ritemno int not null,

Rno int not null,

Ritemname char(20) not null,

Ritemprice int,

Ritemstate char(10),

Ritemnum int,

Primary key (Ritemno));

Create table Living(

Cno char(10) not null,

Rno char(10) not null,

Ccomedate datetime not null,

Cleftdate datetime not null,

Ctime int,

Camount int,

Primary key (Cno,Rno),

Foreign key (Cno) references Customers(Cno),

Foreign key (Rno) references tb_Rooms(Rno)

);

Create table Administrators (

Ano char(10) Primary key,

Aname char(10) not null,

Aposition char(10) not null,

Apassword char(20) not null

);

5.3创建视图和建立索引

1.创建视图

(1)查询客户(Customers)信息的视图定义如下。

Create view view_Customers (客户编号,客户姓名,客户性别,客户身份证号)

As select Cno,Cname,Csex,Cid

From Customers;

(2)查询客房(Rooms)信息的视图定义如下。

Create view view_Rooms (客房号,客房类型,客房单价,客房状态,客房电话)

As select Rno, Rstyle, Rprice, Rstate, Rtel

From tb_Rooms;

(3)查询客户住宿(Living)信息的视图如下。

Create view view_Living (客房编号,客房号,入住日期,结算日期,住宿时间,房费)

As select Cno,Rno,Ccomedate,Cleftdate,Ctime,Camount

From Living;

(4)查询客房物品(Roomitem)信息的视图定义如下。

Create view view_Roomitem(客房号,客房物品编号,客房物品名称,物品状态,客房物品单价,物品数量)As select Rno,Ritemno,Ritemname,Ritemstate,Ritemprice,Ritemnum

From Roomitem;

(5)查询管理员(Administrators)信息的视图定义如下。

Create view view_Administrators (管理员编号,管理员姓名,管理员职称)

As select Ano,Aname,Aposition

From Administrators;

(6)可计算出入住时间的视图定义如下。

Create view view_time (入住时间) as

select timediff(Cleftdate,Ccomedate) from living where Rno='0001'

(7)可计算出总开销,损坏金额和入住时间的视图定义如下。

Create view view_zhangdan9 (入住时间, 损坏总额, 总开销) as

select timediff(Cleftdate,Ccomedate),Sum(Ritemprice),(rprice+Sum(Ritemprice)) from living natural join tb_rooms natural join roomitem where Ritemstate='损坏'

2.建立索引

CREATE UNIQUE INDEX Custno ON Customers(Cno);

CREATE UNIQUE INDEX Roomno ON tb_Rooms(Rno);

CREATE UNIQUE INDEX Ritemno ON Roomitem(Ritemno);

CREATE UNIQUE INDEX Livno ON Living(Cno);

CREATE UNIQUE INDEX Admintno ON Administrators (Ano);

5.4常用操作的实现

1.例如视图(1)view_Customers:

SQL语句:select 客户编号,客户姓名,客户性别,客户身份证号 from view_customers;

结果:Empty set

2.例如视图(7)view_zhangdan9:

SQL语句:select 入住时间, 损坏总额, 总开销 from view_zhangdan9;

结果:

+----------+----------+--------+

| 入住时间 | 损坏总额 | 总开销 |

+----------+----------+--------+

| 24:00:02 | 13       | 213    |

+----------+----------+--------+

1 row in set

3.使用SQL语句查询顾客信息

SQL语句:select 客户编号,客户姓名,客户性别,客户身份证号 from view_Customers;

查询结果:

+----------+----------+----------+--------------------+

| 客户编号 | 客户姓名 | 客户性别 | 客户身份证号       |

+----------+----------+----------+--------------------+

| 1        | 竹       | 男       | 413026200004059317 |

| 2        | 京       | 女       | 41302620000405918  |

| 3        | 崔       | 男       | 413026200004059318 |

+----------+----------+----------+--------------------+

3 rows in set

4.可使用Delete语句删除表living中Rno=0001的数据:

Delete from living where Rno=’0001’;

5.可使用Update语句对customers表中的Cno=’1’的数据进行修改:

Update customers Set Cname=’ha’ where Cno=’1’;

6.可通过执行Insert…Set…语句增加一个记录对于customers表:

Insert customers set Cno=’4’,Cname=’x’,Csex=’女’,Cid=’43256952158632862’;

5.5触发器的设计

触发器 C1 的功能为当有一条信息插入Living 表中时,触发tb_rooms 表中的 Rstate='满'。 代码如下:

begin

update tb_Rooms

set Rstate='满'

where Rno=new.Rno;

end

触发器 C2 的功能为当从Living 表中删除一条信息时,触发tb_rooms表中的 Rstate='空'。 代码如下:

begin

update tb_Rooms

set Rstate='空'

where Rno=old.Rno;

end

总结

在设计的过程中,我也遇到了这样那样的问题,比如在添加触发器时,因new表和old表的,是navicat中的临时表,而不是inserted和deleted表,在网上查询了很多资料,试了很多次,也没能解决,后来经询问老师才得知,因此光凭一本书的知识是远远不够的,需要在实践中不断的积累经验与知识,才能够使所做系统更加完美。

通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R 图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL 语言的灵活性,其中包括,插入、删除、 修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助。

限于我们的技术水平有限这次的课程设计论文和编程软件的错误和不当之处在所难免,还请老师多多指教!在这次的课程设计中时间紧迫但我们学会了很多,也感到自身知识的贫乏,希望在日后的努力学习中把它做成更完善的系统,并能做其他完善的系统,发现其中的乐趣。

参考文献

[1]宋长龙,等.《基于互联网的数据库及程序设计》[M].清华大学出版社:北京市,2018.

[EB/OL].https://wenku.baidu.com/view/1e02399abf23482fb4daa58da0116c175e0e1eca,2020-03-04


http://chatgpt.dhexx.cn/article/HV2qITQ8.shtml

相关文章

酒店客房住宿预定管理系统(ssm,mysql)

酒店客房住宿预定管理系统(ssm,mysql) (毕业论文11589字以上,共32页,程序代码,MySQL数据库) 代码下载: 链接:https://pan.baidu.com/s/1TZKNh17VthZHIRpBLnsjGA 提取码:8888 【运行环境】 Idea Eclipse MyEclipse J…

酒店管理系统程序设计

酒店管理系统程序设计 随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。市场经济的发展,消费者消费意识的提高,酒店行业的竞争越来越激烈。为了…

JAVA酒店管理系统

目录 E-R图 数据库搭建 功能模块 代码部分 E-R图 数据库搭建 功能模块 1.首先要通过 JAVA 代码连接数据库,通过 jdbc 插件2.设计主菜单、子菜单,里面内容是管理酒店的各种操作,我会设置相应的功能模块完成操作。3.要使这个系统能够持续…

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店 Axure原型演示及下载地址:产品大牛 - 让产品工作…

中小型酒店管理系统

[摘要]计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的中小型酒店管理系统能够更有效管理用户预订酒店业务规范,帮助管理者更加有效管理用户预订酒店,可以帮助提高克服人工管理带来的错误等不…

ASP.NET-酒店管理系统

绪论 1.1本系统的课题背景 中国改革开放以后,我国大力发展经济、教育、旅游等先进产业链,人们对于外出旅游和群体聚餐的需求越来越大。而且我国的良好的科学教育水平和人民文化素质的提高,为酒店管理系统提供了良好的机遇和前景。 采用现代…

酒店客房预订管理系统简单实现

酒店客房预订管理系统 纯java实现,通过IO流对本地文件进行读取操作 需求分析 入住客人信息管理 管理所有入住客人的基本信息,包括开房登记、退房结账、查询、客人延期续费、按姓名详细查询等客人预订信息管理 管理所有预订客户的基本信息,…

简易酒店管理系统

简易酒店管理系统 个人独立开发者,只包括前台营业管理,系统开发过程参考多个酒店系统的优点,结合自身对此行业的理解开发而成。成都地区可以上门安装及培训。我只卖源代码,不负责具体现场实施 开发技术选型:基于.net4.…

sql酒店管理系统

简单sql server酒店管理系统 <1> 负责工作流和功能分析&#xff0c;E/R图设计 <2> 负责关系模式设计&#xff0c;存储过程&#xff0c;触发器&#xff0c;视图设计的使用 数据库概念模型设计 数据库逻辑设计 关系模型 酒店&#xff08;酒店编号&#xff0c;酒店…

课程设计---宾馆客房管理系统

课程名称&#xff1a; 数据库原理及应用 项目名称&#xff1a;宾馆客房管理系统 eclipse、Tomcat、MySQL8、Navicat【项目内容】 1、主要数据表 客户住房信息登记表&#xff0c;客房信息统计表&#xff0c;账目统计表等。 2、功能模块 1&#xff09;接待人员可以完成为客人预…

酒店管理系统的设计与实现

Word下载链接如下&#xff1a; https://download.csdn.net/download/yw1990128/87096359 一 设计背景 1.1 课题现状 随着国家社会经济水平的提升&#xff0c;各酒店的发展速度越来越快&#xff0c;入住人员也越来越多。酒店房间的管理要求也愈来愈大&#xff0c;所以很多酒店正…

酒店管理系统

酒店后台管理系统 这是一个基于ssmjsp的maven后台管理系统项目&#xff0c;使用idea,Mysql来搭建项目&#xff0c;在完成项目后&#xff0c;我想通过一篇博客来记录我的学习过程已经对项目进行讲解&#xff0c;具体的代码会放在Github上 功能介绍&#xff1a; 1&#xff0c;能…

Hotel Manager 酒店管理系统

Hotel Manager 酒店管理系统 问题分析 菜单界面 操作员能够方便的选择所需要进行的操作 在main函数中对每次操作跳转到不同的函数中 执行完操作后返回到管理页面 不同房间的标准价格制定&#xff0c;收费方式的制定&#xff1a;/天 或 /小时 每个房间的收费方式要写2个 ro…

酒店管理系统的设计与实现/酒店客房管理系统/酒店预定系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;酒店管理系统当然也不能排除在外。酒店管理系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

酒店管理系统/酒店客房管理系统的设计与实现

摘 要 酒店管理系统采用B/S模式&#xff0c;促进了酒店管理的安全、高效、快捷的发展。传统的管理模式还处于手工处理阶段&#xff0c;管理效率极低&#xff0c;随着用户的不断增多&#xff0c;传统基于手工管理模式已经无法满足当前用户需求&#xff0c;随着信息化时代的到来…

酒店客房管理信息系统

目 录 摘 要 Abstracts 目 录 第1章 绪论 1.1课题背景 1.2研究意义 1.3研究内容 第2章 技术介绍 2.1相关技术 2.2java技术 2.3MySQL数据库 2.4 Tomcat介绍 2.5SSM框架 第3章 需求分析 3.1需求分析概述 3.2可行性分析 3.2.1经济可行性 3.2.2技术可行性 3.3…

酒店客房管理系统

技术&#xff1a;Java、JSP等 摘要&#xff1a;随着我国经济的不断发展&#xff0c;外出旅游或工作越来越多成为居民必不可少的一部分。所以酒店也在这样的条件下不断快速的发展。同时&#xff0c;随着酒店企业的蓬勃发展&#xff0c;酒店对酒店客房信息的管理的难度不断增大&a…

asp.net1053-酒店宾馆客房预订管理系统#毕业设计

项目编号:asp.net1053-酒店宾馆客房预订管理系统#毕业设计 运行环境&#xff1a;VSSQL 开发工具:VS2010及以上版本 数据库:SQL2008及以上版本 使用技术&#xff1a;HTMLJSHTML 开发语言&#xff1a;C#&#xff0c;框架&#xff1a;asp.net 传统的酒店管理模式基本上都是用传统的…

模型量化各类论文综述(摘要、方法总结)

模型量化各类论文综述&#xff08;摘要、方法总结&#xff09; 方法&#xff08;总结&#xff09;&#xff1a; Fixed-point Scalar Quantization Reference 1、韩松2、https://arxiv.org/pdf/2004.07320.pdf

毕业论文 | 文献综述应该怎么写

毕业论文 | 文献综述应该怎么写 01关于论文写作的顺序02 研究背景该写点啥03 文献综述包括啥子04 文献综述大纲05 文献综述引用小技巧06 Endnote文献管理工具 这篇文章想输出一下这份我在写文献综述时的总结。 依旧是提前说明&#xff0c;这篇文章只是我在毕业论文写作中总结到…