CREATE TABLE user_info (
user_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户唯一标识',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(100) NOT NULL COMMENT '密码',
real_name VARCHAR(50) COMMENT '真实姓名',
role_type TINYINT DEFAULT 0 COMMENT '角色类型:0-学生,1-宿舍管理员,2-学校管理部门',
status TINYINT DEFAULT 1 COMMENT '账户状态:0-禁用,1-启用',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='用户信息表';
CREATE TABLE dorm_building (
building_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '楼栋唯一标识',
building_name VARCHAR(100) NOT NULL COMMENT '楼栋名称',
floor_count INT NOT NULL COMMENT '楼层数量',
total_rooms INT NOT NULL COMMENT '总房间数',
address TEXT COMMENT '详细地址',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='宿舍楼栋信息表';
CREATE TABLE dorm_room (
room_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '房间唯一标识',
building_id BIGINT NOT NULL COMMENT '所属楼栋 ID',
room_number VARCHAR(20) NOT NULL COMMENT '房间编号',
room_type VARCHAR(50) COMMENT '房间类型(如单人间、双人间等)',
capacity INT NOT NULL COMMENT '最大容纳人数',
current_occupancy INT DEFAULT 0 COMMENT '当前入住人数',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='宿舍房间信息表';
CREATE TABLE bed_info (
bed_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '床位唯一标识',
room_id BIGINT NOT NULL COMMENT '所在房间 ID',
bed_number VARCHAR(20) NOT NULL COMMENT '床位编号',
is_occupied TINYINT DEFAULT 0 COMMENT '是否被占用:0-未占用,1-已占用',
student_id BIGINT COMMENT '占用该床位的学生 ID',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='床位信息表';
CREATE TABLE student_application (
application_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '申请记录唯一标识',
student_id BIGINT NOT NULL COMMENT '申请人学号',
apply_type TINYINT NOT NULL COMMENT '申请类型:1-入住申请,2-调宿申请,3-退宿申请',
status TINYINT DEFAULT 0 COMMENT '申请状态:0-待审核,1-通过,2-拒绝',
original_bed_id BIGINT COMMENT '原床位 ID(仅适用于调宿或退宿)',
target_bed_id BIGINT COMMENT '目标床位 ID(仅适用于调宿)',
reason TEXT COMMENT '申请原因',
approval_remark TEXT COMMENT '审批意见',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='学生住宿申请记录表';
CREATE TABLE attendance_record (
record_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '考勤记录唯一标识',
student_id BIGINT NOT NULL COMMENT '学生 ID',
check_date DATE NOT NULL COMMENT '检查日期',
check_in_time DATETIME COMMENT '入校时间',
check_out_time DATETIME COMMENT '离校时间',
abnormal_flag TINYINT DEFAULT 0 COMMENT '是否有异常行为:0-无异常,1-有异常',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='学生考勤记录表';
CREATE TABLE visitor_record (
visitor_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '访客记录唯一标识',
visitor_name VARCHAR(100) NOT NULL COMMENT '访客姓名',
id_card VARCHAR(50) COMMENT '身份证号码',
phone VARCHAR(20) COMMENT '联系电话',
visit_purpose TEXT COMMENT '来访目的',
visit_start_time DATETIME NOT NULL COMMENT '访问开始时间',
visit_end_time DATETIME COMMENT '访问结束时间',
host_student_id BIGINT NOT NULL COMMENT '接待学生 ID',
register_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '登记时间',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='访客登记信息表';
CREATE TABLE violation_event (
event_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '违纪事件唯一标识',
reporter VARCHAR(100) COMMENT '举报人',
reported_student_id BIGINT NOT NULL COMMENT '被举报学生 ID',
event_desc TEXT NOT NULL COMMENT '事件描述',
event_time DATETIME NOT NULL COMMENT '发生时间',
handling_status TINYINT DEFAULT 0 COMMENT '处理状态:0-待处理,1-已完成',
penalty_desc TEXT COMMENT '处罚措施描述',
handler VARCHAR(100) COMMENT '处理人员',
handle_time DATETIME COMMENT '处理时间',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='违纪事件处理表';
CREATE TABLE hygiene_check_task (
task_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '卫生检查任务唯一标识',
task_name VARCHAR(200) NOT NULL COMMENT '任务名称',
check_date DATE NOT NULL COMMENT '检查日期',
checker VARCHAR(100) COMMENT '检查员',
check_level ENUM('regular','irregular') DEFAULT 'regular' COMMENT '检查类型:regular-定期,irregular-不定期',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='宿舍卫生检查任务表';
CREATE TABLE hygiene_score_record (
score_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '评分记录唯一标识',
task_id BIGINT NOT NULL COMMENT '对应的任务 ID',
room_id BIGINT NOT NULL COMMENT '房间 ID',
score DECIMAL(3,1) NOT NULL COMMENT '评分分数',
comments TEXT COMMENT '评语说明',
rectification_required TINYINT DEFAULT 0 COMMENT '是否需要整改:0-无需整改,1-需整改',
rectify_deadline DATE COMMENT '整改截止日期',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='宿舍卫生评分记录表';
CREATE TABLE maintenance_work_order (
order_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '工单唯一标识',
title VARCHAR(200) NOT NULL COMMENT '故障标题',
description TEXT COMMENT '问题描述',
submitter VARCHAR(100) COMMENT '报修人',
assignee VARCHAR(100) COMMENT '指派维修人员',
priority ENUM('low','medium','high') DEFAULT 'medium' COMMENT '优先级:low-低,medium-中,high-高',
status TINYINT DEFAULT 0 COMMENT '工单状态:0-新建,1-已派发,2-维修中,3-已完成,4-已关闭',
repair_time DATETIME COMMENT '实际维修完成时间',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='维修工单管理表';
CREATE TABLE statistical_report (
report_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '报表唯一标识',
report_type VARCHAR(100) NOT NULL COMMENT '报表类型:如入住率统计、费用收支明细等',
period_start DATE NOT NULL COMMENT '统计周期起始日',
period_end DATE NOT NULL COMMENT '统计周期结束日',
data_content JSON COMMENT '统计数据内容(JSON 格式存储)',
generated_by VARCHAR(100) COMMENT '生成者',
generate_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '生成时间',
remark TEXT COMMENT '备注说明',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '修改人',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
) COMMENT='数据统计与报表分析表';