Entity Relationship Diagram Examples
This example ER diagram shows how students, courses, instructors, and classrooms relate to each other in a typical university registration system. It's a great reference for learning ER modeling or as a starting template for similar systems. Tip: always mark cardinality (one-to-many, many-to-many) on each relationship line to avoid ambiguity.
The prompt behind this diagram
Create an example entity relationship diagram for a university course registration system with entities: Student, Course, Instructor, Department, Enrollment, and Classroom. Show Student to Enrollment as one-to-many, Course to Enrollment as one-to-many, Instructor to Course as one-to-many, Department to Instructor as one-to-many, Department to Course as one-to-many, and Course to Classroom as many-to-one for scheduling. Include primary key and foreign key attributes on each entity box.
Paste your own description (or Terraform / docker-compose / SQL schema) into draft1 and get a diagram like this for your exact system.
What this diagram shows
An entity relationship diagram (ERD) for a course registration system maps the core entities (Student, Course, Instructor, Registration, Semester) and their relationships. It shows how students enrol in courses, how courses are taught by instructors, and when registration occurs within a semester timeframe. The diagram uses crow's foot notation to indicate cardinality: one instructor teaches many courses, many students can register for many courses through a junction entity, and each registration references a specific semester. This structure captures the domain logic needed to build a functioning registration database.
Key components
- Student Entity — Stores student information including ID, name, email, and enrolment status.
- Course Entity — Records course details such as course code, title, credits, and capacity.
- Instructor Entity — Maintains instructor records including ID, name, department, and office hours.
- Registration Entity — Junction table that links students to courses, storing enrolment date and grade.
- Semester Entity — Defines academic periods with start and end dates, binding registrations to timeframes.
- Teaches Relationship — One-to-many connection showing which instructor teaches each course.
- Enrolls Relationship — Many-to-many connection between students and courses resolved through the Registration entity.
When to use it
Use this ERD template when designing or documenting a course registration database for a university, college, or online learning platform. It is particularly useful during initial database schema design, when gathering requirements from stakeholders, when onboarding new developers to understand the data model, or when you need to validate entity relationships before writing SQL schema definitions. Works well for discussing data integrity constraints and cardinality rules with your team.
Common mistakes
- Omitting the Registration junction entity and attempting to link Student and Course directly, which prevents storing multiple enrolments per student-course pair and loses enrolment metadata.
- Failing to include the Semester entity, making it impossible to support multiple course offerings across different academic periods or to track historical registrations.
- Using incorrect crow's foot notation (for example, showing one-to-one relationships when the business logic demands one-to-many) or leaving cardinality unmarked, causing confusion about multiplicity rules.
Adapting it to your system
Start by identifying your specific entities: if you have teaching assistants, add a Teaching Assistant entity and link it to both Instructor and Course. If you track prerequisites, add a Course Prerequisites relationship linking Course to itself. For grading systems, extend Registration with fields for letter grade, numeric score, and completion status. Replace or rename Semester if you use terms, quarters, or custom periods. Adjust attributes to match your institution: add student ID number format, course department prefixes, or instructor credentials. Validate that all many-to-many relationships have a junction entity capturing relevant metadata.
More templates
System Architecture Diagram
Generate a clear system architecture diagram online and export an editable draw.io file in seconds with AI.
Network Topology Diagram
Draw a network topology diagram instantly with AI and download it as an editable draw.io file for your documentation.
Aktivitätsdiagramm Für Eine Java-Methode Erstellen
Erstellen Sie ein UML-Aktivitätsdiagramm für Java-Methoden mit KI und exportieren Sie es als editierbare draw.io-Datei
Diagram Przypadków Użycia UML
Wygeneruj diagram przypadków użycia UML online za pomocą AI i pobierz edytowalny plik draw.io.
Cloud Architecture Diagram
Create a cloud architecture diagram with AI and export it instantly as an editable draw.io file.
Cloud Infrastructure Diagram
Generate a detailed cloud infrastructure diagram online using AI and export it as an editable draw.io diagram.
Business Process Flowchart With Decision Points
Build a business process flowchart with decision points using AI and download an editable draw.io file.