Yo hace ya muchos años que la idea la plasmamos en un simple papel, a grandes rasgos, posteriormente creamos la estructura de tablas y demás en la BBDD que sea, en mi último curro SQLServer, una vez definidas las estructuras, tienes la opción de ver el modelo de BBDD creado desde e propio SQLServer y esa imagen es ya la que tenemos como referencia y para añadir o quitar cosas. Una vez que te has pegado bastante con eso, la manera de pensar en BBDD relacionales sale natural.
Ahora mismo yo estoy currando con BBDD NOSql, vamos no relacionales y todo lo que te planteas en una relacional es no sólo no necesario, sino que es contraproducente xD Si en una BBDD realcional el objetivo es tenerlo todo normalizado, en una no relacional (en mi caso MongoDB) es precisamente a tener la información desnormalizada.
Recomiendo encarecidamente a quien esté con temas de BBDD que se haga un cursito o algo también de este tipo de BBDD, ya que cada vez están mas presentes y son mas utilizadas (BigData y tal...).