Есть ли какие то best practies по БД?
Как лучше называть таблицы, поля, в каких случаях лучше использывать один ко многим или создавать отдельную таблицу для связности, в каких случаях лучше делать нормализованную БД, а в каких лучше не делать этого
Никаких best practies по БД не существует, увы.
Называй таблицы и поля как бог на душу положит, иногда используй один ко многим, а иногда создавай отдельную таблицу для связности, можешь делать нормализованную БД, а можешь и нет.
В общем, играйся пока.
Да. Когда структура оной наиболее соответствует физической модели и упрощения не являются минами замедленного действия по проект. А использование, перечисленных вами (и то не полностью), методик является лишь частью архитектуры.