data-modeling-fundamentals

Apply Codd's relational model and normal-form theory to data-model decisions.

1|Updated May 6, 2026
One-click install
npx skills add https://github.com/jacob-balslev/skill-graph --skill data-modeling-fundamentals
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-modeling-fundamentals
Source: https://github.com/jacob-balslev/skill-graph/tree/main/marketplace/skills/data-modeling-fundamentals
Command: npx skills add https://github.com/jacob-balslev/skill-graph --skill data-modeling-fundamentals

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data-modeling fundamentals helps you choose and justify a data model by using the formal theory beneath database design, including Codd’s relational model, relational algebra, functional dependencies, and the normal forms.

Core Features & Use Cases

  • Normalization theory and anomaly elimination: Explains 1NF through 5NF/BCNF as a sequence of specific constraint-driven fixes rather than vague “best practices.”
  • Functional dependencies & key reasoning: Supports reasoning with functional dependency closure and candidate key identification to make normalization claims defensible.
  • Relational vs higher-level modeling tradeoffs: Frames Chen’s ER model as an abstraction layer above relations and evaluates denormalization and alternative models (document, graph, event-sourced) at the conceptual level.
  • Scope guardrails: Clearly avoids practical persistence/schema implementation work (use data-modeling), migration mechanics (use schema-evolution), indexing decisions (use indexing-strategy), and business-concept discovery (use conceptual-modeling).

Quick Start

Ask: "Given this schema and its functional dependencies, which normal form does it violate, what anomalies could occur, and what theory-based step would fix it?"

Frequently Asked Questions about data-modeling-fundamentals

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I use denormalization instead of full normalization in my relational model?

Database normalization eliminates anomalies by treating normal forms as specific constraint-driven fixes rather than vague best practices. This Skill uses functional dependency closure and candidate key identification to justify each normalization step from 1NF through 5NF and BCNF.

When should I use denormalization instead of full normalization in my relational model?

Denormalization is justified by evaluating relational model tradeoffs against specific workload requirements. This Skill frames denormalization at the conceptual level, allowing you to explicitly compare relational, document, graph, and event-sourced models to determine the appropriate conceptual model boundary.

How do functional dependencies determine candidate keys in database design?

Functional dependencies determine candidate keys through closure analysis, making your normalization claims defensible. This Skill applies relational algebra to map stated dependencies to candidate keys, identifying exactly which constraints drive the schema shape and anomaly elimination.

Does this cover database indexing and schema migration implementation?

No, this specifically avoids persistence, migration, and indexing implementation scope. It focuses purely on conceptual data-model decisions and formal schema-shape reasoning, directing indexing decisions to indexing-strategy and migration mechanics to schema-evolution.

What is the difference between Chen's ER model and the relational model for schema design?

Chen’s ER model acts as an abstraction layer above the relational model, serving conceptual modeling before physical relations are defined. This Skill uses relational theory to evaluate higher-level ER modeling tradeoffs and compares them against document, graph, and event-sourced alternatives.