Книга инструментария хранилища данных Ральфа Кимбалла - Дизайн витрины жизненного цикла заказа - PullRequest
4 голосов
/ 22 апреля 2011

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

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

Разве это не ограничение?Разве строка за транзакцию не будет лучшим выбором?

1 Ответ

2 голосов
/ 22 апреля 2011

Дизайн часто требует компромиссов, и трудно понять, какой дизайн лучше, если не знать подробностей всей системы.

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

Мне кажется, это хороший ответ: ваша строка на транзакцию звучит лучше для таблиц сбора данных, в которых хранятся повседневные данные транзакций, но не настолько хороши для анализа.

...