宿舍管理系统-设计数据库

需求文档

学生页

1.1 首页:用Echarts显示打卡,公告,问题数据

1.2 考勤记录:每日考勤打卡

1.3 公告:管理员发布的公告,只可查看,有时间戳

1.4 问题管理:所有学生发布的问题(宿舍问题和学生问题两种),可查看(根据楼栋,宿舍,学生姓名查询),发布问题,有时间戳

1.5 我的问题:查看学生发布的问题,可进行查看,修改,删除操作

1.6 宿舍成员:查看宿舍的成员,只可添加,查看成员

1.7 个人中心:个人信息展示,修改密码,登出

管理员页

1.1 首页:用Echarts显示打卡,公告,问题数据

1.2 公告:管理员发布的公告,可增加,查看,修改,删除,有时间戳

1.3 考勤管理:缺勤记录,打卡记录

1.4 问题管理:查看学生发布的问题(宿舍问题和学生问题两种),可进行查看(根据楼栋,宿舍,学生姓名和问题状态查询),管理状态(是否通过),删除操作,有时间戳。

1.5 宿舍人员:查看所有宿舍人员信息,可进行查看,添加,删除操作

1.6 用户管理:查看所有管理员,可添加删除管理员,有时间戳

登陆页面

因为是学校内部使用,不能注册,只能登录

所以学生账号为学号,密码初始为123456,

管理员账号为admin,密码初始为admin

页面简洁为主,只有学号,密码,验证码三个

数据库设计

/*
 Navicat Premium Data Transfer

 Source Server         : linc.fun
 Source Server Type    : MySQL
 Source Server Version : 50736
 Source Host           : linc.fun:53306
 Source Schema         : dormitory

 Target Server Type    : MySQL
 Target Server Version : 50736
 File Encoding         : 65001

 Date: 17/04/2022 21:23:21
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(30) NOT NULL COMMENT '用户名',
  `password` varchar(255) NOT NULL COMMENT '密码',
  `name` varchar(30) NOT NULL COMMENT '姓名',
  `gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '性别(0-女 1-男 2未知)',
  `age` int(11) NOT NULL COMMENT '年龄',
  `phone` varchar(11) DEFAULT NULL COMMENT '手机号',
  `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='管理员';

-- ----------------------------
-- Table structure for building
-- ----------------------------
DROP TABLE IF EXISTS `building`;
CREATE TABLE `building` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `bno` varchar(30) NOT NULL COMMENT '宿舍楼号',
  `name` varchar(30) NOT NULL COMMENT '宿舍楼名',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_bno` (`bno`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COMMENT='宿舍楼';

-- ----------------------------
-- Table structure for building_room
-- ----------------------------
DROP TABLE IF EXISTS `building_room`;
CREATE TABLE `building_room` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID',
  `rno` varchar(30) NOT NULL COMMENT '宿舍房间号',
  `floor` int(11) NOT NULL COMMENT '楼层',
  `max_occupancy` int(11) NOT NULL DEFAULT '4' COMMENT '房间最大入住人数',
  `current_occupancy` int(11) NOT NULL DEFAULT '0' COMMENT '当前房间入住人数',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  `bno` varchar(30) NOT NULL COMMENT '楼号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_building_id_rno` (`building_id`,`rno`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='宿舍';

-- ----------------------------
-- Table structure for notice
-- ----------------------------
DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `title` varchar(100) NOT NULL COMMENT '标题',
  `content` longtext NOT NULL COMMENT '内容',
  `author` varchar(30) NOT NULL COMMENT '发布者',
  `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COMMENT='公告';

-- ----------------------------
-- Table structure for problem
-- ----------------------------
DROP TABLE IF EXISTS `problem`;
CREATE TABLE `problem` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `building_id` bigint(20) DEFAULT NULL COMMENT '宿舍楼ID',
  `bno` varchar(30) DEFAULT NULL COMMENT '楼栋号',
  `building_room_id` bigint(20) DEFAULT NULL COMMENT '宿舍ID',
  `rno` varchar(30) DEFAULT NULL COMMENT '宿舍号',
  `student_id` bigint(20) DEFAULT NULL COMMENT '学生ID',
  `student_name` varchar(30) DEFAULT NULL COMMENT '学生姓名',
  `type` tinyint(2) NOT NULL COMMENT '问题类型(0: 宿舍问题 1: 学生问题)',
  `title` varchar(30) NOT NULL COMMENT '问题标题',
  `content` longblob NOT NULL COMMENT '内容',
  `pass` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否通过(0: 未通过 1:通过)',
  `reply` varchar(1024) DEFAULT NULL COMMENT '回复',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='问题';

-- ----------------------------
-- Table structure for room_bed
-- ----------------------------
DROP TABLE IF EXISTS `room_bed`;
CREATE TABLE `room_bed` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `building_room_id` bigint(20) NOT NULL COMMENT '宿舍ID',
  `student_id` bigint(20) DEFAULT NULL COMMENT '学生ID',
  `sno` varchar(9) DEFAULT NULL COMMENT '学号',
  `name` varchar(30) NOT NULL COMMENT '床位名称(如一号床)',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_student_id` (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COMMENT='床位信息';

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `sno` varchar(9) NOT NULL COMMENT '学号',
  `academy` varchar(30) NOT NULL COMMENT '学院',
  `major` varchar(30) NOT NULL COMMENT '专业',
  `grade` tinyint(1) NOT NULL COMMENT '年级(1:大一 2:大二 3:大三 4:大四)',
  `in_class` varchar(255) NOT NULL COMMENT '所在班级',
  `username` varchar(30) NOT NULL COMMENT '用户名(学号登录)',
  `password` varchar(255) NOT NULL COMMENT '密码',
  `name` varchar(30) NOT NULL COMMENT '姓名',
  `gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '性别(0-女 1-男 2未知)',
  `age` int(11) NOT NULL COMMENT '年龄',
  `phone` varchar(11) DEFAULT NULL COMMENT '手机号',
  `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_sno` (`sno`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='学生';

SET FOREIGN_KEY_CHECKS = 1;
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫吹过的柚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值