Задать вопрос
savostin
@savostin
Еще один программист

Как организовать БД в данном случае?

Необходимо создать таблицу для хранения "действий" пользователей (user_id) над "субъектами".
Субъектом может быть одно из нескольких ID разного рода, с разными собственными параметрами.
Ну, например:
Таблица subj1: subj_1_id, subj1_name, subj1_param1, ..., subj1_paramN
Таблица subj2: subj_2_id, subj2_name, subj2_param2, ..., subj2_paramM
и т.д.
В таблице действий нужно хранить user_id, тип действия (enum), какой-то набор параметров действия одинаковый для всех действий и id субъекта (subj1_id или subj2_id или...).
Как эту таблицу лучше составить, чтобы работали скажем FOREIGN KEY, не было путанницы с ID субъекта, целостность данных и пр. красота? Делать отдельную таблицу для каждого subj как-то некрасиво, да и потом с UNION'ом замучаешься получать скажем список всех действий пользователя. Для каждого subj свою колонку? Тоже как-то нерационально.
Кто как делает?
  • Вопрос задан
  • 384 просмотра
Подписаться 3 Оценить 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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