100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

Database Design & ER Diagrams Cheat Sheet

Database Design & ER Diagrams Cheat Sheet

Explains entity-relationship modeling, cardinality notation, normalization rules, and translating an ER diagram into physical table schemas.

2 PagesBeginnerFeb 25, 2026

ER Diagram Notation

The building blocks of an entity-relationship diagram.

  • Entity- A real-world object or concept represented as a table (e.g., Customer, Order); drawn as a rectangle
  • Attribute- A property of an entity (e.g., Customer.email); becomes a column in the resulting table
  • Relationship- An association between two entities (e.g., Customer places Order); drawn as a diamond or a line with a verb label
  • Cardinality- Describes how many instances relate: one-to-one (1:1), one-to-many (1:N), or many-to-many (M:N)
  • Weak entity- An entity that cannot exist without a parent (e.g., OrderLine depends on Order); identified by the parent's key plus a partial key
  • Participation constraint- Whether every instance of an entity must participate in the relationship (total/mandatory) or not (partial/optional)

Normalization

The standard normal forms and why they exist.

  • 1NF (First Normal Form)- Every column holds atomic values, no repeating groups or arrays in a single cell
  • 2NF (Second Normal Form)- 1NF plus every non-key column depends on the whole primary key, not just part of a composite key
  • 3NF (Third Normal Form)- 2NF plus no transitive dependencies — non-key columns depend only on the key, not on other non-key columns
  • BCNF (Boyce-Codd Normal Form)- A stricter 3NF: every determinant (column that determines another) must be a candidate key
  • Denormalization- Deliberately duplicating data to reduce joins and improve read performance, trading write complexity/storage for speed

ER Diagram to SQL Schema

Translating entities and a many-to-many relationship into tables.

sql
-- Entities: Customer, Product; Relationship: Order (M:N via a junction table)CREATE TABLE customers (  id SERIAL PRIMARY KEY,  name VARCHAR(255) NOT NULL,  email VARCHAR(255) UNIQUE NOT NULL);CREATE TABLE products (  id SERIAL PRIMARY KEY,  name VARCHAR(255) NOT NULL,  price NUMERIC(10,2) NOT NULL);CREATE TABLE orders (  id SERIAL PRIMARY KEY,  customer_id INT NOT NULL REFERENCES customers(id),  created_at TIMESTAMP DEFAULT now());-- Junction table resolves the M:N between orders and productsCREATE TABLE order_items (  order_id INT REFERENCES orders(id),  product_id INT REFERENCES products(id),  quantity INT NOT NULL CHECK (quantity > 0),  PRIMARY KEY (order_id, product_id));

Key Types

Different roles keys play in a relational schema.

  • Primary key- Uniquely identifies each row in a table; must be non-null and unique
  • Foreign key- A column referencing another table's primary key, enforcing referential integrity
  • Composite key- A primary key made of two or more columns together (common in junction tables)
  • Candidate key- Any column set that could uniquely identify a row; one is chosen as the primary key, others become unique constraints
  • Surrogate key- An artificial key (e.g., auto-increment ID or UUID) with no business meaning, used instead of a natural key
Pro Tip

Model many-to-many relationships with an explicit junction table from the start, even if today it looks like a simple pair — adding metadata later (quantity, timestamp, status) to a bare M:N join is far easier than migrating away from an implicit relationship.

Was this cheat sheet helpful?

Explore Topics

#DatabaseDesignERDiagrams#DatabaseDesignERDiagramsCheatSheet#Database#Beginner#ERDiagramNotation#Normalization#ERDiagramToSQLSchema#KeyTypes#Databases#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech

Professional Web Designing Services

  • Responsive Websites
  • E-commerce Solutions
  • SEO Friendly Design
  • Fast & Secure
  • Support & Maintenance
Get a Free Quote

Share this Cheat Sheet