Суррогатный ключ как атрибут измерения
При моделировании данных допустимо, чтобы измерение имело суррогатный ключ к другому измерению в качестве атрибута или это всегда должен быть бизнес-ключ?
У меня есть измерение Item, у которого в качестве атрибута указан номер отдела. У меня также есть отдел отдела. Является ли допустимым для измерения элемента удержание SK в измерении отдела или просто бизнес-ключ?
1 ответ
Обычно вы избегаете использования в таблице как естественного, так и суррогатного ключа в качестве внешних ключей, поскольку это избыточно и может привести к несогласованности данных. Пример: кто-то обновляет естественные ключи и забывает также обновить суррогатный ключ.
Однако в хранилище данных, которому вы пометили свой запрос, избыточность не так часто считается проблемой. Обычно существует система обработки транзакций с множеством вставок, обновлений и удалений, а также хранилище данных. Хранилище данных получает все свои данные, красиво расположенные из системы обработки, и просто нет обновлений, как упомянуто выше. Если данные избыточны, кого это волнует? Это упрощает доступ к данным. Вы даже можете сохранить объединение сотрудников и отделов в виде таблицы со всеми избыточными данными отдела. Хранилище данных - это простой и быстрый доступ к данным, чтобы упростить отчетность. Избыточные внешние ключи не являются проблемой в хранилище данных.