Files
hzdyjs/学生换班级/学生换班级记录表.sql
T
2025-12-25 18:01:27 +08:00

81 lines
3.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ==========================================
-- 数据库变更脚本
-- 版本:V1.0.0
-- 功能:新增学生换班级记录表
-- 作者:AI Assistant
-- 时间:2025-01-25
-- ==========================================
-- ----------------------------
-- Table structure for xg_student_class_change
-- ----------------------------
DROP TABLE IF EXISTS `xg_student_class_change`;
CREATE TABLE `xg_student_class_change` (
-- 基础字段(必须)
`id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
-- 学生基本信息
`student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id',
`student_no` varchar(32) NOT NULL COMMENT '学号',
`student_name` varchar(50) NOT NULL COMMENT '学生姓名',
-- 原班级信息
`original_college_id` bigint(20) DEFAULT NULL COMMENT '原学院ID ',
`original_college_name` varchar(100) DEFAULT NULL COMMENT '原学院名称',
`original_major_id` bigint(20) DEFAULT NULL COMMENT '原专业ID ',
`original_major_name` varchar(100) DEFAULT NULL COMMENT '原专业名称',
`original_class_id` bigint(20) DEFAULT NULL COMMENT '原班级ID ',
`original_class_code` varchar(32) DEFAULT NULL COMMENT '原班级代码',
`original_class_name` varchar(100) DEFAULT NULL COMMENT '原班级名称',
-- 新班级信息
`new_college_id` bigint(20) DEFAULT NULL COMMENT '新学院ID ',
`new_college_name` varchar(100) DEFAULT NULL COMMENT '新学院名称',
`new_major_id` bigint(20) DEFAULT NULL COMMENT '新专业ID ',
`new_major_name` varchar(100) DEFAULT NULL COMMENT '新专业名称',
`new_class_id` bigint(20) DEFAULT NULL COMMENT '新班级ID ',
`new_class_code` varchar(32) DEFAULT NULL COMMENT '新班级代码',
`new_class_name` varchar(100) DEFAULT NULL COMMENT '新班级名称',
-- 换班级业务信息
`change_reason` varchar(500) DEFAULT NULL COMMENT '换班级原因',
`change_type` char(1) DEFAULT '1' COMMENT '换班级类型:1-主动申请,2-学校调整,3-专业调整,4-其他',
`change_time` datetime DEFAULT NULL COMMENT '换班级时间',
`effective_time` datetime DEFAULT NULL COMMENT '生效时间',
`status` char(1) DEFAULT '0' COMMENT '处理状态:0-未处理,1-已处理',
-- 扩展字段
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- 主键和索引
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_student_change_time` (`student_id`, `change_time`, `tenant_id`, `deleted`),
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_deleted` (`deleted`),
KEY `idx_student_id` (`student_id`),
KEY `idx_student_no` (`student_no`),
KEY `idx_original_class_id` (`original_class_id`),
KEY `idx_new_class_id` (`new_class_id`),
KEY `idx_change_time` (`change_time`),
KEY `idx_effective_time` (`effective_time`),
KEY `idx_create_time` (`create_time`),
KEY `idx_tenant_deleted` (`tenant_id`, `deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生换班级记录表';
-- 建表完成提示
-- 注意事项:
-- 1. 该表遵循项目数据库规范,包含所有强制性基础字段
-- 2. 使用雪花ID作为主键,支持多租户数据隔离
-- 3. 支持逻辑删除,避免物理删除数据
-- 4. 记录学生换班级的完整历史信息,包括审批流程
-- 5. 关联字段不使用外键约束,通过应用层逻辑维护数据一致性
-- 6. 索引设计遵循性能优化原则