Я пытаюсь создать онлайн-форум для обсуждения в качестве веселого проекта. В этом приложении зарегистрированные пользователи могут создать "тему". Другие пользователи могут отвечать на эту тему (позволяет называть их "сообщениями"). Кроме того, люди могут "отвечать" на сообщения. Однако ответ на "ответы" в настоящее время не требуется.
Я думал о создании схемы DB, как это
Но столбики и таблицы ответов в основном содержат одинаковые поля. Единственным исключением является that-, столбец topic_id в таблице сообщений будет ссылаться на таблицу тем, а столбец post_id в таблице ответов будет ссылаться на таблицу сообщений
Итак, если мне нужно оставить только одну таблицу для сообщений и ответов, как мне управлять отношениями между "темами и сообщениями" и "сообщениями и ответами"? Каким будет идеальное решение в этом случае?
Или же
Должен ли я просто сохранить существующую схему?
Спасибо!
Вы можете оставить одну таблицу только для сообщений и ответов. Для отношений между post и reply добавьте новые имена столбцов post_id
. Этот столбец может быть пустым для сообщения, а в случае ответа - вставить id
сообщения.