@efim23

Как организовать структуру БД?

Добрый день. В БД новичок, прошу помощи в проектировании структуры.
В системе существуют посты, темы и юзеры. Необходимо организовать так, чтобы была максимальная производительность.
Посты соответствуют определенным темам из таблицы тем, по одному посту от юзера (не обязательно у юзера может быть пост).
Необходим доступ к списку постов конкретного юзера и темы каждого поста.
Так же необходим доступ к ответам всех юзеров по данной теме.

Мой алгоритм следующий:
Существует 4 таблицы: посты, темы, юзеры и отдельная таблица для каждого юзера (в качестве атрибута).
Для каждого объекта (пользователя) в таблице юзеров в качестве атрибута создавать отдельную таблицу в которой будут перечислены все темы и в соответствие им поставлены BOOL атрибут "наличие поста" и если есть, id поста в общей таблице постов.

Но не знаю, можно ли организовать вложенные таблицы (для юзеров), и как правильно (для оптимизации) так сделать.
Пока не уверен на счет СУБД, прочитал, что если просто необходимо дергать запросы, то безопасней и быстрей будет MySQL, вначале смотрел на PostgreSQL.
Буду очень благодарен за Ваши ответы. Спасибо
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
таблица тем, таблица пользователей, таблица сообщений.
сообщения - id сообщения, пользователь(связь с таблицей пользователей), тема (связь с таблицей тем), текст (при желании + дата +на какое сообщение ответ)
темы - id темы (связь с таблицей сообщений), название темы, автор (если надо. связь с таблицей пользователей)
пользователь - id пользователя (связь с таблицами тем и сообщений), имя + всякое разное типа почты, даты рождения и т.д.

как-то так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы