数据库课设---酒店管理系统(MySQL、VBNet)

目录

一.   知识技术

二.   需求分析

2.1   功能需求

2.2   数据需求

 三.   数据流图与数据字典

3.1   数据流图

3.1.1   业务流图

3.1.2   数据流图

3.1.3   关系图

3.2   数据字典

四.   数据库设计 

4.1   概念模型设计

4.2   逻辑模型设计

4.3   数据库实现

4.4   导入数据

4.5   视图创建与展示

五.   利用VBNET语言进行页面设计



一.   知识技术

  1. 数据库管理系统(DBMS)基础:数据库管理系统是酒店客房管理系统的核心,负责存储、检索、更新和管理客房信息。它提供了数据定义、数据操作和数据控制等功能,确保数据的完整性、安全性和可靠性。
  2. 关系型数据库理论:关系型数据库是当前应用最广泛的数据库类型之一,它通过表、行和列来组织数据,并使用SQL(结构化查询语言)进行数据操作。关系型数据库具有数据结构化、数据共享性高、数据独立性好等优点,非常适合用于酒店客房管理系统的数据存储。
  3. 数据库设计原则:数据库设计是酒店客房管理系统开发的关键环节,它涉及到数据的逻辑结构、物理结构以及数据的安全性和完整性等方面。在设计过程中,需要遵循规范化设计原则,确保数据的合理组织和有效存储。

二.   需求分析

2.1   功能需求

本系统实现的功能具体如下:

  1. 1、信息管理:可以对于各种信息的查询,个人信息可以查看自己的私人信息,还可以对自己的私人信息进行修改。用户信息查看用户的个人信息,对用户的信息进行增删改查。
  2. 2、客户信息管理:可以新建客户,输入客户的身份证号码、姓名、性别、和手机号等信息,可以对于客户的信息进行相应的修改。
  3. 3、客房信息管理:可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除, 查看空房以及客房的情况。
  4. 4、入住和退房管理:客户可以入住相应的类型房型下的空房,然后可以退房,系统自动将相应的订单状态置为失效,入住状态置为己退房,将相应房间的状态置为空房。
  5. 5、费用管理:管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。
  6. 6、价目信息管理:可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看客房的价目信息。
  7. 7、物品信息管理:可以查看客房的物品名称,物品状态是否使用,对物品进行查询。

2.2   数据需求

酒店客房管理系统的数据需求包括如下几点:

  1. 1)数据录入和处理的准确性和实时性
  2.  数据的输入是否准确是数据处理的前提,错误的输入会导致系统无法正常识别进而导致输出的不正确,从而是系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性。。
  3. 2)数据的一致性与完整性
  4. 由于系统的数据是共享的,在不同的客户端中,客房信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有后台数据库的支持。

 三.   数据流图与数据字典

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我哟!也请各位佬指出不足! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/783259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

强化学习中的Double DQN、Dueling DQN和PER DQN算法详解及实战

1. 深度Q网络&#xff08;DQN&#xff09;回顾 DQN通过神经网络近似状态-动作值函数&#xff08;Q函数&#xff09;&#xff0c;在训练过程中使用经验回放&#xff08;Experience Replay&#xff09;和固定目标网络&#xff08;Fixed Target Network&#xff09;来稳定训练过程…

计算机组成原理学习笔记(一)

计算机组成原理 [类型:: [[计算机基础课程]] ] [来源:: [[B站]] ] [主讲人:: [[咸鱼学长]] ] [评价:: ] [知识点:: [[系统软件]] & [[应用软件]] ] [简单解释:: 管理计算机系统的软件&#xff1b; 按照任务需要编写的程序 ] [问题:: ] [知识点:: [[机器字长]] ] [简单…

盘点2024年6月Sui生态发展,了解Sui近期成长历程

随着区块链技术的迅猛发展&#xff0c;Sui生态在2024年6月取得了令人欣喜的进步。作为创新的L1协议&#xff0c;Sui不仅在技术革新方面表现突出&#xff0c;还在DeFi、游戏应用和开发者工具等领域展现出强大的潜力。本篇文章将全面盘点Sui在过去一个月内的生态发展&#xff0c;…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用

随着航空、航天、近地空间遥感平台的持续发展&#xff0c;遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升&#xff0c;呈现出大数据特征。这为相关研究带来了新机遇&#xff0c;但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

JavaSE第10篇:常用类

文章目录 一、Object1、Object使用2、toString3、equals和4、hashCode5、clone6、finalize7、getClass8、wait、notify和notifyAll 二、使用步骤 一、Object 1、Object使用 Object类是所有Java的根父类 如果在类的声明中未使用extends关键字指明其父类&#xff0c;则默认父类…

如何监控和优化 PostgreSQL 中的连接池使用?

文章目录 一、连接池的基本概念二、监控 PostgreSQL 连接池使用的重要性&#xff08;一&#xff09;性能优化&#xff08;二&#xff09;资源管理&#xff08;三&#xff09;故障排查 三、PostgreSQL 连接池监控指标&#xff08;一&#xff09;活跃连接数&#xff08;二&#x…

数据结构练习

1. 快速排序的非递归是通过栈来实现的&#xff0c;则前序与层次可以通过控制入栈的顺序来实现&#xff0c;因为递归是会一直开辟栈区空间&#xff0c;所以非递归的实现只需要一个栈的大小&#xff0c;而这个大小是小于递归所要的&#xff0c; 非递归与递归的时间复杂度是一样的…

springboot解压文件流zip压缩包

springboot解压文件流zip压缩包 原始文件存储的地方&#xff1a; 需要在当前目录下解压该文件&#xff0c;如下图&#xff1a; 代码示例&#xff1a; private Result<String> getLocationGuideLayerName(YbYstbtqTaskResolveParam params, String fishnetLayerName)…

我们严重低估了MiniMax;扎克伯格站在了奥特曼的对面;欧洲最强大模型的天才创始人;Notion AI在LLM来临时快速转身奔跑 | ShowMeAI

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. MiniMax 创始人闫俊杰&#xff1a;我选的技术路线是上限最高的&#xff0c;几乎没有退路&#xff0c;选的算力方式也激进 MiniMax 官网 → https:…

30多款简洁个人博客网站网页模板演示学习

30多款个人博客个人网站divcss,html在线预览,静态页面模板免费下载.这些简洁和优雅的博客网页模板,为那些想成为创建博客的个人或媒体提供灵感设计。网页模板可以记录旅游、生活方式、食品或摄影博客等网站。 http://www.bokequ.com/blog/1/ http://www.bokequ.com/blog/2/ htt…

近千含分步骤做法图片菜谱ACCESS\EXCEL数据库

菜谱类的数据已经有一些了&#xff0c;比如《近5万份有图菜谱大全》、《3万多条含图片的菜谱资料数据库》、《无图片的2万多条菜谱》、《5000个菜谱食谱大全》、《4千多带图片的美食菜谱数据内容采集》&#xff0c;但是我还是偏向更喜欢有步骤图片的菜谱&#xff0c;比如《2千8…

2025 百度提前批校招内推

百度2025校园招聘内推开始啦&#xff0c;被推荐人可以免笔试直接面试&#xff0c;提前批结果不影响校招&#xff0c;机会1&#xff0c;还可直推心仪部门&#xff0c;可扫描下面二维码或点击链接进行投递&#xff0c;快来投递你心仪的职位吧&#xff08; 网申链接地址 &#xff…

机器学习的遗忘——基于文章“Forgetting“ in Machine Learning and Beyond: A Survey

文章概要 这篇调查文章仅关注选择性遗忘&#xff0c;承认遗忘某些信息可以通过允许模型优先考虑和保留更重要或相关的信息&#xff0c;以及保护用户隐私&#xff0c;从而带来好处。选择性遗忘&#xff08;Selective forgetting&#xff09;涉及有选择地忽略无关或噪声数据。这…

C语言 | Leetcode C语言题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; struct HashTable {int key;int val;UT_hash_handle hh; };int getID(int x, long long w) {return x < 0 ? (x 1ll) / w - 1 : x / w; }struct HashTable* query(struct HashTable* hashTable, int x) {struct HashTable* tmp;HASH_F…

亚马逊如何用自养号测评打造权重提升排名带来更多的自然流量

亚马逊通过自养号测评来提升流量是一种被广泛采用的运营手段&#xff0c;它可以帮助卖家快速提高商品的曝光度和吸引潜在买家。以下是自养号测评的详细分析&#xff1a; 一、自养号测评的定义与原理 自养号测评是指卖家通过注册并管理海外买家账号&#xff0c;对自家商品进行…

PyQT: 开发一款ROI绘制小程序

在一些基于图像或者视频流的应用中&#xff0c;比如电子围栏/客流统计等&#xff0c;我们需要手动绘制一些感兴趣&#xff08;Region of Interest&#xff0c;简称ROI&#xff09;区域。 在这里&#xff0c;我们基于Python和PyQt5框架开发了一款桌面应用程序&#xff0c;允许用…

java中Request和Response的详细介绍

1.Request和Response的概述 # 重点 1. service方法的两个参数request和response是由tomcat创建的void service(ServletRequest var1, ServletResponse var2) 2. request 表示请求数据, tomcat将浏览器发送过来的请求数据解析并封装到request对象中servlet开发者可以通过reques…

AI免费英语学习在线工具:Pi;gpt;其他大模型AI 英语学习智能体工具

1、pi(强烈推荐&#xff1a;可以安卓下载使用) https://pi.ai/talk &#xff08;网络国内使用方便&#xff09; 支持实时聊天与语音对话 2、chatgpt&#xff08;强烈推荐&#xff1a;可以安卓下载使用) https://chat.openai.com/ &#xff08;网络国内使用不方便&#xf…

element-ui el-select选择器组件下拉框增加自定义按钮

element-ui el-select选择器组件下拉框增加自定义按钮 先看效果 原理&#xff1a;在el-select下添加禁用的el-option&#xff0c;将其value绑定为undefined&#xff0c;然后覆盖el-option禁用状态下的默认样式即可 示例代码如下&#xff1a; <template><div class…

27_电子电路设计基础

电路设计 电路板的设计 电路板的设计主要分三个步骤&#xff1a;设计电路原理图、生成网络表、设计印制电路板。 (1)设计电路原理图&#xff1a;将元器件按逻辑关系用导线连接起来。设计原理图的元件来源是“原理图库”,除了元件库外还可以由用户自己增加建立新的元件&#…