数据库系统课设——基于python+pyqt5+mysql的酒店管理系统(可直接运行)--GUI编程

news2024/11/16 17:33:16

几个月之前写的一个项目,通过这个项目,你能学到关于数据库的触发器知识,python的基本语法,python一些第三方库的使用,包括python如何将前后端连接起来(界面和数据),还有界面的设计等等。希望大家能从项目中学到东西。

一,项目背景

1,实验设计简述


宾馆管理系统通过提供顾客和员工信息之间的关系建立该系统,其中包括员工管理功能,出租管理功能,客户管理功能,订单管理功能,报表和维护功能,登录功能。该系统可以通过客户信息的查找 快速找到该客户的房间信息。还包括对客户信息的增加、删除、修改、查询等以及员工信息的增加、删除、修改、查询
(1)宾馆有员工,员工员工信息查看,查看订单权限,查看房号,房型。
(2)宾馆有各种标准的房间。房间数据包括房间号、房间级别、房间价位及房间的状态(是否已经有客人)。房间号唯一表示一个房间,房间级别决定房间价位。房间有多种级别,分别为单人间、标准间、豪华间、商务间、行政间。房间状态表示此房间是否可以预定、入住或者转房。

基本功能实现:


(1)房间管理。
(2)客人预定、退订客房管理。
(3)客人入住、店内消费管理。

(4)结算管理。
(5)实现分类查询。
(6)输出相应的数据报

描述每个业务的主要功能。


1、房间管理:存储房间信息数据,房间号,客户可以查看房型(单人间,标准间,豪华间、商务间、行政间),房间价位,房间状态(有无客人,无客人:房间可以预定,房间可以转入。有客人:客人能退房,转房),房间对应楼层。
2、客户管理:客户分为个人预约客户和团队预约客户(预约时间,预约客户号),个人入住客户和团队入住客户(入住时间,入住客户号),还有换房功能。
3、员工管理:可以添加员工(姓名,性别,员工号,职位,入职时间),删除员工,修改员工,查询员工信息。可以查看所有订单,对房间进行增删改查操作(房间号,房型,价格)。
4、报表和维护:数据备份(导出数据,导入数据,导出数据表到表格),报表。
5、订单管理功能:订单记录报表,客户入住的房型(图片说明),支付金额,入住的客户信息(客户号,入住时间,退房时间)
6、登陆功能:登陆(员工(账号密码)登陆/客户(账号密码)登陆)密码找回功能,修改密码功能。

2,根据功能分析和列举涉及的数据项。

  1. booking_client个人预定表:(cid客户号,rid房间号,star_time入住时间,end_time退房时间,booking_time预定时间,remark备注)
  2. booking_team团队预定表:(tid团队号,rid房间号,star_time入住时间,end_time退房时间,booking_time预定时间,remark备注)
  3. checking_clint个人入住表:(rid房间号,cid客户号,star_time入住时间,end_time退房时间,total_price总价格,check_in_sid办理入住的员工编号,remark备注)
  4. checking_team团队入住表:(rid房间号,tid团队好,star_time入住时间,end_time退房时间,total_price总价格,check_in_sid办理入住的员工编号,remark备注)
  5. client客户表:(cname姓名,cid客户号,cphone电话号码,cage年龄,csex性别,register_sid注册员工号,accomodation_times入住次数,register_time注册时间)
  6. hotel order订单表:(id用户标识,ordertype订单形式,start_time预定时间,rid房间号,pay_type支付方式,money支付价格,remark备注,order_time订单时间,register_sid注册员工时号)
  7. room房间表:(rid房间号,rtype类型,rstorey楼层,rprice价格,rdesc房间状态,rpic房间图片)
  8. staff员工表:(sid员工号,sname姓名,ssex性别,stime登记入职时间,susername账户号,spassword密码,srole权限,sidcard身份证,sphone手机号)

9、team团队表:(tname名称,tid团队好,tphone电话号码,check_in_sid登陆员工号,accomodation_time入住次数,register_time注册时间)

二,项目具体实现

        1、数据项的简要描述。

1、booking_client客户个人预定表 (
  cid varchar(255) NOT NULL
  rid varchar(255) NOT NULL
  start_time date DEFAULT NULL
  end_time  date DEFAULT NULL)
2、booking_team团队预定表(
  tid varchar(255) NOT NULL
  rid varchar(255) NOT NULL
  start_time  date DEFAULT NULL
  end_time  date DEFAULT NULL
  booking_time  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
   remark varchar(255) DEFAULT NULL
3、checkin_client个人入住表 (
  rid 房间号 varchar(255) NOT NULL
  cid客户号  varchar(255) NOT NULL
  start_time入住时间  date DEFAULT NULL
  end_time退房时间  date DEFAULT NULL
  total_price总价格  varchar(255) DEFAULT NULL
  check_in_sid办理入住的员工编号  varchar(255) DEFAULT NULL
  remark备注  varchar(255) DEFAULT NULL)
4、checkin_team团队入住表(
  rid房间号 varchar(255) NOT NULL
  tid 客户号  varchar(255) NOT NULL
  start_time入住时间 date DEFAULT NULL
  end_time退房时间  date DEFAULT NULL
  total_price总价格  varchar(255) DEFAULT NULL,
  check_in_sid办理入住的员工编号  varchar(255) DEFAULT NULL,
  remark备注   varchar(255) DEFAULT NULL)
5、 client客户表 (
  cname姓名  varchar(255) NOT NULL
  cid客户号  varchar(255) NOT NULL
  cphone电话号  varchar(255) DEFAULT NULL
  cage年龄  varchar(255) NOT NULL
  csex性别  varchar(255) DEFAULT NULL
  register_sid注册员工号  varchar(255) DEFAULT NULL
  accomodation_times入住次数  int(11) DEFAULT NULL)
  register_time注册时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
6、hotelorder订单表 (
  id 用户标识  varchar(255) NOT NULL
  ordertype订单形式  varchar(255) NOT NULL
  start_time入住时间  date NOT NULL
  end_time退房时间  date NOT NULL
  rid房间号  varchar(255) NOT NULL
  pay_type支付方式  varchar(255) DEFAULT NULL
  money缴费  varchar(255) DEFAULT NULL
  remarkv备注  varchar(255) DEFAULT NULL
  order_time订单时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  register_sid注册员工编号  varchar(255) DEFAULT NULL)
7、room房间表 (
  rid房间号  varchar(255) NOT NULL
  rtype房间类型  varchar(255) NOT NULL
  rstorey楼层  varchar(255) NOT NULL
  rprice价格  varchar(255) NOT NULL
  rdesc房间状态  varchar(255) DEFAULT NULL
  rpic房间图片  varchar(255) DEFAULT NULL)
8、 staff员工表 (
  sid 员工号  varchar(255) NOT NULL
  sname 姓名  varchar(255) NOT NULL
  ssex性别  varchar(255) DEFAULT NULL
  stime入职时间  date DEFAULT NULL
  susername账号  varchar(255) NOT NULL
  spassword 密码  varchar(255) NOT NULL
  srole 权限  varchar(255) NOT NULL
  sidcard 身份证号  varchar(255) NOT NULL
  sphone 手机号码 varchar(255) DEFAULT NULL)
9、team 团队表(
  tname名字  varchar(255) NOT NULL
  tid团队号  varchar(255) NOT NULL
  tphone电话号码  varchar(255) DEFAULT NULL
  check_in_sid 登记员工编号 varchar(255) DEFAULT NULL
  accomodation_times 入住次数 int(11) DEFAULT NULL
  register_time注册时间 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

        2、安全性分析

数据安全是指在数字信息的整个生命周期中保护数字信息免遭未经授权的访问并抵御损坏、失窃等风险,为此,我们设置了权限访问,只有输入正确的账号密码才能查看系统中的相关信息,非管理员登录无法得到系统的信息。此外,我们还可以通过输入的账号密码匹配查看相应的数据报表和客户员工个人信息,或者修改需要变动的数据。这也使得信息不容易被泄露出去,增加了数据的可改性。为防止因管理员想要修改密码,我们还设置了在登录页面可修改密码功能,加强了数据的安全性。为了防止人为操作失误使得原数据丢失、软件BUG造成数据丢失以及硬件故障造成数据库数据丢失等问题,我们设置了数据库备份,用来找回丢失的数据信息。尤其是客户的预订信息、入住信息以及数据报表的信息,在每添加一名新客户或新团体时,我们的数据库便会进行更新,这也有利于我们进行数据核对。使用数据库备份也有利于相同数据库用于新环境的搭建以及开发测试环境数据库的搭建。围绕数据安全、数据备份和其他等角度,描述系统可采取的安全策略和风险控制策

        3、给出关系关系模式,标注关系模式的主码和外码。

1、booking_client个人预定表:(cid,rid,star_time,end_time,booking_time,remark)

主码:(cid,rid)

外码:(cid) REFERENCES client (cid)

  (rid) REFERENCES room (rid)

范式级别:1NF

2、booking_team团队预定表:(tid,rid,star_time,end_time,booking_time,remark)

主码:(tid,rid)

外码:(tid) REFERENCES team (tid)

  (rid) REFERENCES room (rid)

    范式级别:1NF

3、checking_clint个人入住表:(rid,cid,star_time,end_time,total_price,check_in_sid,remark)

主码:(rid,cid)

外码: (rid) REFERENCES  room (rid)

 (cid) REFERENCES client (cid)

 (check_in_sid) REFERENCES staff (sid)

范式级别:1NF

4、checking_team团队入住表:(rid,tid,star_time,end_time,total_price,check_in_sid,remark)

主码:(rid,tid)

外码:(rid) REFERENCES room (rid)

 (check_in_sid) REFERENCES staff (sid)

  (tid) REFERENCES team (tid)

范式级别:1NF

5、clien客户表:(cname,cid,cphone,cage,csex,register_sid,accomodation_times入,register_time)

主码:(cid)

外码:(register_sid) REFERENCES staff(sid)

范式级别:3NF

6、hotelorder订单表:(id,ordertype,start_time,rid,pay_type,money,remark,order_time,register_sid)

主码:(id,start_time,end_time,rid,ordertype)

外码:(rid) REFERENCES room(rid)

范式级别:1NF

7、room房间表:(rid,rtype,rstorey,rprice,rdesc,rpic)

主码:(rid)

外码:无

范式级别:BCNF

8、staff员工表:(sid,sname,ssex,stime,susername,spassword,srole,sidcard,sphone)

主码:(sid)

外码:无

范式级别:BCNF

9、team团队表:(tname,tid,tphone,check_in_sid,accomodation_time,register_time)

主码:(tid)

外码:(check_in_sid) REFERENCES staff (sid)

范式级别:3NF

        4,全局ER图

        5,数据安全性

 数据安全是指在数字信息的整个生命周期中保护数字信息免遭未经授权的访问并抵御损坏、失窃等风险,为此,我们设置了权限访问,只有输入正确的账号密码才能查看系统中的相关信息,非管理员登录无法得到系统的信息。此外,我们还可以通过输入的账号密码匹配查看相应的数据报表和客户员工个人信息,或者修改需要变动的数据。这也使得信息不容易被泄露出去,增加了数据的可改性。若用户想要修改密码,我们还设置了在登录页面可修改密码功能,加强了数据的安全性。为了防止人为操作失误使得原数据丢失、软件BUG造成数据丢失以及硬件故障造成数据库数据丢失等问题,我们设置了数据库备份,用来找回丢失的数据信息。尤其是客户的预订信息、入住信息以及数据报表的信息,在每添加一名新客户或新团体时,我们的数据库便会进行更新,这也有利于我们进行数据核对。使用数据库备份也有利于相同数据库用于新环境的搭建以及开发测试环境数据库的搭建。

三,数据库的创建

图太多了,都放出来就有点水篇幅了,如果想看,就点赞收藏关注,然后后台私信我就好啦。

 

 四,GUI界面呈现

也是一样,没有将所有界面都展示出来,也只是展示了一部分,如果想看后续,就点赞收藏关注,然后后台私信我就好啦。

1,修改密码界面

2,查看个人信息,员工可登录进行查看

3,增加员工并填入员工基本信息

 

4,查询客房信息

 

 5,查询报表:出租率和订单量,以及客户和员工的相关信息

 6,数据库风险预防措施:数据备份,并在电脑生成该备份文件

 7,宾馆管理系统主界面

五,代码文件

 

 如果需要源码,请点赞收藏关注,然后后台私信我就好啦!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python OCR 使用easyocr库将图片中的文章提取出来

Python OCR 使用easyocr库将图片中的文章提取出来 初环境内容步骤一:安装easyocr库步骤二:导入必要的库步骤三:创建OCR阅读器对象步骤四:指定要识别的图片路径步骤五:执行OCR识别并提取文章内容步骤六:遍历…

vscode如何关闭受限模式

受限模式旨在实现安全地浏览代码 第一步: 第二步:输入trust,找到Security.workspace.trust,取消勾选 第三步: 重启vscode.

企业都在用的热门客服系统

客户服务是现如今企业抢占市场的重要因素。客户越来越重视企业服务,而优质的客户服务也会为企业带来正向且长期的收益。而市场上这么多客户服务系统哪个好用? 企业选购好用的客户服务系统的时候要注意以下几点: 一、选购注意事项&#xff1…

TheGem主题 - 创意多用途和高性能WooCommerce WordPress主题/网站

TheGem主题概述 – 适合所有人的TheGem 作为设计元素、样式和功能的终极 Web 构建工具箱而设计和开发,TheGem主题将帮助您在几分钟内构建一个令人印象深刻的高性能网站,而无需触及一行代码。不要在编码上浪费时间,探索你的创造力&#xff01…

Python“牵手”1688商品详情数据采集方法,1688API申请步骤说明

1688平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范。 1688API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问1688平台的数据,包括商品信息、店铺信息、物流信息,评论数据,店铺订…

rtmp直播

技术要求:nginxnginx-rtmpffmpegVLC 跟着大佬走的: 传送门 准备工作: 首先需要一台公网ip的服务器 这是使用天翼云的弹性云主机:免费试用1个月 天翼云官网 点击关机,更多里面选择重置密码, 默认用户名为…

EMQ 成功通过 SOC 2 Type I 认证,为全球客户的数据安全保驾护航

近日,EMQ 正式地通过了国际权威鉴证标准 SOC 2 审计,并荣获国际四大会计师事务所之一颁发的 SOC 2 Type I 鉴证报告,这使其成为全球物联网 MQTT 消息服务的安全践行者。此次认证进一步证实,EMQ 为其旗下的全托管 MQTT 消息云服务 EMQX Cloud 以及企业级 MQTT 物联网接入平台 EM…

老师如何制作电子成绩单?

随着科技的不断进步,电子成绩单已经成为现代教育管理的一项重要工具。相较于传统的纸质成绩单,易查分电子成绩单具有方便快捷等各种优势,为学生、家长和学校带来了诸多便利。这篇文章就给大家介绍易查分电子成绩单的制作与操作步骤。 一、电子…

分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测

分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测 目录 分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.BWO-TCN-Attention数据分类预测程序; 2.无Attention适用于MATLAB 2022b版及以上版本&#xf…

基于微信小程序的图书管理系统ljr9i

对图书管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的图书管理小程序。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员和用户…

供应链 | 大数据报童模型:基于机器学习的实践见解

论文解读:李欣 马玺渊 作者:Gah-Yi Ban, Cynthia Rudin 引用:Ban, Gah-Yi and Cynthia Rudin. The big data newsvendor: Practical insights from machine learning. Operations Research 67.1 (2019): 90-108. 文章链接:https…

零阶矩、一阶矩、二阶矩、…

数学中矩的概念来自物理学。在物理学中,矩是表示距离和物理量乘积的物理量,表征物体的空间分布。矩在统计学和图像中都有很重要作用,我们常用的Adam优化器其全称为自适应矩估计优化器。本文将介绍各阶矩的理解和不同场景的应用。 Key Words&a…

【初体验】使用微信开发工具

1.设置合法域名 2.微信登录用户信息获取 如果要求登录后&#xff0c;无法显示用户信息 则应该修改一下【调试基础库】 3.获取用户登录的openid index/index.wxml <view><button type"warn" bindtap"wxLogin">微信登录</button>授权码&…

记录一个用C#实现的windows计时执行任务的服务

记录一个用C#实现的windows计时执行任务的服务 这个服务实现的功能是每天下午六点统计一次指定路径的文件夹大小 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.IO; using Syst…

日撸代码300行:第66-68天(主动学习之 ALEC)

代码来自闵老师”日撸 Java 三百行&#xff08;61-70天&#xff09; 日撸 Java 三百行&#xff08;61-70天&#xff0c;决策树与集成学习&#xff09;_闵帆的博客-CSDN博客 本次代码的实现是基于高斯密度&#xff0c;ALEC算法原文是基于密度峰值&#xff0c;同样是基于密度聚类…

HTTPS 握手过程

HTTPS 握手过程 HTTP 通信的缺点 通信使用明文&#xff0c;内容可能被窃听(重要密码泄露)不验证通信方身份&#xff0c;有可能遭遇伪装(跨站点请求伪造)无法证明报文的完整性&#xff0c;有可能已遭篡改(运营商劫持) HTTPS 握手过程 客户端发起 HTTPS 请求 用户在浏览器里…

Spring之ioc容器

目录 1.简介 2.为什么学习Spring 3.Spring的核心特性 4.Spring ioc 容器的特点 5.Spring的注入方式 6.web整合容器 1.简介&#xff1a; Spring简介 Spring是一个开源框架&#xff0c;它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 Spring使用基本的J…

听GPT 讲Alertmanager源代码--notify

api/&#xff1a;这个目录包含了Alertmanager的API实现&#xff0c;包括v1和v2版本的API。 assets/&#xff1a;这个目录包含了静态资源文件&#xff0c;如HTML、JavaScript和CSS文件&#xff0c;它们用于构建Alertmanager的Web UI。 cmd/&#xff1a;这个目录包含了Alertmanag…

企业网三层架构实验

一、实验拓扑 二、实验要求 1、内网IP地址172.16.0.0/16合理分配&#xff1b; 2、SW1/2之间互为备份&#xff1b; 3、VRRP/STP/VLAN/TRUNK均使用&#xff1b; 4、所有PC通过DHCP获取IP地址&#xff1b; 三、实验思路 1、配置ISP的IP地址&#xff1b; 2、配置R1的IP地址&…

800V高压电驱动系统架构分析

需要电驱竞品样件请联&#xff1a;shbinzer &#xff08;拆车邦&#xff09; 过去一年是新能源汽车市场爆发的一年&#xff0c;据中汽协数据&#xff0c;2021年新能源汽车销售352万辆&#xff0c;同比大幅增长157.5%。新能源汽车技术发展迅速&#xff0c;畅销车辆在动力性能…