🪚

Entity-Relationship Design Patterns

Recurring blueprints for recurring business shapes.

Part 1

The Mortise and Tenon: An Introduction to One-to-Many

why a single table leg can receive tenons from several rails but every rail belongs to exactly one leg, and how this simple asymmetry is the same shape behind the most common relationship in database design.

Part 2

Dovetails Both Ways: Many-to-Many and the Junction Entity

why a drawer's dovetails interlock from both directions at once, with no single board dominating the joint, and how that mutual interlocking is exactly the shape a many-to-many relationship takes.

Part 3

The Staircase Joint: Self-Referencing Hierarchies

why the same housed-stringer joint that connects one step to the next repeats identically at every level of a staircase, and how that same repeating shape models an organization chart or a category tree.

Part 4

Dry-Fit vs. Fixed: Optional and Mandatory Relationships

why a joiner dry-fits a joint together without glue before committing it permanently, and how that distinction between a temporary, optional fit and a permanent, required one maps directly onto optional and mandatory relationships.

Part 5

A Family of Mortises: Supertype and Subtype Patterns

why a through mortise, a blind mortise, and a haunched mortise all share the same core cavity but each add their own particular refinement, and how that family relationship maps onto supertype and subtype modeling.

Part 6

The Same Board, Two Names: Role-Playing Entities

why the exact same length of oak becomes a stile in one part of a frame and a rail in another, depending purely on the direction it's set, and how one physical entity playing two structural roles maps onto role-playing entities in a schema.

Part 7

The Breadboard End: Relationships That Change Over Time

why a breadboard end is deliberately joined to let the panel beneath it expand and contract with the seasons rather than fighting it, and how a relationship designed to tolerate genuine change over time maps onto temporal, effective-dated modeling.

Part 8

The Wedge That Can't Stand Alone: Composite and Weak Entities

why a wedge driven through a through-tenon has no purpose or identity outside the specific joint it locks tight, and how that dependent existence maps onto composite and weak entities in a schema.

Part 9

The Lattice: Recursive Many-to-Many Relationships

why a woven lattice has every strip crossing several others of that exact same kind, with no strip more senior than another, and how that mutual, same-type interweaving maps onto recursive many-to-many relationships.

Part 10

Reading the Grain: Choosing the Right Pattern for the Job

why a joiner reads the grain, the load, and the wood movement before ever picking up a chisel, and how that same disciplined reading of the real shape of the problem is what separates good ER modeling from pattern-matching by habit.

Part 11

A Dovetail for a Packing Crate: When Simple Beats Clever

why hand-cutting dovetails into a disposable shipping crate wastes real skill and time on a joint that will be thrown away within the week, and how that same wasted effort shows up as over-engineered ER patterns applied where a plain relationship would do.

Part 12

The Joiner's Pattern Book: Building a Team Catalog

why a workshop keeps one shared pattern book of proven joints rather than letting each joiner reinvent their own, and how that same shared, documented catalog is what a team's ER pattern library provides.

Part 13

Cutting Out the Bad Joint: Refactoring a Pattern Later

why a joiner sometimes has to cut out a joint that's already been glued and assembled, splice in new material, and rejoin it properly, and how that careful, deliberate repair maps onto refactoring a poorly chosen ER pattern after the fact.

Part 14

An Apprentice Who's Seen a Thousand Joints: AI-Assisted Pattern Recognition

why an apprentice who has studied a thousand finished pieces can glance at a joint and name it correctly on sight, and how that same fast, trained recognition is what AI-assisted pattern detection brings to reading an existing, undocumented schema.

Part 15

From Sketch to Cut List: AI-Generated ER Diagrams from Requirements

why a client's rough sketch of a cabinet still has to become a proper cut list naming every joint before a single board gets cut, and how AI-generated ER diagrams do that same translation from plain-language requirements to a proper structured model.

Part 16

Handing Over the Pattern Book: Libraries as Reusable AI Context

why handing a new hire the shop's actual pattern book on day one produces better joints, faster, than leaving them to guess at the shop's conventions from finished pieces alone, and how handing an AI tool that same catalog as explicit context works the same way.

Part 17

The Joint That Won't Hold: Catching Anti-Patterns Automatically

why an experienced shop foreman inspects every joint before a piece ships, catching the loose tenon or the missing wedge before it fails in a customer's home, and how that same automated inspection now catches ER anti-patterns before they reach production.

Part 18

Joints Cut by a New Hand: Patterns for AI-Generated Data

why a joint cut by a powered router behaves differently in subtle ways from one cut by hand, and requires the pattern to account for that different hand, and how the same accounting is now needed for ER patterns holding data an AI agent generates rather than a human.

Part 19

When No Joint in the Book Fits: Designing a Custom Pattern

why a genuinely unusual commission sometimes needs a joint that isn't in any pattern book at all, designed from first principles for a load and shape nothing standard was built to handle, and how that same rare, deliberate departure applies to ER modeling.

Part 20

Every Joint in the Cabinet: The Whole Pattern Book Reassembled

the mortise, the dovetail, the staircase joint, the breadboard end, every proven pattern gathered into one finished cabinet, and every article's lesson reassembled into one coherent way of choosing the right joint for whatever the business shape genuinely calls for.