Database Design

Database Design

Design databases that scale and stay maintainable. Normalisation, ER diagrams, relationships, indexing strategies, partitioning, migrations, and the trade-offs between relational and NoSQL models.

FundamentalsTopics 1–9
  • ·What is a database?
  • ·The relational model
  • ·Choosing data types
  • ·Primary keys
  • ·Foreign keys & referential integrity
  • ·ER diagrams
  • ·First Normal Form (1NF)
  • ·Second Normal Form (2NF)
  • ·Third Normal Form (3NF)
Start Fundamentals
IntermediateTopics 10–18
  • ·Many-to-many relationships
  • ·One-to-one relationships
  • ·Self-referential relationships
  • ·Denormalisation
  • ·Index types & when to use them
  • ·Composite indexes
  • ·Constraints
  • ·NULL semantics in schema design
  • ·Default values & generated columns
Start Intermediate
AdvancedTopics 19–27
  • ·Schema migrations
  • ·Table partitioning
  • ·Sharding strategies
  • ·NoSQL document models
  • ·Key-value & wide-column
  • ·Time-series data design
  • ·Soft deletes vs hard deletes
  • ·Audit trails & history tables
  • ·Multi-tenancy patterns
Start Advanced
ProductionTopics 28–35
  • ·Naming conventions
  • ·Connection pooling
  • ·Read replicas & write patterns
  • ·CQRS & event sourcing
  • ·Schema design for performance
  • ·Data archiving & retention
  • ·Schema anti-patterns
  • ·Living schema & documentation
Start Production

What you'll be able to design

By the end of this guide you'll be able to read and design schemas like the one below, a real-world e-commerce model showing one-to-one, one-to-many, many-to-many, and self-referential relationships all working together.

Loading diagram…
A complete e-commerce schema, every relationship type covered in this guide, working together