I think database modeling is a bit of a lost art, it’s so important though for building applications that do anything important. Love your distinction about the database not needing to be 1 and the same with your domain model. I usually do my first iteration with a few json columns then split them out into tables as the domain model comes into focus … it’s kind of an art.