目录
一. 知识技术
- 数据库管理系统(DBMS)基础:数据库管理系统是酒店客房管理系统的核心,负责存储、检索、更新和管理客房信息。它提供了数据定义、数据操作和数据控制等功能,确保数据的完整性、安全性和可靠性。
- 关系型数据库理论:关系型数据库是当前应用最广泛的数据库类型之一,它通过表、行和列来组织数据,并使用SQL(结构化查询语言)进行数据操作。关系型数据库具有数据结构化、数据共享性高、数据独立性好等优点,非常适合用于酒店客房管理系统的数据存储。
- 数据库设计原则:数据库设计是酒店客房管理系统开发的关键环节,它涉及到数据的逻辑结构、物理结构以及数据的安全性和完整性等方面。在设计过程中,需要遵循规范化设计原则,确保数据的合理组织和有效存储。
二. 需求分析
2.1 功能需求
本系统实现的功能具体如下:
- 1、信息管理:可以对于各种信息的查询,个人信息可以查看自己的私人信息,还可以对自己的私人信息进行修改。用户信息查看用户的个人信息,对用户的信息进行增删改查。
- 2、客户信息管理:可以新建客户,输入客户的身份证号码、姓名、性别、和手机号等信息,可以对于客户的信息进行相应的修改。
- 3、客房信息管理:可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除, 查看空房以及客房的情况。
- 4、入住和退房管理:客户可以入住相应的类型房型下的空房,然后可以退房,系统自动将相应的订单状态置为失效,入住状态置为己退房,将相应房间的状态置为空房。
- 5、费用管理:管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。
- 6、价目信息管理:可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看客房的价目信息。
- 7、物品信息管理:可以查看客房的物品名称,物品状态是否使用,对物品进行查询。
2.2 数据需求
酒店客房管理系统的数据需求包括如下几点:
- 1)数据录入和处理的准确性和实时性
- 数据的输入是否准确是数据处理的前提,错误的输入会导致系统无法正常识别进而导致输出的不正确,从而是系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性。。
- 2)数据的一致性与完整性
- 由于系统的数据是共享的,在不同的客户端中,客房信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有后台数据库的支持。
三. 数据流图与数据字典
3.1 数据流图
3.1.1 业务流图
3.1.2 数据流图
3.1.3 关系图
3.2 数据字典
客户表
字段 | 中文解释 | 类型 | 约束 | 备注 |
cno | 客户编号 | Char(20) | Not null | Primary key |
cname | 客户姓名 | Char(10) | Not null | |
csex | 客户性别 | Char(2) | Not null | |
cid | 客户手机号 | Char(20) | Not null |
客房表
字段 | 中文解释 | 类型 | 约束 | 备注 |
Rno | 客房编号 | Char(20) | Not null | Primary key |
Rstyle | 客房类型 | Char(10) | Not null | |
Rprice | 客房价格 | Int | Not null | |
Rstate | 客房状态 | Char(10) | Not null |
Living表
字段 | 中文解释 | 类型 | 约束 | 备注 |
Cno | 客户编号 | Char(20) | Not null | Primary key |
Ccomedate | 入住日期 | Datetime | Not null | |
Cleftdate | 离开日期 | Datetime | Not null | |
Rno | 客房编号 | Int | Not null | |
Ctime | 入住时间 | Int | Not null | |
Camount | 费用 | Int | Not null |
管理员表
字段 | 中文解释 | 类型 | 约束 | 备注 |
Ano | 管理员编号 | Char(10) | Not null | Primary key |
Aname | 管理员姓名 | Char(10) | Not null | |
Asex | 管理员性别 | Char(2) | Not null | |
Apassword | 登录密码 | Char(20) | Not null |
物品表
字段 | 中文解释 | 类型 | 约束 | 备注 |
Rno | 客房号 | Char(20) | Not null | |
Ritemno | 物品号 | Int | Not null | Primary key |
Ritemstate | 物品状态 | Char(10) | Not null | |
Ritemname | 物品名称 | Char(20) | Not null |
四. 数据库设计
4.1 概念模型设计
E-R图(实体-关系图)提供了表示实体、属性和联系的方法。
(1) 实体型 :用矩形表示,矩形框内写明实体名
(2) 属性:用椭圆型表示,并用无向边与其相应实体连接起来
(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接。
本系统采用E-R图的方法进行数据库概念结构设计,系统E-R图如下所示:
客户实体图
客房实体图
管理员实体图
物品实体图
全局E-R图
4.2 逻辑模型设计
将E-R图转换成关系模式:
客房(客房号,客房类型,客房状态,客房单价)
客户(客户编号,姓名,性别,手机号)
管理员(员工号,姓名,性别,密码)
物品(客房号,物品名称,物品状态)
入住(客房号,入住时间,退房时间,住宿费用)
4.3 数据库实现
创建数据库各表
4.4 导入数据
此处数据是自己创建execl填入的,数据项不是很多。
4.5 视图创建与展示
(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
From 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
From roomitem
创建索引
创建触发器
当在客房表中加入一条信息后显示“已占”表示有客户入住,当在客房表中删除一条信息后显示“已退”表示客户离开。
USE [hotel]
GO
Trigger [dbo].[roomsstatus_update]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[roomsstatus_update]
on [dbo].[rooms]
for update
as
declare @rno varchar(20),
@istf varchar(20)
select @istf=istf from ccomedate
where rno=@rno;
if @istf<>'已退'
begin
update rooms
set rstate='已占'
where rno=@rno
end;
if @istf='已退'
begin
update rooms
set rstate='空闲'
where rno=@rno
end;
创建客户表的触发器,当增加或删除一条信息时显示所有此表中信息。
存储过程
create procedure [dbo].[Query_totalruzhushijian_feiyong]
@ccomedate datetime,
@cleftdate datetime,
@rstyle varchar(10)
as
select sum(datediff(S,addtime,cleftdate)) as ctime,sum(rprice) as 费用合计 from living
where addtime>= ltrim(@ccomedate) and cleftdate<=ltrim(@ctime) and rstyle=@rstyle
group by rstyle;
--drop procedure Query_totalruzhushijian_feiyong;
GO
五. 利用VBNET语言进行页面设计
此处只是利用VBNET语言进行简单的模块搭建,并没有实现前端设计。
页面展示:
可以看见能直接对住房人员的需求进行操作:
(1)添加新住户
(2)预定房间
代码:(此处代码繁多,只截取主代码,剩下的都是粘贴这个管理系统的图片)
(此处为链接数据库代码)
好了今日分享到此结束,大家需要源码的话可以后台call我哟!也请各位佬指出不足!
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 数据库课设---酒店管理系统(MySQL、VBNet)
发表评论 取消回复