Какова идеальная структура таблицы базы данных для сообщений и ответов на форуме?

0

Я пытаюсь создать онлайн-форум для обсуждения в качестве веселого проекта. В этом приложении зарегистрированные пользователи могут создать "тему". Другие пользователи могут отвечать на эту тему (позволяет называть их "сообщениями"). Кроме того, люди могут "отвечать" на сообщения. Однако ответ на "ответы" в настоящее время не требуется.

Я думал о создании схемы DB, как это Изображение 174551

Но столбики и таблицы ответов в основном содержат одинаковые поля. Единственным исключением является that-, столбец topic_id в таблице сообщений будет ссылаться на таблицу тем, а столбец post_id в таблице ответов будет ссылаться на таблицу сообщений

Итак, если мне нужно оставить только одну таблицу для сообщений и ответов, как мне управлять отношениями между "темами и сообщениями" и "сообщениями и ответами"? Каким будет идеальное решение в этом случае?

Или же

Должен ли я просто сохранить существующую схему?

Спасибо!

Теги:
database

1 ответ

0
Лучший ответ

Вы можете оставить одну таблицу только для сообщений и ответов. Для отношений между post и reply добавьте новые имена столбцов post_id. Этот столбец может быть пустым для сообщения, а в случае ответа - вставить id сообщения.

  • 0
    Спасибо! Мне было интересно, есть ли какие-либо конкретные преимущества или недостатки для этого подхода по сравнению с моей существующей схемой (с точки зрения оптимизации базы данных)
  • 0
    Все сводится к личным предпочтениям. Я бы, вероятно, выбрал подход с одной таблицей, где «post» - это просто «ответ» без родителя (т. Е. Parent_id равен нулю)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню