Я понимаю, что нам не нужны обычные сводные таблицы в datomi c, потому что мы можем просто выбрать одну сторону отношения и добавить туда атрибут :db.cardinality/many
(обязательно смоделировать отношение в одном только направление ).
Следующая вещь, с которой я сталкиваюсь при конвертации из sql, - это сводная таблица, в которой также хранится атрибут отношения, например:
series_subscriptions
user_id int
series_id int
expires_at timestamp
Я был интересно, какие варианты моделировать это в datomi c. Я заметил, что в схеме есть некоторые вещи, для которых я еще не понимаю причину или подходящее использование, такие как составные кортежи, компоненты.
Один из вариантов, хотя и поднимает стержень к своей собственной сущности, чтобы он мог обрабатывать дополнительный атрибут:
:series-subscription/user ; ref, one
:series-subscription/series ; ref, one
:series-subscription/timestamp ; timestamp, one
Но вышеприведенное кажется немного неправильным. Выполнение этого означает, что в журнале регистрации данных соединение больше не будет неявным, что может привести к потере. Интересно, есть ли лучшие варианты?