Моделирование звездной схемы - многие ко многим - PullRequest
2 голосов
/ 30 сентября 2011

Я создаю хранилище данных на основе статистики НФЛ для образовательных целей, изучая эту парадигму - у меня есть следующая проблема моделирования

Игроки могут играть за разные команды в разные годы, и тренеры также могут тренировать разные команды в разные годы своей карьеры; игроки также могут потенциально играть разные позиции в разные годы (редко, но возможно)

Как лучше всего моделировать распределение между игроками, тренерами и командами на разные годы?

Буду ли я хранить учетную информацию разных лет в измерении? например, DimTeamRoster, который будет иметь TimeKey, TeamKey и CoachKey (поскольку в команде может быть только один главный тренер) с FactTeamRoster с TeamRosterKey, PlayerKey, Positionkey

Или у меня был бы FactTeamRoster, который имел бы TimeKey, TeamKey, PlayerKey, PositionKey? Но тогда этот подход будет иметь смысл, потому что эта таблица фактов не будет на самом деле хранить какие-либо показатели, она будет просто хранить назначение на этот год

Каковы некоторые другие возможные решения и плюсы / минусы / правильности каждого подхода?

1 Ответ

2 голосов
/ 30 сентября 2011

Для начала это подойдет - я думаю.

enter image description here

dimRole может выглядеть как

RoleKey     RoleName        RoleGroup
---------------------------------------
  1         quarterback      player
  2         tackle           player
  3         head coach       coach
  4         assistant coach  coach
...