Top all-time · #7749
Alexey Makhotkin
Personal blog · minimalmodeling.substack.comdataprogramming
Alexey Makhotkin writes Minimal Modeling, a personal blog at minimalmodeling.substack.com about data and programming. Since 2021, 10 different Hacker News readers have linked it 41 times, most often “Persisting either/or values, or The uselessness of CHECK constraint”. It is still writing: the last post was on 2026-07-23, and you can follow it by feed.
Too few sampled comments (2) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for its explanations of database joins and normal forms (including 4NF), arguing that common mental models, such as the 'same number of rows' idea, are incomplete.
Summarised by Claude from a sample of 2 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Making sense of your database.
Most-linked posts?
- Persisting either/or values, or The uselessness of CHECK constraint2 people · 2 mentions · first linked 2021-03-23
- Historically, 4NF explanations are needlessly confusing2 people · 2 mentions · first linked 2024-12-06
- Concatenability Principle in Software Engineering2 people · 2 mentions · first linked 2021-02-03
- Path Dependence in Relational Design2 people · 2 mentions · first linked 2024-07-04
- Many explanations of JOIN are wrong, and people get confused2 people · 2 mentions · first linked 2023-11-27
What Hacker News says?
This is my pet peeve. Top google search results and ChatGPT suggest this "same number of rows" mental model which is incomplete and breaks. I wrote about this: https://minimalmodeling.substack.com/p/many-explanations-of-...
Comment linking /p/many-explanations-of-join-are-wrong
on “Let's talk about joins”Submitted Historically, 4NF explanations are needlessly confusing as a story · 104 points
HN discussion> if you don't express the update rules in a database schema, it must be in the application code. Subtle errors are more likely in that case. This is a common sentiment but I think that you can always demonstrate a use case that is very much practical, not convoluted, and could not be handled by classical features of relational databases, CHECK primarily (without arrays of any kinds). A couple of examples is outline…
Comment linking /i/31184249/more-on-structural-validations
on “Historically, 4NF explanations are needlessly confusing”Submitted Modeling mutual friendship as a story · 30 points
HN discussionSubmitted Virtual 6NF as a story · 26 points
HN discussionSubmitted Sentinel-free schemas: a thought experiment as a story · 16 points
HN discussionSubmitted Erasure in Database Modeling as a story · 14 points
HN discussionSubmitted Path Dependence in Relational Design as a story · 10 points
HN discussionSubmitted Requirements change: migrating either/or data schema as a story · 7 points
HN discussionSubmitted Modeling Pairs and Tuples as a story · 6 points
HN discussionSubmitted Two Hundred Forty Tables and No Documentation? as a story · 6 points
HN discussionSubmitted Game Theory in Database Design as a story · 6 points
HN discussionSubmitted Concatenability Principle in Software Engineering as a story · 6 points
HN discussionSubmitted Database modeling, stakeholders and their concerns as a story · 5 points
HN discussionSubmitted Left Joins, Pt. II as a story · 5 points
HN discussionSubmitted Many Faces of Left Join as a story · 5 points
HN discussionSubmitted Persisting either/or values, or The uselessness of CHECK constraint as a story · 5 points
HN discussionSubmitted Historically, 4NF explanations are needlessly confusing as a story · 4 points
HN discussionSubmitted Union ALL, pt. II: polymorphic data as a story · 4 points
HN discussionSubmitted Handling Time with Supersecond Resolution as a story · 3 points
HN discussionSubmitted Database migrations: getting rid of attributes as a story · 3 points
HN discussionSubmitted Extending Booleans to Enums as a story · 3 points
HN discussionSubmitted How to delete a lot of data, pt. II as a story · 3 points
HN discussionSubmitted Propagation Delay as a story · 3 points
HN discussionSubmitted Vertical Join, Pt. I as a story · 3 points
HN discussionSubmitted Multi-join queries design: investigation as a story · 2 points
HN discussionSubmitted How to Grow as a Database Developer? as a story · 2 points
HN discussionSubmitted Organizational scalability and flexible database schemas as a story · 2 points
HN discussionSubmitted Introduction to Schema Migrations as a story · 2 points
HN discussionSubmitted Best ideas from the first 25 posts as a story · 2 points
HN discussion