ER Diagram
全部模板

学校管理数据库表结构

一个学生信息 / 学习管理模型。教师开设课程,学生通过选课关联表选修课程,成绩按选课记录。这种多对多选课模式是最常见的数据库设计练习之一。

在编辑器中打开 → 5 张表 · MySQL DDL

此结构中的表

teachersstudentscoursesenrollmentsgrades

表结构(SQL)

MySQL 方言的 DDL。在编辑器中打开可获得可编辑的可视化 ER 图,或直接将 SQL 复制到你的项目中。

CREATE TABLE teachers (
  id INT PRIMARY KEY AUTO_INCREMENT,
  full_name VARCHAR(120) NOT NULL,
  email VARCHAR(254) UNIQUE,
  hired_at DATE
);

CREATE TABLE students (
  id INT PRIMARY KEY AUTO_INCREMENT,
  full_name VARCHAR(120) NOT NULL,
  email VARCHAR(254) UNIQUE,
  enrolled_at DATE
);

CREATE TABLE courses (
  id INT PRIMARY KEY AUTO_INCREMENT,
  teacher_id INT,
  title VARCHAR(200) NOT NULL,
  code VARCHAR(20) NOT NULL UNIQUE,
  credits INT NOT NULL DEFAULT 3,
  FOREIGN KEY (teacher_id) REFERENCES teachers(id)
);

CREATE TABLE enrollments (
  id INT PRIMARY KEY AUTO_INCREMENT,
  student_id INT NOT NULL,
  course_id INT NOT NULL,
  enrolled_on DATE NOT NULL,
  FOREIGN KEY (student_id) REFERENCES students(id),
  FOREIGN KEY (course_id) REFERENCES courses(id)
);

CREATE TABLE grades (
  id INT PRIMARY KEY AUTO_INCREMENT,
  enrollment_id INT NOT NULL,
  letter VARCHAR(2),
  score DECIMAL(5,2),
  graded_at DATE,
  FOREIGN KEY (enrollment_id) REFERENCES enrollments(id)
);