ER Diagrams for Database Assignments — Free Tool for CS Students
Table of Contents
Database courses require ER diagrams for assignments — usually a schema design for a management system (library, hospital, university, bank). This guide covers how to create a clean, professional ER diagram for your assignment using a free browser tool, how to match the notation your professor expects, and a set of complete ready-to-edit templates for the most common assignment types.
Crow's Foot vs Chen Notation — Which Does Your Assignment Require?
Before starting, check which ER notation your course uses. Most database textbooks and courses use one of two notations:
| Notation | Look | Relationships shown as | Used in |
|---|---|---|---|
| Crow's Foot | Line ends look like crow's feet (three lines = many) | Lines between rectangles with crow's foot symbols at ends | Industry, modern tools, most online ERD tools |
| Chen Notation | Rectangles (entities), diamonds (relationships), ovals (attributes) | Diamond shapes between entity boxes | Older textbooks, many university courses |
If your assignment requires Chen notation: Use ERDPlus (erdplus.com) — it is the best free tool for Chen notation with proper diamonds. The free ERD maker and most online tools use crow's foot only.
If your assignment uses crow's foot notation (or if notation is not specified): The free ERD maker and any Mermaid-based tool will work perfectly. Crow's foot is the industry standard used by professional database designers.
Assignment Templates — Common Database Scenarios
These are the most frequently assigned database scenarios in DBMS courses. Each is a complete Mermaid erDiagram you can paste and render:
College Management System:
erDiagram
STUDENTS {
int student_id PK
string first_name
string last_name
date date_of_birth
string email
int department_id FK
date enrollment_date
}
COURSES {
int course_id PK
string course_code
string title
int credits
int department_id FK
}
DEPARTMENTS {
int dept_id PK
string name
string head_of_dept
}
FACULTY {
int faculty_id PK
string name
int dept_id FK
string designation
}
ENROLLMENTS {
int enrollment_id PK
int student_id FK
int course_id FK
int semester
string grade
}
TEACHES {
int faculty_id FK
int course_id FK
int semester
}
STUDENTS ||--|| DEPARTMENTS : "enrolled in"
STUDENTS ||--o{ ENROLLMENTS : "registers for"
COURSES ||--o{ ENROLLMENTS : "has"
DEPARTMENTS ||--o{ COURSES : "offers"
DEPARTMENTS ||--o{ FACULTY : "employs"
FACULTY ||--o{ TEACHES : "teaches"
COURSES ||--o{ TEACHES : "taught by"
Bank Database System:
erDiagram
CUSTOMERS {
int customer_id PK
string name
string address
string phone
string email
date date_of_birth
}
ACCOUNTS {
int account_id PK
int customer_id FK
int branch_id FK
string account_type
decimal balance
date opened_date
string status
}
BRANCHES {
int branch_id PK
string name
string address
string city
}
TRANSACTIONS {
int transaction_id PK
int account_id FK
string type
decimal amount
datetime transaction_date
string description
}
LOANS {
int loan_id PK
int customer_id FK
int branch_id FK
decimal amount
decimal interest_rate
date start_date
date end_date
string status
}
CUSTOMERS ||--o{ ACCOUNTS : "holds"
ACCOUNTS ||--|| BRANCHES : "maintained at"
ACCOUNTS ||--o{ TRANSACTIONS : "records"
CUSTOMERS ||--o{ LOANS : "takes"
LOANS ||--|| BRANCHES : "issued by"
Sell Custom Apparel — We Handle Printing & Free Shipping
How to Submit Your ERD for an Assignment
Once your ER diagram is ready, export it for submission:
- Click Export PNG in the ERD maker toolbar. The PNG is saved to your Downloads folder at 2x resolution — sharp enough for print and screen.
- Or click Export SVG if you need a scalable format that your professor can open in Inkscape or a browser.
- Attach to your submission. Most assignment portals (Canvas, Blackboard, Moodle, Google Classroom) accept PNG image attachments directly.
- If a document is required: Paste the PNG into a Word document or Google Doc alongside your written analysis.
- Save the code too. Copy the Mermaid code to a text file and save it — if you need to revise the diagram after feedback, you can edit the code and re-export rather than rebuilding from scratch.
Before submitting, verify:
- All required entities are present and correctly named
- Relationship cardinalities (one-to-many, etc.) are marked correctly
- Primary and foreign keys are labeled
- The diagram is readable at the image resolution you are submitting
Common Student ERD Mistakes
These are the most common errors in student ER diagram assignments — check each before submitting:
| Mistake | Description | How to fix |
|---|---|---|
| Missing primary keys | Not labeling which column is the PK | Add PK label after the column that uniquely identifies each record |
| Wrong cardinality | Marking a one-to-many as one-to-one | Think about it logically: one customer CAN HAVE MANY orders (one-to-many). One order has EXACTLY ONE customer (many-to-one from the other side) |
| Missing foreign keys | Not showing how tables connect | Every relationship line should correspond to a FK column in one of the entities |
| Attributes on relationships | Not modeling junction tables for M:N relationships | Many-to-many relationships often need a junction/bridge table (like ENROLLMENTS connecting STUDENTS and COURSES) |
| Too many or too few entities | Missing entities or over-engineering the schema | Re-read the assignment requirements and check every noun — nouns are usually entities |
| Unclear relationship labels | Not labeling what the relationship means | Add a verb phrase as the relationship label ("places", "belongs to", "contains") |
Answering Specific Assignment Questions
Some assignment questions ask you to "draw an ER diagram" for a specific scenario. Here is the approach to translate a scenario description into a diagram:
- Identify entities: Look for nouns in the description — Student, Course, Instructor, Department. Each becomes an entity (a table).
- Identify attributes: What information do we need for each entity? Student has: name, student ID, date of birth, email. Each becomes a column.
- Identify relationships: Look for verbs — "student enrolls in course", "instructor teaches course". Each verb describes a relationship between two entities.
- Determine cardinality: Ask: "Can one [entity A] have multiple [entity B]? Can one [entity B] have multiple [entity A]?" This determines whether it is one-to-one, one-to-many, or many-to-many.
- Handle many-to-many: If both answers to step 4 are "yes", you need a junction table. "Student enrolls in many courses, and each course has many students" → add an ENROLLMENTS table with student_id and course_id foreign keys.
Create Your Assignment ERD — Free, Export PNG
Paste your schema, render the diagram, export PNG for submission. No signup needed.
Open Free ERD MakerFrequently Asked Questions
What ERD tool is best for DBMS assignments?
For crow's foot notation: the WildandFree free ERD maker, dbdiagram.io (requires free account), or draw.io. For Chen notation (with diamonds for relationships): ERDPlus is the best free option. Check with your professor which notation they expect before starting, since the tools produce different visual styles.
How do I create an ER diagram for a college management system?
A college management system ERD typically includes: STUDENTS, COURSES, DEPARTMENTS, FACULTY, and ENROLLMENTS entities. Students enroll in courses (many-to-many through ENROLLMENTS), departments offer courses (one-to-many), and faculty teach courses (many-to-many through a TEACHES junction table). The template earlier in this guide is a complete, ready-to-use version of this schema.
My professor wants the ER diagram in a specific format. Can I use this tool?
The free ERD maker produces PNG and SVG exports of crow's foot notation diagrams. If your professor requires a specific file format (like a Visio .vsdx file) or a specific notation style (like Chen notation), you may need a different tool. For most assignments asking for an "ER diagram as an image," the PNG export from this tool is universally accepted.
How many entities should a student ER diagram have?
It depends entirely on the assignment requirements. A simple library system might need 5-6 entities (BOOKS, AUTHORS, MEMBERS, LOANS, GENRES, BOOK_COPIES). A complex university management system might have 10-15. Focus on what the assignment describes, not on a number target. Every significant noun in the assignment requirements should typically be an entity.

