Schema Design & Normalization
Database Normalization
1NF — First Normal Form
-- ❌ Violates 1NF
CREATE TABLE orders (
id INT,
items VARCHAR(500) -- "Surface Pro, Xbox, Keyboard" (multiple values in one field)
);
-- ✅ 1NF
CREATE TABLE order_items (
order_id INT,
product_id INT,
quantity INT
);2NF — No Partial Dependencies
3NF — No Transitive Dependencies
Common Design Patterns
One-to-Many
Many-to-Many
Self-Referencing (Hierarchical)
Choosing SQL vs NoSQL
Criteria
SQL (PostgreSQL/MySQL)
NoSQL (MongoDB/Redis)
Last updated
