基于Python和MySQL的酒店服务管理系统

  • 前言
  • 一、需求分析
  • 二、数据库设计
    • 1.需求分析
    • 2.概念结构设计
    • 2.逻辑结构设计
    • 3.数据表设计
  • 三、应用系统设计
  • 四、安装使用说明
    • 1.环境部署
    • 2.文件解析
    • 3.实现效果
  • 总结

前言

在学习《数据库系统原理教程》等相关课程时,期末的结课作业往往是设计一个数据库系统。设计开发过程中,大多数只是注重需求分析、概念结构设计、逻辑结构设计、数据库实施、运行测试等主要环节。本篇博客即为本人的结课作业,本人才疏学浅,文章中如有错误之处,还请大家多多指正。

一、需求分析

随着市场经济的发展,消费者消费意识的提高,酒店行业的竞争越来越激烈。为了提高办事效率,增加、保证酒店的销售额,树立酒店的良好形象,运用科学的管理方法非常必要。为此开发了酒店服务管理系统,更好的满足各方面的需求,通过对各个房间的酒水、订房退房等需求的记录信息,可以进行数据挖掘和数据分析,掌握客户的喜好与需求,为酒店收入和营销提供更好的服务。
目标与需求分析:
(1)对于客户来说:
①网上预约(填写姓名、房间类型、电话号码以及预计到店的时间);
②到店登记入住(姓名、房间类型、电话号码、性别、身份证号码、房间号);
③基于网上预约的客户可以实现到店查询并且补全信息之后分配相应房间号;
④退房。
(2)对于前台人员
①实现客户到店登记信息入住,将信息存入入住信息表中;
②实现客户sab的预约功能,提前记录到预约表中,客户到店之后将客户信息存入入住表,同时删除预约表中的信息;
③客户退房时,将客户从入住信息表中移除;
④根据生成的用户结账报表收取额外支付金钱,并且记录收入;
⑤查看客户简略信息。
(5)对于管理人员
①实现房间增添以及房间信息、房价的更改;
②账单查询;
③查询客户详细信息(根据姓名、电话、身份证号、房间号);
④查询员工信息;
⑤修改员工信息。

二、数据库设计

1.需求分析

①办理入住:前台人员录入客户的姓名、性别、身份证号、联系电话、预约状态、入住时间、房间号等信息。
②登记、预约操作:录入客户的姓名、联系电话、需要的房间类型、预计到店时间;对于预约之后到店登记,还需记录身份证号和实际入住时间。
③退房操作:输入客户的房间号、退房时间,返回计算出的额外消费和总计消费,通过支付宝或微信扫码支付,也可直接现金支付。
④客户信息查询:普通员工和管理员均可查询客户的姓名、性别、身份证号、联系电话、预约状态、入住时间、房间号等信息。
⑤员工信息管理:管理员可以查询所有员工的编号、姓名、性别、职位、工资等信息,并可以对这些信息进行修改操作。
⑥房间信息管理:管理员登陆管理员账号可查询房间住房信息、房间状态,可以进行修改价钱、类型、增减客房等操作。
⑦商品服务管理:普通员工查询商品并根据客户需求,选择商品的类型、数量,对客户进行服务;管理员不仅可以查询商品,还可以增减商品,修改商品价格等。

2.概念结构设计

使用E-R图来描述概念模型,分E-R图如下所示:
员工-入住客户分ER图:

员工-房间分E-R图:

额外消费-客户入住房间号分E-R图:

额外消费-已入住房间号分E-R图:

商品-价格分E-R图:
管理员-额外消费分E-R图:


管理员-房间号分E-R图:

管理员-收支分E-R图:

管理员-客户分E-R图:

管理员-员工分E-R图:

将各个分E-R图消除冗余,合并成合E-R图:

2.逻辑结构设计

根据转换规则得到十种关系模式,其中第一个属性为主码:
①房间信息(房间号,房间类型,价格,房间状态(是否入住))
②员工信息(工号,姓名,性别,身份证号,电话,职位,薪资,密码)
③顾客-房间信息(主键自增,姓名,电话,房间号,预约时间)
④入住顾客信息(主键自增,姓名,性别,身份证号,电话,入住时间,办理工号(外键),房间号(外键))
⑤入住过的顾客信息(主键自增,姓名,性别,身份证号,电话,入住时间,入住办理工号,退房时间,退房办理工号,房间号)
⑥管理员信息(工号,账户,密码)
⑦入住顾客额外消费(房间号,果汁,毛巾,烟)
⑧入住过顾客的消费信息(房间号,果汁,毛巾,烟)
⑨商品价格信息(主键自增,商品名,价格)
⑩入住顾客信息(主键自增,房间号,消费日期,总消费)

3.数据表设计









三、应用系统设计

本系统角色分为管理员、普通员工(前台人员)。通过MVC思想进行分层设计,总体结构设计如下图:

其中,管理员模块中信息更改包括房屋更改和商品更改两个模块,两个模块下分别又下设四个模块,为针对房屋和商品的增删改查。管理员模块中员工管理包括增加员工信息、删除员工信息、改变员工信息、查询员工信息四个模块。普通员工模块中登记入住又分为预约登记和到店登记两个模块。

四、安装使用说明

1.环境部署

方式一:
第一步:正确安装MySQl,版本号>=5.7.0。
第二步:正确安装Python,版本号>=3.6.0。
第三步:正确安装PyCharm,并连接python。
第四步:使用MySQL打开‘数据库文件’文件夹下MySQL文件,使用PyCharm打开Hotel_Management_System项目。
第五步:安装tkinter,pymysql功能包。
第六步:运行酒店服务管理系统.py文件。
第七步:登录账号。其中,管理员用户账号:111 密码:1 普通用户账号:001或002或003 密码:123456
方式二:
第一步:第一步:正确安装MySQl,版本号>=5.7.0。
第二步:使用MySQL打开‘数据库文件’文件夹下MySQL文件。
第三步:运行‘dist\酒店服务管理系统’目录下‘酒店服务管理系统.exe’
第四步:登陆账号:其中,管理员用户账号:111 密码:1 普通用户账号:001或002或003 密码:123456

2.文件解析

①Hotel_Management_System文件夹:
datebase_control.py:对数据库进行操作的文件
windows_control.py:界面进行布局的文件
酒店服务管理系统.py:主函数
test.py:代码测试文件
build:打包过程中的缓存文件
dist:存放的打包结果
酒店服务管理系统.spec:封装参数配置文件
hotel.png:登录界面背景图
icon.ico:可执行文件的logo
②数据库文件夹:
MySQL.sql:建立数据库的文件
③说明书文件夹:
安装使用说明书.word:安装使用说明书
④课程报告文件夹:
课程报告.word:课程报告

3.实现效果

登陆界面:

管理员:






普通员工:

总结

以上为建立酒店服务管理系统的内容,如有需要代码请联系QQ:745384235
参考文献:
https://blog.csdn.net/xiao_xiao_lan/article/details/111413572

【数据库大作业--酒店服务管理系统】相关推荐

  1. 数据库大作业-学生信息管理系统

    软件:SQL Server:Visual Studio 语言:C#,SQL 两个身份,管理员和学生. 管理员功能:管理学生专业信息.课程信息.选课信息(增删改查),查看已注册过的同学信息(密码不可见, ...

  2. MySQL数据库大作业——学生管理系统GUI

    MySQL数据库大作业--学生管理系统GUI 原程序链接: https://www.bbsmax.com/A/kmzL3WQBdG/ 为了完成数据库大作业, 我在其基础上进行了一定的修改和扩充. 如果 ...

  3. mysql数据库大作业学籍管理系统_数据库大作业学籍管理系统代码和报告

    [实例简介] 此为大学数据库大作业的报告以及源代码及打包程序.数据库使用MySQL设计,管理界面采用java编写,附带完整报告. [实例截图] [核心代码] 15180210013康辉数据库报告 └─ ...

  4. 数据库大作业 openGauss程序设计

    本文最终实现一个Web在线考试管理系统,可作为Python Web,Django的练手项目. 摘要 本系统实现学生在线考试管理的基本功能,包括学生登录.查看自己的个人信息及考试信息:提供了在线考试的界 ...

  5. 专科mysql数据库大作业_数据库大作业整理·总

    能找到这里的小同学,我们可能是校友哦. 这个不正经的帖子来整理一下我们用pyqt5+eric6+mysql开发天气管理系统(17地市)的所有走过的路,尤其是我走弯路后的修正路线. 因为找了一些资料,看 ...

  6. 程序设计大作业:教务管理系统(C语言)

    写在前头: 这个大作业是大一写的,所以比较低能,全篇只涉及C语言相关知识,且有些内容我自己看了都嫌弃.嘿嘿. 我整理了资源,可以免费下载:程序设计大作业:教务管理系统(C语言)-C文档类资源-CSDN ...

  7. 数据结构大作业之停车场管理系统

    数据结构大作业之停车场管理系统 安排: 1. 分析停车场的数据属性,并依据停车场管理的功能要求,确定模拟系统设计方案: 2. 完成停车场管理的数据结构设计工作,包括栈和队列的逻辑结构和存储结构等: 3 ...

  8. 个人设计web前端大作业~ 酒店网页设计(HTML5+CSS3+Bootstrap)

    个人设计web前端大作业~ 酒店网页设计(HTML5+CSS3+Bootstrap)瑞豪国际酒店 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要 ...

  9. 酒店服务管理系统的开发与设计

    随着我国经济的迅速发展,人们的生活水平有了显著提高,假日经济和旅游经济已成为人们消费的热点.各地也把旅游业当作本地经济发展的重要支柱之一,从而促进了酒店酒店业的快速发展.对酒店的经营状况起决定作用的是 ...

最新文章

  1. 重磅直播|GDR-Net:基于几何信息指导的单目6D物体姿态估计算法(CVPR2021作者开讲啦)...
  2. 《网络维护》MAC地址
  3. RichTextBox读写数据库
  4. c语言用正数的形式求最大值最小值,C语言-进制 - 盘盘的灰灰的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 通过 Java 线程堆栈进行性能瓶颈分析
  6. 史上最低估自己的天才科学家!预言自己的发现无用,没想到影响全世界,可他却在37岁..........
  7. 判断unsigned long long乘法溢出_信息安全课程17:缓冲区溢出2
  8. vvv在线文档导出工具_一款真正实时的在线文档协作编辑工具,多人可同时对一份文件修改...
  9. shell中的正则表达式
  10. 用Navicat for MySQL往数据表中添加数据时汉字出现乱码
  11. zabbix详解(十二)——zabbix监控MySQL主从状态实战
  12. Open CV leaning
  13. Codeforces_Round527_Div3_C题--Prefixes and Suffixes
  14. lodop转到其他html页面,vue项目中使用Lodop实现批量打印html页面和pdf文件
  15. nginx access日志log_format优化之request_time 和upstream_response_time差别
  16. Silverlight2.0下载地址
  17. 2021-11-11 VirtualBox 安装windows 不全屏显示的解决方法
  18. android TextToSpeech 静音时仍然播放声音
  19. amd linux raid,AMD RAID 安装指南.pdf
  20. Linux控制Nvidia显卡风扇转速

热门文章

  1. 豪杰视频通(Hero Video Convert)v2.75最新中英文版
  2. 滴滴有程序员要被祭天了,你们还好吗?滴滴到家付款后显示​...
  3. 5.20,听我说,如何更优雅的撩妹 OR 撩汉?
  4. linux下修改分辨率和字体大小
  5. 英雄联盟服务器不稳定领取皮肤,由于英雄联盟服务器问题 将免费赠送玩家皮肤当做赔偿...
  6. python常用模块资料
  7. 国内外网络安全类网站
  8. R语言 class() mode() typeof() 查看函数的区别
  9. ~【笔记】黑马js高级和尚硅谷ES6笔记(部分)~
  10. 安徽省计算机设计大赛作品点评,全国儿童创意小书大赛优秀作品展示及点评