Если у меня есть такая структура таблицы:
Транзакция [TransID, ...]
Документ [DocID, TransID, ...]
Signer [SignerID, ...]
Подпись [SigID, DocID, SignerID, ...]
И бизнес-логика выглядит так:
- Транзакции могут иметь несколько документов
- Документы могут иметь несколько подписей
- И тот же подписчик может
иметь несколько подписей в
несколько документов в пределах
та же транзакция
Итак, теперь к моему актуальному вопросу:
Если бы я хотел найти все документы в конкретной транзакции, было бы лучше с точки зрения производительности, если бы я также сохранил TransID и DocID в таблице Signer, чтобы у меня были меньшие объединения. В противном случае мне пришлось бы присоединиться через Подпись> Документ> Транзакция> Документы, чтобы получить все документы в транзакции для этого подписавшего.
Я думаю, что очень грязно иметь такое количество связей в таблице Signer, хотя и не кажется «правильным» делать это таким образом (также это похоже на кошмар обновления), но я вижу, что это может быть лучшая производительность для прямых присоединений. Мысли?
ТИА!