В моем приложении (symfony2 / doctrine 2 / mysql) у меня есть форум, блог и небольшая социальная сеть.
Все требуют умения публиковать контент.
Должен ли я лучше создавать разные таблицы для определенных элементов (blog_post, forum_post, social_post таблицы) или создать только одну таблицу сообщений и прикрепить ее к таблице post_category, которая будет содержать эти строки forum / blog / social_network?
Идея состоит в том, что использование и спецификации для этих частей приложения могут немного измениться в более поздний момент времени, и, хотя на данный момент может быть проще иметь одну единственную таблицу, разделение их может быть легче поддерживать в долгосрочной перспективе.
Какова лучшая практика в этом случае?
Вы могли бы использовать Таблица наследования за это.
Наличие абстрактной сущности Post в качестве родителя для BlogPost, ForumPost и SocialPost. Таким образом, у вас будут автономные сущности с СУХОМИ свойствами.
Других решений пока нет …