2010-06-29 6 views
2

Моя таблица фактов содержит оценку пользователя в курсе, который он взял. Некоторые детали курса, которые я должен показать в отчете, поступают из более чем одной таблицы (в фактическом OLTP-дБ).
Создать ни одну нормализованную версию этой записи курса в таблице измерений?
Или я просто присоединяюсь к таблице фактов непосредственно к таблице курса, присоединяюсь к другим таблицам, которые описывают этот курс (курс_тип, преподаватель, создавший этот курс и т. Д.)Как избежать сложных объединений в схеме звезд?

ответ

1

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

Если вы хотите опубликовать модель (схему), было бы проще прокомментировать/помочь.

+0

У меня нет проблем с присоединением одного шага к измерению. Но давайте скажем, что это измерение содержит дополнительные внешние ключи, а это значит, что мне нужно еще больше присоединиться к таблице ** dimension ** к некоторой таблице поиска или даже к более таблицам. –

+0

Звучит как дизайн снежинки. Ничего плохого в этом, если у дизайнера DW есть веская причина, почему снежинка. –

2

Снежинки или мостовые таблицы делают объединение сложнее, а не только с точки зрения кодирования, это также делает его менее простым для пользователей BI.

В большинстве случаев я бы поставил их непосредственно в существующие или дополнительные таблицы размеров.

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

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

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

1

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

помнить также, что в то время как вы получаете снижение присоединиться накладные расходы, есть некоторые недостатки:

  • Потеря гибкости, которая может помешать развитию как склад расширяет
  • Полное сканирование таблиц занимает больше времени (в традиционном строка на основе СУБД, таких как SQL Server)
  • диска потребление пространства

Вы должны рассматривать каждый случай отдельно.

Возможно, стоит рассмотреть возможность создания материализованного представления, если такая возможность предоставляется вашей РСУБД.

0

Обычно у нас есть схема снежинок как физический дизайн DWH, но добавьте слой представления отчетности, который выравнивает схему снежинки в схему звезды.

Таким образом, ваш кубик OLAP становится намного проще и легче управлять.

 Смежные вопросы

  • Нет связанных вопросов^_^