1. 项目背景与核心需求
在教育信息化系统中,学生身份数据库(SchoolIDB)是最核心的基础数据存储模块。最近在重构某中学的教务管理系统时,我需要为SchoolIDB设计四个关键表的DDL结构。这些表需要满足以下核心需求:
- 完整记录学生从入学到毕业的全周期信息
- 支持多维度查询和统计分析
- 保持数据一致性和完整性约束
- 适应未来可能的系统扩展
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据库表结构设计
2.1 学生基本信息表(student_info)
sql复制CREATE TABLE student_info (
student_id VARCHAR(12) PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender CHAR(1) CHECK (gender IN ('M', 'F')),
birth_date DATE,
id_card VARCHAR(18) UNIQUE,
enrollment_date DATE NOT NULL,
graduation_date DATE,
class_id VARCHAR(10) NOT NULL,
status TINYINT DEFAULT 1 COMMENT '1-在读 2-休学 3-退学 4-毕业',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_class_id (class_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
设计要点:
- 使用学号(student_id)作为主键,采用12位定长字符串
- 身份证号(id_card)设置唯一约束
- 添加状态字段(status)标记学生当前状态
- 为常用查询字段(class_id, status)建立索引
2.2 班级信息表(class_info)
sql复制CREATE
