Я не совсем уверен, что использую хорошие термины, поэтому сначала я попытаюсь объяснить мою проблему.
У меня есть таблица перекрестных ссылок, CompetenceCollab
, содержащая связи между людьми и их компетенциями. Эта таблица имеет два первичных ключа: идентификатор пользователя и идентификатор компетенции. На данный момент все в порядке.
Однако новая функция, которую я должен добавить, заключается в следующем: люди должны иметь возможность добавлять оценки к компетенциям других людей. По сути, это означает, что мне нужно добавить новую таблицу, которая будет содержать примечание, кто ее дал, и каким-то образом ссылку на таблицу CompetenceCollab
. Один коллега сказал мне, что я могу использовать то, что он назвал «альтернативным ключом», определив два внешних ключа, по одному для каждого первичного столбца CompetenceCollab
, и сообщив базе данных, что каждый рейтинг связан с компетенцией и людьми.
Итак, мои вопросы следующие:
- Прежде всего, этот дизайн кажется совершенно безумным, и если это так, то как мне быть?
- Я должен использовать Doctrine ORM в Symfony. Это возможно, используя это? Если да, может ли кто-нибудь дать мне способ определить его в файле YAML?
Спасибо за помощь, не стесняйтесь задавать вопросы в комментариях, я не знаю, был ли я действительно так ясен.