В реляционной БД у меня может быть таблица Person
и таблица Hobby
. У каждого человека может быть ноль, одно или несколько хобби, и я также хочу записать, скажем, приоритет этих увлечений для каждого человека.
Я мог бы создать таблицу отношений с двумя внешними ключами PersonFK
и HobbyFK
и одним простым столбцом Priority
.
В datomic для моделирования простого отношения n:m (без приоритета) я, вероятно, создал бы атрибут типа Reference
с кардинальностью Many
, который я бы использовал для Person
сущностей.
Но как мне квалифицировать это отношение, чтобы иметь возможность сохранять приоритет? Должно ли это быть сделано аналогично реляционному случаю, то есть путем создания нового типа объекта только для этого отношения? Или есть лучший способ? Используя какое-то средство метаданных или что-то в этом роде?