Разница между таблицей фактов и таблицей измерений?

113

Читая книгу по бизнес-объектам, я наткнулся на таблицу терминов и фактов и таблицу измерений.

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

Я прочитал пару статей в Интернете, но не смог их понять ..

Любой простой пример поможет мне лучше понять?


источник
Концепция довольно длинная, чтобы подробно описать ее, если у вас есть конкретная проблема, выходящая за рамки основного определения, сообщите нам об этом.
NoChance
По сути, я пытался понять, могут ли таблицы измерений быть таблицей фактов или нет?

Ответы:

53

Это ответ на часть:

Я пытался понять, могут ли таблицы измерений быть таблицей фактов или нет?

Короткий ответ (INMO): нет, потому что 2 типа таблиц создаются по разным причинам. Однако с точки зрения проектирования базы данных таблица измерений может иметь родительскую таблицу, как в случае с таблицей фактов, которая всегда имеет таблицу измерений (или несколько) в качестве родительской. Кроме того, таблицы фактов могут быть агрегированы, тогда как таблицы измерений не агрегированы. Другая причина заключается в том, что таблицы фактов не должны обновляться на месте, тогда как таблицы измерений в некоторых случаях могут обновляться на месте.

Подробнее:

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

В своей простейшей форме он содержит таблицу фактов (пример: StoreSales) и одну или несколько таблиц измерений. С каждой записью измерения связано не менее 0,1 таблицы фактов (пример таблиц измерений: география, позиция, поставщик, клиент, время и т. Д.). Допустимо также, чтобы у измерения был родитель, и в этом случае модель имеет тип "Snow Flake". Однако дизайнеры стараются избегать такого дизайна, поскольку он вызывает большее количество соединений, что снижает производительность. В примере StoreSales измерение "География" может состоять из столбцов (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)

В модели Snow Flakes у вас может быть 2 нормализованных таблицы для геоинформации, а именно: Content Table, Country Table.

Вы можете найти множество примеров на Star Schema. Кроме того, проверьте это, чтобы увидеть альтернативный взгляд на модель звездной схемы Инмон против Кимбалла . У Кимбала есть хороший форум, вы также можете посетить здесь: Форум Кимбалла .

Изменить: чтобы ответить на комментарий о примерах для 4NF:

  • Пример таблицы фактов, нарушающей 4НФ:

Факт продаж (ID, BranchID, SalesPersonID, ItemID, Amount, TimeID)

  • Пример таблицы фактов, не нарушающей 4НФ:

AggregatedSales (BranchID, TotalAmount)

Здесь соотношение находится в 4НФ

Последний пример довольно необычный.

Без шансов
источник
1
Некоторые таблицы фактов отражают данные на уровне транзакций. Некоторые отражают агрегированные данные. Таблица фактов в схеме "звезда" не обязательно должна быть даже в 3NF. Например, факт продаж может содержать такие данные, как (ID, BranchID, Amount, SalesPerson, Time) - это нарушает 3NF, BCNF и 4NF, потому что зависимость SalesPerson и Branch. Соответственно, неверно, что типичная таблица фактов находится в 4NF.
NoChance
260

В моделировании хранилищ данных, звезда схема и схема Снежинки состоят из Факта и Dimension таблиц.

Таблица фактов:

  • Он содержит все первичные ключи измерения и связанные с ними факты или меры (это свойство, по которому могут производиться вычисления), такие как проданное количество, проданное количество и средние продажи.

Таблицы размеров:

  • Таблицы измерений предоставляют описательную информацию для всех измерений, записанных в таблице фактов.
  • По сравнению с таблицей фактов размеры относительно очень малы.
  • Обычно используемые параметры - это люди, продукты, место и время.

введите описание изображения здесь

источник изображения

Премрадж
источник
53
это намного
полезнее,
15
Что ж, картинка стоит тысячи слов. Я ничего не понял, читая другие ответы, но этот меня спас.
The One
Измерения выглядят относительно большими по сравнению с таблицей фактов на диаграмме, так как в ней содержится больше описательных данных. И их тоже больше
Blue Clouds
1
@Blue Clouds: вы должны понимать, что таблица фактов содержит одну запись для каждой возможной комбинации для dim´s (по крайней мере, если есть данные). В то время как измерение местоположения будет максимально содержать одну запись для каждого возможного местоположения (скажем, 50 точек продаж) и будет редко увеличиваться, при добавлении новых позиций таблица фактов, вероятно, будет расти каждый день по местоположению x элементов x ветвям. Итак, факты довольно быстро станут большим количеством записей.
Даниэль
@Premraj Может ли таблица фактов существовать без первичного ключа?
Калана
111

Кажется, это очень простой ответ на вопрос, как отличить таблицы фактов от таблиц измерений!

Может быть полезно думать о размерах как о вещах или объектах. Такая вещь, как продукт, может существовать, даже не будучи вовлеченной в деловое мероприятие. Ваше существительное - это измерение. Это то, что может существовать независимо от делового события, такого как распродажа. Продукты, сотрудники, оборудование - это все, что существует. Измерение либо что-то делает, либо что-то с ним делает.

Сотрудники продают, покупатели покупают. Сотрудники и клиенты являются примерами размеров, они это делают.

Товары продаются, они же габариты, так как с ними что-то сделали.

Факты - это глагол. Запись в таблице фактов отмечает дискретное событие, которое происходит с чем-то из таблицы измерений. Продажа продукта будет записана в таблице фактов. Событие продажи будет отмечаться по тому, какой продукт был продан, какой сотрудник продал его и какой покупатель его купил. Продукт, Сотрудник и Клиент - все измерения, которые описывают событие, продажу.

Кроме того, таблицы фактов обычно содержат какие-то количественные данные. Проданное количество, цена за единицу, общая цена и т. Д.

Источник: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/

AeyJey
источник
5
Отличное письмо, потребовалось всего 5 минут, чтобы понять концепцию.
user1951
Подводя итог: измерения - это атрибуты фактов-событий. DAFE. Что ты делаешь, DAFE?
youcantryreachingme
3
Да, такими я их помню. Это противоположно тому, что вы думаете. Можно подумать, что факты высечены в камне, а измерения динамичны, если судить по самим словам. Но все наоборот: базовая тусклая таблица представляет собой довольно статичный поисковый список, а базовая таблица фактов - это живые данные, которые вводятся.
undrline
1
Это было мое любимое объяснение, и оно щелкнуло в моей голове, спасибо!
Арджун Арун,
9

Я нашел этот ответ более легким для понимания с точки зрения человека, который не разбирается в терминологии DB / DW.

http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm

Я рекомендую сначала пройти через это, а затем просмотреть ответ Эммада Карима для большей детализации. Надеюсь, это поможет.

aa8y
источник
1
Первое объяснение, которое было совершенно ясным. Очень полезный пример простым непрофессиональным языком, раскрывающий некоторые детали. Теперь я наконец понял.
Sharon
Очень мило ... Думаю, вы правы ... прочтите сначала. Все ответы полезны ... но у этого есть способ выразить концепцию в более «человеческих» терминах.
Code Novice
4

Супер простое объяснение:

Таблица фактов: таблица данных, которая сопоставляет идентификаторы поиска вместе. Обычно это одна из основных таблиц в вашем приложении.

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

ОтносительностьSQL
источник
2

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

Таблица фактов - это таблица транзакций, в которой описаны все транзакции. Кроме того, агрегированные (сгруппированные) данные, такие как общий объем продаж по продавцам, общий объем продаж по отраслям - такие типы таблиц также могут существовать как независимые таблицы фактов.

user5729371
источник
2

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

Таблица фактов содержит измерения бизнес-процессов и внешние ключи для таблиц измерений.

Пример. Бизнес-процесс - производство кирпича.

Среднее количество кирпичей, произведенных одним человеком / машиной - показатель бизнес-процесса

Шрирадж
источник
1
  1. Таблица фактов в основном состоит из бизнес-фактов и внешних ключей, которые относятся к первичным ключам в таблицах измерений. Таблица измерений состоит в основном из описательных атрибутов, которые являются текстовыми полями.
  2. Таблица измерения содержит суррогатный ключ, естественный ключ и набор атрибутов. Напротив, таблица фактов содержит внешний ключ, измерения и вырожденные измерения.
  3. Таблицы измерений предоставляют описательную или контекстную информацию для измерения таблицы фактов. С другой стороны, таблицы фактов предоставляют измерения предприятия.
  4. При сравнении размеров двух таблиц таблица фактов больше, чем таблица измерений. В сравнительной таблице представлено больше измерений, чем в таблицах фактов. В таблице фактов наблюдается меньшее количество фактов.
  5. Сначала необходимо загрузить таблицу размеров. При загрузке таблиц фактов необходимо смотреть на таблицу измерений. Это связано с тем, что в таблице фактов есть меры, факты и внешние ключи, которые являются первичными ключами в таблице измерений.

Подробнее: Таблица размеров и Таблица фактов | Разница между | Таблица размеров и таблица фактов http://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo

гость
источник
-3

Таблица измерений: это не что иное, как мы можем поддерживать информацию о характерной дате, называемой таблицей измерений.

Пример: измерение времени, измерение продукта.

Таблица фактов: это не что иное, как мы можем поддерживать информацию о метриках или данных предварительного расчета.

Пример: факт продаж, факт заказа.

Схема «звезда»: одна ссылка на таблицу фактов с формой таблицы измерений в качестве начальной схемы.

введите описание изображения здесь

Махешвар Редди
источник
2
(Этот пост не дает качественного ответа на вопрос. Измените свой ответ или просто опубликуйте его как комментарий к вопросу).
sɐunıɔ ןɐ qɐp