Должен ли первичный ключ в таблице измерений быть частью первичного ключа в таблице фактов? - PullRequest
0 голосов
/ 14 февраля 2019

У нас есть схема «звезда» с очень большой таблицей фактов и около 20 таблиц измерений, разумеется, PK из таблиц измерений должен быть FK в таблице фактов.

Но делать все эти FK вТаблица фактов тоже должна быть частью PK?

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

Это правда?Это хорошая практика?

Если моя таблица фактов имеет 20 измерений, должна ли таблица фактов PK быть составной для этих 30 атрибутов?

1 Ответ

0 голосов
/ 14 февраля 2019

Это хорошая практика, потому что она помогает гарантировать, что все ваши факты ссылаются на существующие элементы измерения, и может улучшить производительность в некоторых СУБД , но, как и в случае любого другого дизайна / подхода, это не обязательно.

Составные ключи для таблиц фактов на самом деле являются рекомендуемой практикой методологии трехмерного моделирования Kimball , а именно потому, что:

В большинстве сред этого составного ключа будет достаточно, так какпервичный ключ к таблице фактов.Обычно нет никакого преимущества в назначении суррогатного ключа для строк фактов на логическом уровне, потому что мы уже определили, что делает строку таблицы фактов уникальной.

...