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