- The 3rd normal form is when I'm thinking about the entities in a top-down way.
- In a key-value store, I'm thinking of a GUID with a related document, typically JSON, with some arbitrary structure. It's a bottom-up approach. The individual records matter more than the entity.
Argue the theoretical, top-down all day long, and watch me agree. But, like as not, your MongoDb / ElasticSearch / DynomoDb tables are doing a lot in production in the Real World(TM). They get the job done.
Probably driving the point too far here, but it all boils down to Plato vs. Aristotle.