Как обращаться один ко многим в схеме звезды? - PullRequest
0 голосов
/ 23 октября 2018

Мне нужен способ связать одного или нескольких дробных владельцев с самолетом в следующей схеме звезды (см. Диаграмму ниже).enter image description here

Является ли следующая диаграмма и пример правильного способа моделирования этой взаимосвязи в хранилище данных?

enter image description here

Самая распространенная потребность, с которой я, скорее всего, столкнусь, - это необходимость сообщать о количестве воздушных судов по общему числу владельцев.Есть ли более «правильный» способ моделирования этого?

1 Ответ

0 голосов
/ 03 ноября 2018

Присоединение к двум таблицам фактов - плохая идея.Многие инструменты BI даже не позволяют вам сделать это (разрешены только отношения 1: M).

Классический случай моделирования атрибута «многие ко многим» в схеме «звезда».Наиболее распространенным решением является создание таблицы мостов, которая связывает (в вашем случае) воздушное судно и владельцев (которые также могут изменяться во времени).«Владелец» станет измерением, связанным с таблицей фактов через мост.

Проблема с таблицами мостов заключается в том, что они серьезно усложняют модель и усложняют ее использование.По возможности я стараюсь их избегать.Я часто использую две распространенные методики проектирования:

  1. Подсчет количества долевых владельцев на самолет в хранилище данных и добавление его в качестве факта в таблицу фактов.Преимущество такого подхода - это самый простой и надежный дизайн.Недостаток - если вам нужно увидеть имена владельцев, вы не сможете (хотя вы можете частично решить эту проблему, объединив несколько владельцев в строку и добавив ее в качестве атрибута).

  2. Кроме того, вы можете заново составить таблицу фактов.В настоящее время фактом столового зерна является авиация.Вы можете изменить его на «владение самолетом» (т. Е. Самолет + владелец).Владельцы могут быть добавлены в качестве измерения и подключены к таблице фактов.Преимущества: модель все еще проста (без моста), а также надежна, и все же вы будете иметь полную видимость владельцев и их атрибутов.Недостатки: новое зерно может быть менее интуитивно понятным для аналитиков;размер таблицы фактов увеличивается (т. е. если у вас в среднем 3 владельца на самолет, ваша таблица фактов утроится).Кроме того, если у вас есть какие-либо дополнительные факты, такие как затраты и т. Д., Их придется распределять по владельцу (т. Е. Делить поровну или делить на% владения, если у вас есть данные), чтобы избежать двойного учета.

...