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.

May 2026 · by Dmitriy Snyatkov · 12 min read

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.

April 2026 · by Dmitriy Snyatkov · 6 min read

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.

May 2026 · by Dmitriy Snyatkov · 10 min read

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.

April 2026 · by Dmitriy Snyatkov · 6 min read

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.

April 2026 · by Dmitriy Snyatkov · 9 min read

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.

March 2026 · by Dmitriy Snyatkov · 6 min read

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.

March 2026 · by Dmitriy Snyatkov · 7 min read

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.

March 2026 · by Dmitriy Snyatkov · 8 min read

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.

March 2026 · by Dmitriy Snyatkov · 7 min read

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.

May 2026 · by Dmitriy Snyatkov · 10 min read

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.