Как научиться правильно конструировать базы данных для любых проектов? Есть ли какие книги, видео-курсы и прочее, где можно этому научиться? В принципе во всех своих проектах я организовываю базу данных и работаю с ней, но мне кажется, что другим разработчикам будет тяжело разобраться в структуре моей БД и в коде, но сейчас речь именно о БД. Я лично считаю, что это очень важный момент, и чем лучше будет организована БД, тем легче будет с ней взаимодействовать из приложения. Так же интересна тема архивирования баз данных, не резервное копирование, а именно архивирование, в данном контексте слово "архивирование" просьба понимать, как организация хранения различных старых данных, например 5-10 летней давности, особенно когда за год таких данных набирается порядка 20-30 тысяч строк. И в каких случаях архивирование имеет место быть.
P.S. Предпочтительна практика веб-проектов, но я не думаю что база данных веб-проекта коренным образом отличается от базы данных нативных приложений.
Книг полно и курсов и видео на Youtube.
Вопрос проектирования меняется от проекта к проекту и однозначного ответа нет.
Для того чтобы было понятно другим разработчикам достаточно именовать таблицы в адекватной манере(т.е. название таблицы должно недвусмысленно говорить о ее назначении, именование в одном стиле - или все таблицы именуются во множественном числе или нет (category, article или categories, articles)) + можно файлик с описанием таблиц сделать.
Как-то так