MySQL数据库酒店客房管理系统(含MySQL源码) 结课作业 做的不是很好

Tip:1.我知道我做的不好,希望可以提意见或者指正,但请不要嘲讽,谢谢
2.代码是在黑窗口执行的
3.保存的sql文件中,我自己添加的创建语句
4.并不完善
数据库原理
课程设计报告

题 目:数据库酒店客房管理系统
提交时间: 2021/12/10

**目录**

第1章 需求分析 1
1.1 需求调查 1
1.2 系统功能分析 1
1.3 面对用户需求分析 2
第2章 面向对象分析和设计 5
第3章 数据库概念结构设计 7
第4章 数据库逻辑结构设计 8
第5章 数据库完整性设计 9
5.1 主键及唯一性索引 9
总结 9

酒店客房管理系统后台数据库

第1章 需求分析
1.1 需求调查
通过对各个用户的调查,该酒店客房管理系统有如下需求:

  1. 系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码, 数据备份,数据还原,注销等功能。

  2. 员工管理:实现工作人员管理人员对系统的管理,包括课酒店预定安排,报修审核,房间状态管理等功能。

  3. 基本信息:实现显示住户和预定房间的基本信息(包括入住时间和客房是否有故障,员工基本信息,住户基本信息)。

  4. 预定:实现在一定范围内用户预定房间,选择房间类型。

  5. 查询:包括实现员工查询,住户查询。住户查询包括自己的基本信息,自己的入住时间,费用等,员工查询包括查询自己的信息,自己所对接的客户需求等。

  6. 服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必每次都到数据库中去更改。

  7. 帮助系统:帮助系统为用户指明方向。
    1.2 系统功能分析

  8. 预订管理:主要用于预约客房登记、记录入住时间、房间号、记录人员id、所需费用、查询、修改、维护、删除等常用功能等。

  9. 房间类型管理:用于对不同客房的类型排列为序号,并提供客房名称、不同级别的客房、房费变动(节假日增多、工作日的下调等)、有无WiFi显示等功能。

  10. 房间状态管理:用于对房间的排布和选择、记录着房间是否为空、可以容纳的人数。

  11. 员工管理:用于统计员工的员工编号,姓名以及联系方式。

  12. 客房报修管理:用于记录客房损坏或故障的反馈,并记录对应客房编号以及是否完成维修。

  13. 住户管理:用于登记住户自己的基本信息,自己的入住时间,费用等。

  14. 用户查询管理:用于给每个用户查询自己所住的房间的配设,以及楼层等信息。
    在这里插入图片描述

              图1.1 酒店客房管理系统功能结构图
    

1.3 面对用户需求分析
在酒店客房管理系统中,最主要的功能就是进行一系列的查询和各类数据的管理。因此,可以将酒店客房管理系统分为管理系统(有数据变化)和查询系统两个子系统。而在所设计的酒店客房管理系统中,主要有三类用户,即预定客房用户,在住用户员和系统管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为预订管理系统,房间类型管理系统,房间状态管理系统,员工管理系统,客房报修管理系统。同样,将查询系统也按用户职能进行细分,即员工查询系统,住户查询系统,预定查询系统。这样细分后,看似把系统需求繁杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。
下面从细分后的各个子系统分析子系统的需求:

             图1.2 酒店客房管理系统子系统结构图

图1.2 酒店客房管理系统子系统结构图

  1. 预订管理系统。员工在使用该系统时,首先必须通过账号和密码登录系统。因此,对密码的设置和修改是最基本的需求。由于所有用户在使用该系统时都需要账号和密码,所以在后面的用户需求分析时不再重复对此需求进行描述。在登录系统后,员工的最主要的需求就是通过该系统进行登记客人的入住时间,退房时间,所需费用以及所预订的房间号等还要求可以通过系统进行客人信息的维护(包括添加、删除、修改信息)以及客人反馈问题等。
  2. 房间类型查询系统。员工在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人信息查询,成绩查询(个人成绩),即时事物查看,学业预警查看。在进行选课的时候还要对课程信息进行查询,课程选完后要查询课表。
  3. 房间状态管理系统。该系统中,用户可以查询不同房间的序号,名称,能否正常使用以及允许一次性可最多入住客户的人数等。
  4. 员工管理系统。该系统可以查询员工的名字,cid,密码以及联系方式(姓名即为账号)。
  5. 客房报修管理系统。该系统中,员工可以通过该系统曾删改查信息,如报修编号,报修概要,报修详细信息,是否完成维护(维修进度)以及对应房间号等信息。
  6. 住户管理系统。该系统中,员工可以通过该系统曾删改查信息,如客户编号,客户名称,客户联系方式,客户所在房间号等信息。
  7. 用户查询管理系统。该系统还未完善(Tip:本想这是作为一个子系统供给用户进行查询自己的信息,如消费金额,积分,历史的入住记录等信息,奈何能力有限,没有写出,没达到自己的理想要求,所以数据库中并无该系统)。

第2章 面向对象分析和设计

酒店管理系统中涉及的各类对象及特征分析如下:
在这里插入图片描述
ER图还有什么优化呀什么的 我就不放了
接下来就是代码:

/*
Navicat MySQL Data Transfer

Source Server         : MYSQL
Source Server Version : 50643
Source Host           : 127.0.0.1:3306
Source Database       : hotel

Target Server Type    : MYSQL
Target Server Version : 50643
File Encoding         : 65001

Date: 2021-12-06 10:53:45
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for booking
-- ----------------------------
DROP TABLE IF EXISTS `booking`;
CREATE TABLE `booking` (
  `bid` int(11) NOT NULL AUTO_INCREMENT,
  `uid` int(5) NOT NULL,
  `checkin` date NOT NULL,
  `checkout` date NOT NULL,
  `roomno` varchar(10) NOT NULL,
  `billamount` int(11) NOT NULL,
  `ispayment` int(11) NOT NULL,
  PRIMARY KEY (`bid`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of booking
-- ----------------------------
INSERT INTO `booking` VALUES ('1', '2', '2017-04-10', '2017-04-13', 'LUX-007', '5000', '0');
INSERT INTO `booking` VALUES ('2', '2', '2017-04-10', '2017-04-12', 'LUX-008', '5000', '1');
INSERT INTO `booking` VALUES ('4', '2', '2017-04-04', '2017-04-06', 'LUX-013', '5000', '0');
INSERT INTO `booking` VALUES ('5', '2', '2017-04-03', '2017-04-04', 'LUX-010', '15000', '1');
INSERT INTO `booking` VALUES ('7', '3', '2017-04-04', '2017-04-05', ' LUX-008', '10000', '0');
INSERT INTO `booking` VALUES ('8', '3', '2017-04-04', '2017-04-06', 'DEL-011', '12000', '1');
INSERT INTO `booking` VALUES ('14', '3', '2017-04-05', '2017-04-06', 'DEL-012', '12000', '0');
INSERT INTO `booking` VALUES ('15', '3', '2017-04-10', '2017-04-13', 'COM-025', '8000', '1');
INSERT INTO `booking` VALUES ('16', '3', '2017-04-11', '2017-04-12', 'COM-021', '6000', '1');
INSERT INTO `booking` VALUES ('17', '3', '2017-04-13', '2017-04-14', 'COM-023', '6000', '1');
INSERT INTO `booking` VALUES ('18', '3', '2017-04-10', '2017-04-14', 'COM-026', '15000', '1');
INSERT INTO `booking` VALUES ('19', '3', '2017-04-06', '2017-04-07', 'COM-027', '3000', '0');
INSERT INTO `booking` VALUES ('20', '4', '2017-04-11', '2017-04-14', 'COM-028', '15000', '0');

-- ----------------------------
-- Table structure for categoty
-- ----------------------------
DROP TABLE IF EXISTS `categoty`;
CREATE TABLE `categoty` (
  `cid` int(11) NOT NULL AUTO_INCREMENT,
  `cname` varchar(50) NOT NULL,
  `desc` varchar(110) NOT NULL,
  `wifi` tinyint(1) NOT NULL,
  `onecalldoc` tinyint(1) NOT NULL,
  `isAC` tinyint(1) NOT NULL,
  `isMWater` tinyint(1) NOT NULL,
  `price` int(11) NOT NULL,
  PRIMARY KEY (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of categoty
-- ----------------------------
INSERT INTO `categoty` VALUES ('1', 'Luxury Room', 'Full fledged room service.', '1', '1', '1', '1', '5000');
INSERT INTO `categoty` VALUES ('2', 'Deluxe Room', 'Medium Size Package', '1', '0', '1', '1', '3000');
INSERT INTO `categoty` VALUES ('3', 'Comfort Room', 'Room for Students', '0', '0', '1', '1', '2000');

-- ----------------------------
-- Table structure for repair
-- ----------------------------
DROP TABLE IF EXISTS `repair`;
CREATE TABLE `repair` (
  `repairNO` varchar(10) NOT NULL COMMENT '报修编号',
  `repairName` varchar(20) NOT NULL COMMENT '报修概要',
  `repairDetail` varchar(150) DEFAULT NULL COMMENT '报修详细信息',
  `dealWith` varchar(2) NOT NULL COMMENT '用来判断该报修是否已经被处理',
  `roomid` varchar(5) NOT NULL COMMENT '房间号',
  PRIMARY KEY (`repairNO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='报修表';

-- ----------------------------
-- Records of repair
-- ----------------------------
INSERT INTO `repair` VALUES ('2010201', '厕所漏水', '房间厕所防水已坏了', '否', '22');
INSERT INTO `repair` VALUES ('2010301', '厕所漏水', '房间厕所防水已坏了', '否', '23');
INSERT INTO `repair` VALUES ('2010401', '厕所漏水', '房间厕所防水已坏了', '否', '24');

-- ----------------------------
-- Table structure for residents
-- ----------------------------
DROP TABLE IF EXISTS `residents`;
CREATE TABLE `residents` (
  `bid` varchar(10) NOT NULL COMMENT '客户编号',
  `residentsName` varchar(20) NOT NULL COMMENT '客户名称',
  `residentsmobileno` varchar(150) DEFAULT NULL COMMENT '客户联系方式',
  `roomid` varchar(10) NOT NULL COMMENT '客户所在房间号',
  PRIMARY KEY (`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客户表';

-- ----------------------------
-- Records of residents
-- ----------------------------
INSERT INTO `residents` VALUES ('18', 'aaa', '11111', '48');
INSERT INTO `residents` VALUES ('19', 'bbb', '22222', '49');
INSERT INTO `residents` VALUES ('20', 'ccc', '33333', '50');

-- ----------------------------
-- Table structure for room
-- ----------------------------
DROP TABLE IF EXISTS `room`;
CREATE TABLE `room` (
  `roomid` int(11) NOT NULL AUTO_INCREMENT,
  `roomname` varchar(50) NOT NULL,
  `cid` int(5) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `accomodation` varchar(50) NOT NULL,
  PRIMARY KEY (`roomid`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of room
-- ----------------------------
INSERT INTO `room` VALUES ('1', 'LUX-001', '1', '1', '1');
INSERT INTO `room` VALUES ('2', 'LUX-002', '1', '1', '1');
INSERT INTO `room` VALUES ('3', 'LUX-003', '1', '1', '1');
INSERT INTO `room` VALUES ('4', 'LUX-004', '1', '1', '1');
INSERT INTO `room` VALUES ('5', 'LUX-005', '1', '1', '2');
INSERT INTO `room` VALUES ('6', 'LUX-006', '1', '1', '2');
INSERT INTO `room` VALUES ('7', 'LUX-007', '1', '1', '2');
INSERT INTO `room` VALUES ('8', 'LUX-008', '1', '1', '2');
INSERT INTO `room` VALUES ('9', 'LUX-009', '1', '1', '3');
INSERT INTO `room` VALUES ('10', 'LUX-010', '1', '1', '3');
INSERT INTO `room` VALUES ('11', 'LUX-011', '1', '1', '3');
INSERT INTO `room` VALUES ('12', 'LUX-012', '1', '1', '3');
INSERT INTO `room` VALUES ('13', 'LUX-013', '1', '1', '4');
INSERT INTO `room` VALUES ('14', 'LUX-014', '1', '1', '4');
INSERT INTO `room` VALUES ('15', 'LUX-015', '1', '1', '4');
INSERT INTO `room` VALUES ('16', 'LUX-016', '1', '1', '4');
INSERT INTO `room` VALUES ('17', 'DEL-001', '1', '1', '1');
INSERT INTO `room` VALUES ('18', 'DEL-002', '2', '1', '1');
INSERT INTO `room` VALUES ('19', 'DEL-003', '2', '1', '1');
INSERT INTO `room` VALUES ('20', 'DEL-004', '2', '1', '1');
INSERT INTO `room` VALUES ('21', 'DEL-005', '2', '1', '2');
INSERT INTO `room` VALUES ('22', 'DEL-006', '2', '1', '2');
INSERT INTO `room` VALUES ('23', 'DEL-007', '2', '1', '2');
INSERT INTO `room` VALUES ('24', 'DEL-008', '2', '1', '2');
INSERT INTO `room` VALUES ('25', 'DEL-009', '2', '1', '3');
INSERT INTO `room` VALUES ('26', 'DEL-010', '2', '1', '3');
INSERT INTO `room` VALUES ('27', 'DEL-011', '2', '1', '3');
INSERT INTO `room` VALUES ('28', 'DEL-012', '2', '1', '3');
INSERT INTO `room` VALUES ('29', 'DEL-013', '2', '1', '4');
INSERT INTO `room` VALUES ('30', 'DEL-014', '2', '1', '4');
INSERT INTO `room` VALUES ('31', 'DEL-015', '2', '1', '4');
INSERT INTO `room` VALUES ('32', 'DEL-016', '2', '1', '4');
INSERT INTO `room` VALUES ('33', 'COM-001', '3', '1', '1');
INSERT INTO `room` VALUES ('34', 'COM-002', '3', '1', '1');
INSERT INTO `room` VALUES ('35', 'COM-003', '3', '1', '1');
INSERT INTO `room` VALUES ('36', 'COM-004', '3', '1', '1');
INSERT INTO `room` VALUES ('37', 'COM-005', '3', '1', '2');
INSERT INTO `room` VALUES ('38', 'COM-006', '3', '1', '2');
INSERT INTO `room` VALUES ('39', 'COM-007', '3', '1', '2');
INSERT INTO `room` VALUES ('40', 'COM-008', '3', '1', '2');
INSERT INTO `room` VALUES ('41', 'COM-009', '3', '1', '3');
INSERT INTO `room` VALUES ('42', 'COM-010', '3', '1', '3');
INSERT INTO `room` VALUES ('43', 'COM-011', '3', '1', '3');
INSERT INTO `room` VALUES ('44', 'COM-012', '3', '1', '3');
INSERT INTO `room` VALUES ('45', 'COM-023', '3', '1', '4');
INSERT INTO `room` VALUES ('46', 'COM-024', '3', '1', '4');
INSERT INTO `room` VALUES ('47', 'COM-025', '3', '1', '4');
INSERT INTO `room` VALUES ('48', 'COM-026', '3', '1', '4');
INSERT INTO `room` VALUES ('49', 'COM-027', '3', '1', '4');
INSERT INTO `room` VALUES ('50', 'COM-028', '3', '1', '4');

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `pass` bigint(10) NOT NULL,
  `mobileno` bigint(10) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('2', 'Hardik Tuvra', '123456', '9898050902');
INSERT INTO `user` VALUES ('3', 'Raj Kothari', '123456', '8347655770');
INSERT INTO `user` VALUES ('4', 'Mit', '123456', '9898805508');

黑窗口的运行图我就不放上来了 我试过可以在黑窗口处直接导入的
还有我用的是机房(学校的电脑 MySQL56的好像是)
欢迎指正
谢谢

  • 57
    点赞
  • 352
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值