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 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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