2013-08-25 9 views
7

База данных OLAP состоит из данных в денормализованной форме. Это означает, что избыточность данных и избыточность этих данных помогают извлекать данные за счет меньшего количества соединений, что облегчает быстрый поиск.Является ли схема звезд денормализованной схемой?

Но популярный дизайн для базы данных OLAP - это модель фактического измерения. В таблице фактов будут храниться числовые данные, основанные на фактах (№ продаж и т. Д.), В то время как таблицы измерений будут хранить «описательные атрибуты», связанные с фактом, то есть сведения о клиенте, для которого была произведена продажа.

Мой вопрос в том, что в этом дизайне он вообще не денормализован, так как все таблицы измерений будут иметь ссылки на внешние ключи к таблице фактов. Как он отличается от OLTP-дизайна?

ответ

7

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

Это означает, что вы имеете нормализацию в отношении фактов, но прекратите нормализовать таблицы размеров.

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

+0

@FrankPI, если у меня есть нормализованная иерархия как обследования, вопрос, подвопрос, AnswerChoices - Вы сказали бы 1 размер таблицы ж/столбцов: SurveyID, QuestionID, SubQuestionID, AnswerChoiceID, ... [атрибуты обследований, вопросы, подвопросы и AnswerChoices? Это будет в отличие от таблиц DimSurvey, DimQuestion, DimSubQuestion и т. Д. ...? – condiosluzverde

+0

@jmsmcfrlnd Это зависит от того, как вы хотите запросить его, я. е. какие запросы будут выполняться? Возможно, это также зависит от инструмента, который вы хотите использовать, и от его возможностей запроса. – FrankPl

+0

@FrankPI Инструментом для использования этих данных является Cognos, используя Framework для построения моделей логических данных для запроса. мы будем запрашивать/анализировать ответы на вопросы опроса (в таблице фактов), но анализировать сами опросы (например, какие вопросы выполняются «лучше» над другим и т. д. – condiosluzverde