Database Design Blog
Guides and tutorials on MySQL and PostgreSQL schema design, ER diagrams, and database modelling. Written by Dmitriy Snyatkov, creator of SQL Designer — a free, open-source database design tool.
DDL Differences: MySQL, PostgreSQL, Oracle, SQL Server, and SQLite
Side-by-side comparison of CREATE TABLE syntax, primary keys, data types, CHECK constraints, and ALTER TABLE across five major relational databases — with code examples for each.
Crow’s Foot Notation — ER Diagram Cardinality Explained
Learn the crow's foot symbols for one-to-one, one-to-many, and many-to-many relationships, how optionality works, and how the notation maps to real foreign key constraints.
10 Best Free ERD Tools in 2026 — Tested and Compared
We tested 10 free ERD tools: SQL Designer, DrawSQL, dbdiagram.io, draw.io, ChartDB, ERDPlus, QuickDBD, Lucidchart, DB Designer, and DBeaver — with honest strengths, real limits, pricing, and use-case guidance.
Free Online Database Designer — Visual Schema Builder for MySQL & PostgreSQL
What to look for in a free online database designer, how visual schema building compares to writing DDL by hand, and how to go from blank canvas to exported SQL.
Database Schema Examples — MySQL & PostgreSQL Templates
Five real-world database schema templates — e-commerce, blog, SaaS, task tracker, and messaging — with complete MySQL and PostgreSQL CREATE TABLE scripts you can copy or build visually.
MySQL Foreign Key — Syntax, Examples, and Best Practices
A complete guide to MySQL foreign keys: syntax, ON DELETE and ON UPDATE options, practical examples for e-commerce schemas, and common mistakes to avoid.
MySQL Data Types Explained — Which to Use and When
A practical guide to MySQL data types: numeric, string, date/time, and JSON types — with advice on which to choose for each use case and what to avoid.
Database Normalization Explained — 1NF, 2NF, and 3NF with Examples
Learn database normalization with concrete before-and-after examples. Understand 1NF, 2NF, and 3NF, why they matter, and when it's acceptable to denormalize.
MySQL vs PostgreSQL — Key Differences for Schema Design
Comparing MySQL and PostgreSQL for database schema design: data types, constraints, auto-increment, JSON support, and which to choose for your next project.
PostgreSQL Data Types Explained — Which to Use and When
A practical guide to PostgreSQL's 42+ built-in types: numeric, text, boolean, TIMESTAMPTZ, JSONB, arrays, UUID, and identity columns — with CREATE TABLE examples and MySQL comparisons.