Implementating BCNF is a science.
Choosing whether to use a normalised relational database, a star schema, or a non relational eventually consistent database, that's design.