SQL to ER Diagram
HomeExamples › School / LMS

School / LMS Schema

A school / LMS schema — students and teachers, courses and their enrollments, assignments and grades — shown as an interactive ER diagram.

Open this schema in the editor → All examples

Interactive diagram

Drag to pan, scroll to zoom. Open it in the full editor to edit, rearrange and export.

About this schema

Teachers teach courses; students enroll in courses through an enrollment join table; each course has assignments, and each enrolled student receives grades on those assignments.

Schema (SQL)

CREATE TABLE teachers (
  id SERIAL PRIMARY KEY,
  name VARCHAR(160) NOT NULL, email VARCHAR(255) UNIQUE
);
CREATE TABLE students (
  id SERIAL PRIMARY KEY,
  name VARCHAR(160) NOT NULL, email VARCHAR(255) UNIQUE,
  enrolled_on DATE
);
CREATE TABLE courses (
  id SERIAL PRIMARY KEY,
  code VARCHAR(16) UNIQUE, title VARCHAR(200),
  teacher_id INT REFERENCES teachers(id)
);
CREATE TABLE enrollments (
  id SERIAL PRIMARY KEY,
  student_id INT NOT NULL REFERENCES students(id),
  course_id INT NOT NULL REFERENCES courses(id),
  enrolled_on DATE,
  UNIQUE (student_id, course_id)
);
CREATE TABLE assignments (
  id SERIAL PRIMARY KEY,
  course_id INT NOT NULL REFERENCES courses(id),
  title VARCHAR(200), due_date DATE, max_points INT
);
CREATE TABLE grades (
  id SERIAL PRIMARY KEY,
  enrollment_id INT NOT NULL REFERENCES enrollments(id),
  assignment_id INT NOT NULL REFERENCES assignments(id),
  points NUMERIC(5,2), graded_at TIMESTAMP
);

Open in the editor → to export it as PNG, SVG, Mermaid or DBML.

More examples