Natural keys
Most of the discussion on Hacker News about this article by Eduardo Bellani is about the use of natural keys when designing databases.
I also disagree with the use of natural keys. The real world is messy and it changes all the time, including and especially the things that you’d think would never change. Education (and I’m sure all industries) is obsessed with giving things codes that mean something, and as a result the software I develop against uses natural keys almost exclusively.
It’s a pain in the arse.
This is one of those self-propelling death spiral things. People want codes to mean something because nobody’s ever shown them the alternative: design objects with attributes that describe the object and nobody will give a shit what primary key the database uses. But if the enterprise software you’ve bought doesn’t allow that (and perhaps even encourages some kind of coding convention) then nobody will ever see the alternative which puts us back at the start of the cycle.