sql-schema-design
Installation
SKILL.md
SQL Schema Design & Data Integrity
Normalization — 1NF Through 3NF
1NF — every column holds a single atomic value. No arrays, no comma-separated lists.
-- BAD: multi-valued column
CREATE TABLE students (id INT PRIMARY KEY, phone_numbers VARCHAR(500)); -- '555-1234,555-5678'
-- GOOD: one fact per row
CREATE TABLE student_phones (
student_id INT REFERENCES students(id),
phone VARCHAR(20) NOT NULL,
PRIMARY KEY (student_id, phone)
);
2NF — with composite keys, every non-key column depends on the entire key, not just part.