Разрешение отношений «многие ко многим» с использованием факта и единого общего ключа - PullRequest
0 голосов
/ 16 апреля 2020

У нас есть 3 таблицы, как показано ниже: 1) DimTask 2) FactTask 3) DimReason Как следует из названия, DimTask и DimReason являются измерениями, а FactTask является таблицей фактов. В таблицу DimTask записываются подробности задачи, такие как «Описание» и «Заголовок» задачи, где задача означает, что действие произошло как обслуживание / очистка. В таблице FactTask записываются такие меры, как сборы, сборы, время в минутах. В таблице DimReason указана цель, по которой произошло это действие, которое может быть несколько для одной задачи. Теперь DimTask и FactTask связаны / связаны через TaskID. Как мы справляемся с отношением DimReason в модели. 1) Должен ли я создать таблицу мостов и подключить ее к DimTask? 2) Могу ли я подключить DimReason к FactTask с тем же общим ключом «TaskID»? Или это плохая практика дизайна. Пожалуйста помоги.

1 Ответ

0 голосов
/ 29 апреля 2020

Без данных это сложно

Мысль 1

Похоже, DimReason не является измерением, скорее это должно быть Fact

DimTask :: TaskID> FactTask :: TaskID ... то, как ваши комментарии говорят как заголовок заказа, тип FactOrderHeader

DimTask :: TaskID> FactReason (вы называете DimReason) :: TaskID ... они обрабатывают ваши комментарии говорится как детали заказа, тип FactOrderDetails

Примечание. Действия с привязкой ко времени обычно представляют собой факты (за исключением)

Мысль 2 Многозначные измерения: https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/multivalued-dimension-bridge-table/

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...