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

 几个月之前写的一个项目,通过这个项目,你能学到关于数据库的触发器知识,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 NULLrid varchar(255) NOT NULLstart_time date DEFAULT NULLend_time  date DEFAULT NULL)
2、booking_team团队预定表(tid varchar(255) NOT NULLrid varchar(255) NOT NULLstart_time  date DEFAULT NULLend_time  date DEFAULT NULLbooking_time  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)remark varchar(255) DEFAULT NULL
3、checkin_client个人入住表 (rid 房间号 varchar(255) NOT NULLcid客户号  varchar(255) NOT NULLstart_time入住时间  date DEFAULT NULLend_time退房时间  date DEFAULT NULLtotal_price总价格  varchar(255) DEFAULT NULLcheck_in_sid办理入住的员工编号  varchar(255) DEFAULT NULLremark备注  varchar(255) DEFAULT NULL)
4、checkin_team团队入住表(rid房间号 varchar(255) NOT NULLtid 客户号  varchar(255) NOT NULLstart_time入住时间 date DEFAULT NULLend_time退房时间  date DEFAULT NULLtotal_price总价格  varchar(255) DEFAULT NULL,check_in_sid办理入住的员工编号  varchar(255) DEFAULT NULL,remark备注   varchar(255) DEFAULT NULL)
5、 client客户表 (cname姓名  varchar(255) NOT NULLcid客户号  varchar(255) NOT NULLcphone电话号  varchar(255) DEFAULT NULLcage年龄  varchar(255) NOT NULLcsex性别  varchar(255) DEFAULT NULLregister_sid注册员工号  varchar(255) DEFAULT NULLaccomodation_times入住次数  int(11) DEFAULT NULL)register_time注册时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
6、hotelorder订单表 (id 用户标识  varchar(255) NOT NULLordertype订单形式  varchar(255) NOT NULLstart_time入住时间  date NOT NULLend_time退房时间  date NOT NULLrid房间号  varchar(255) NOT NULLpay_type支付方式  varchar(255) DEFAULT NULLmoney缴费  varchar(255) DEFAULT NULLremarkv备注  varchar(255) DEFAULT NULLorder_time订单时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPregister_sid注册员工编号  varchar(255) DEFAULT NULL)
7、room房间表 (rid房间号  varchar(255) NOT NULLrtype房间类型  varchar(255) NOT NULLrstorey楼层  varchar(255) NOT NULLrprice价格  varchar(255) NOT NULLrdesc房间状态  varchar(255) DEFAULT NULLrpic房间图片  varchar(255) DEFAULT NULL)
8、 staff员工表 (sid 员工号  varchar(255) NOT NULLsname 姓名  varchar(255) NOT NULLssex性别  varchar(255) DEFAULT NULLstime入职时间  date DEFAULT NULLsusername账号  varchar(255) NOT NULLspassword 密码  varchar(255) NOT NULLsrole 权限  varchar(255) NOT NULLsidcard 身份证号  varchar(255) NOT NULLsphone 手机号码 varchar(255) DEFAULT NULL)
9、team 团队表(tname名字  varchar(255) NOT NULLtid团队号  varchar(255) NOT NULLtphone电话号码  varchar(255) DEFAULT NULLcheck_in_sid 登记员工编号 varchar(255) DEFAULT NULLaccomodation_times 入住次数 int(11) DEFAULT NULLregister_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.mzph.cn/news/90616.shtml

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

相关文章

神经辐射场(NeRF)2023最新论文及源代码合集

神经辐射场(NeRF)作为一种先进的计算机图形学技术,能够生成高质量的三维重建模型,在计算机图形学、计算机视觉、增强现实等领域都有着广泛的应用前景,因此,自2020年惊艳亮相后,神经辐射场也成为…

python安装第三方模块方法

正常情况下安装python第三方模块没啥说的,但是由于python安装模块默认是在外网下载安装,牵扯外网网速问题,所以可以配置下使用国内某镜像源来下载模块 python -m pip install xxxxxxxxxxx 和 pip install xxxxxxxxxx 的命令都可下载安装第三…

raw智能照片处理工具DxO PureRAW mac介绍

DxO PureRAW Mac版是一款raw智能照片处理工具,该软件采用了智能技术,以解决影响所有RAW文件的七个问题:去马赛克,降噪,波纹,变形,色差,不想要的渐晕,以及缺乏清晰度。 Dx…

李宏毅机器学习第一课(结尾附作业模型详细分析)

机器学习就是让机器找一个函数f,这个函数f是通过计算机找出来的 如果参数少的话,我们可以使用暴搜,但是如果参数特别多的话,我们就要使用Gradient Descent Regression (输出的是一个scalar数值) Classification (在…

【C++】C++入门

一、C 关键字(C98) C 总计 63 个关键字,C 语言 32 个关键字。C 语言的关键字在 C 中继续可以使用。 C 兼容 C 的绝大多数语法。 二、命名空间 在 C / C 中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都…

DVWA-impossible代码审计

本篇文章针对于DVWA靶场的impossible级别进行代码审计,基于DVWA的每一个漏洞的impossible级别,从整体思路上出发,进行代码审计,最后对其总结。从中可以学习到一些漏洞的防御手法,并且对漏洞有更深入的理解。 文章目录 …

led台灯哪个牌子最好?2022最新的台灯牌子排名

想要选好护眼台灯首先我们要知道什么是护眼台灯,大的方向来看,护眼台灯就是可以保护视力的台灯,深入些讲就是具备让灯发出接近自然光特性的光线,同时光线不会伤害人眼而出现造成眼部不适甚至是视力降低的照明设备。 从细节上看就…

Linux——补充点(页表映射及LWP)

目录 补充点1:进程地址空间堆区管理 补充点2:Linux内核进程上下文切换 补充点3:页表映射 补充点4:两级页表 补充点1:进程地址空间堆区管理 Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程&#…

【Java 进阶篇】MySQL多表查询之外连接详解

在MySQL数据库中,多表查询是一种常见且强大的功能,允许您在多个表之间执行联接操作,从而检索、过滤和组合数据。在本篇博客中,我们将深入探讨多表查询的一种类型,即外连接(Outer Join)&#xff…

医疗小程序开发:技术门槛高?

随着移动互联网的普及,医疗行业也逐渐转向线上。医疗小程序开发成为了很多企业和医疗机构关注的焦点。但是,对于一些技术小白来说,可能会觉得医疗小程序开发技术门槛高,无从下手。实际上,使用乔拓云平台进入后台&#…

C理解(一):内存与位操作

本文主要探讨C语言的内存和为操作操作相关知识。 冯诺依曼结构和哈佛结构 冯诺依曼结构:数据和代码放在一起,便于读取和修改,安全性低 哈佛结构是:数据和代码分开存放,安全性高,读取和修麻烦 内存 内存是用来存储全局变量、局…

Prometheus+Grafana监控K8S集群(基于K8S环境部署)

文章目录 一、环境信息二、部署前准备工作三、部署Prometheus监控系统四、部署Node_exporter组件五、部署Kube_state_metrics组件六、部署Grafana可视化平台七、Grafana可视化显示Prometheus收集数据八、Grafana添加监控模板九、拓展 一、环境信息 1、服务器及K8S版本信息&…

Nim游戏

891. Nim游戏 - AcWing题库 全部异或起来&#xff0c;如果不为零&#xff0c;则可以一步使其变为0&#xff1a; 设异或和为x&#xff0c;x的最高位为第k位&#xff0c;令第k位为1的a[i]变为a[i]^x&#xff0c;a[i]^x < a[i]&#xff0c;这样就可以使异或和为0。 如此往复最…

目标检测如何演变:从区域提议和 Haar 级联到零样本技术

目录 一、说明 二、目标检测路线图 2.1 路线图&#xff08;一般&#xff09; 2.2 路线图&#xff08;更传统的方法&#xff09; 2.3 路线图&#xff08;深度学习方法&#xff09; 2.4 对象检测指标的改进 三、传统检测方法 3.1 维奥拉-琼斯探测器 (2001) 3.2 HOG探测器…

el-table实现穿梭功能

第一种 <template><el-row :gutter"20"><el-col :span"10"><!-- 搜索 --><div class"search-bg"><YcSearchInput title"手机号" v-model"search.phone" /><div class"search-s…

EasyX趣味化编程note2,绘制基本图形

创意化编程&#xff0c;让编程更有趣 今天介绍的仍为比较简单的效果&#xff0c;由浅入深来进行学习 介绍每个函数都会附上代码和运行结果&#xff0c;感兴趣的大家可以复制粘贴运行一下看看效果&#xff0c;也可以自己进行改动&#xff0c;非常好玩且加深印象。 上节课的知识…

idea Springboot在线商城系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 在线商城系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有 完整的源代码和数据库&…

机器学习笔记:Huber Loss smooth L1 loss

1 Huber loss 1.1 介绍 Huber Loss是回归问题中的一种损失函数&#xff0c;它结合了均方误差MSE和绝对误差MAE的特点。 Huber Loss在误差较小的时候是平方损失&#xff0c;而在误差较大的时候是线性损失。因此&#xff0c;它在处理有噪声的数据时&#xff0c;尤其是存在离群点…

手机搜狗输入法,输入拼音时如何分割拼音,调出“分词“功能,如何微信或QQ使用发送按钮而不是换行?

背景 有时候打字&#xff0c;输入 “xian” 的时候我们的意图是 “xi’an” &#xff08;西安&#xff09;&#xff0c;或者输入 “yue” 的时候希望是 “yu’e”&#xff08;余额&#xff09; 如何输入这个分隔符 ’ 呢&#xff1f; 设置方法 默认页面如图 希望设置成 点…

家电行业 EDI:Miele EDI 需求分析

Miele是一家创立于1899年的德国公司&#xff0c;以其卓越的工程技术和不懈的创新精神而闻名于世。作为全球领先的家电制造商&#xff0c;Miele的经营范围覆盖了厨房、洗衣和清洁领域&#xff0c;致力于提供高品质、可持续和智能化的家电产品。公司的使命是为全球消费者创造更美…