relational-schema-design

star 3

Design a correct relational schema: normalize to 3NF, denormalize only with measured evidence and a named consistency cost, push constraints (PK/FK/UNIQUE/CHECK/NOT NULL) into the database, and choose precise data types.

mcorbett51090 By mcorbett51090 schedule Updated 6/4/2026

name: relational-schema-design description: "Design a correct relational schema: normalize to 3NF, denormalize only with measured evidence and a named consistency cost, push constraints (PK/FK/UNIQUE/CHECK/NOT NULL) into the database, and choose precise data types."

Relational Schema Design

Normalize first

3NF by default: each fact once, relationships via keys. Most 'we must denormalize' instincts are premature.

Denormalize deliberately

Only with a measured read benefit AND the write/consistency cost named — often a materialized view or covering index is better than redundant columns.

Constraints in the DB

PK on every table, FK for every relationship, NOT NULL/UNIQUE/CHECK to make illegal states unrepresentable. The app is not a trustworthy enforcer.

Types

Precise numeric/temporal/text; uuid/enum/jsonb where they fit. text for everything + naive timestamps are smells.

Install via CLI
npx skills add https://github.com/mcorbett51090/RavenClaude --skill relational-schema-design
Repository Details
star Stars 3
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
mcorbett51090
mcorbett51090 Explore all skills →