Різниця між таблицею фактів і таблицею розмірів?


113

Читаючи книгу для бізнес-об’єктів, я натрапив на таблицю термінів та таблицю вимірів.

Я намагаюся зрозуміти, чим відрізняється таблиця розмірів від таблиці Факти?

Я прочитав пару статей в Інтернеті, але не зміг зрозуміти.

Будь-який простий приклад допоможе мені зрозуміти краще?


Концепція досить довга, щоб описати її докладно, якщо у вас є конкретна проблема поза основним визначенням, будь ласка, повідомте про це.
NoChance

В основному я намагався зрозуміти, чи можуть таблиці вимірів також бути таблицею фактів чи ні?

Відповіді:


53

Це відповідь на частину:

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

Коротка відповідь (INMO) - Ні. Це тому, що два типи таблиць створюються з різних причин. Однак, з точки зору проектування бази даних, таблиця вимірів може мати батьківську таблицю, як у випадку з таблицею фактів, у якій завжди є таблиця вимірів (або більше) як батьківська. Також таблиці фактів можуть бути агреговані, тоді як таблиці розмірів не агреговані. Інша причина полягає в тому, що таблиці факти не повинні оновлюватися на місці, тоді як таблиці розмірів можуть бути оновлені на місці в деяких випадках.

Детальніше:

Таблиці фактів і розмірів відображаються у тому, що зазвичай називається «Зірка». Основна мета зіркової схеми - спростити складний нормований набір таблиць і консолідувати дані (можливо, з різних систем) в одну структуру бази даних, яку можна запитувати дуже ефективно.

У своїй найпростішій формі вона містить таблицю фактів (Приклад: StoreSales) та одну або кілька таблиць розмірності. Кожен запис параметрів має 0,1 або більше таблиць фактів, пов'язаних з ним (Приклад таблиць розмірів: Географія, Елемент, Постачальник, Замовник, Час тощо). Було б справедливим і розмір мати батьківський, і в цьому випадку модель має тип "Снігова луска". Однак дизайнери намагаються уникнути подібного дизайну, оскільки це спричиняє більше приєднань, які сповільнюють продуктивність. У прикладі StoreSales параметр Географія може складатися із стовпців (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)

У моделі Снігових пластівців у вас могли бути дві нормалізовані таблиці для геоінформації, а саме: Таблиця вмісту, Таблиця країн.

На Зоряній схемі ви можете знайти безліч прикладів. Також перевірте це, щоб побачити альтернативний вигляд зіркової схеми моделі Inmon vs. Kimball . У Kimbal є хороший форум, який ви також можете перевірити тут: Kimball Forum .

Редагувати: Щоб відповісти на коментар щодо прикладів для 4NF:

  • Приклад таблиці фактів, що порушує 4NF:

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

  • Приклад таблиці фактів, що не порушує 4NF:

Зведені продажі (BranchID, TotalAmount)

Тут відношення знаходиться в 4NF

Останній приклад досить рідкісний.


1
Деякі таблиці фактів відображають дані про рівень транзакцій. Деякі відображають узагальнені дані. Таблиця фактів зіркової схеми не повинна містити навіть 3NF. Наприклад, Факт продажів може містити такі дані, як (ID, BranchID, сума, SalesPerson, час) - Це порушує 3NF, BCNF та 4NF, оскільки залежність від SalesPerson та Branch. Відповідно, неправда, що типова таблиця фактів знаходиться в 4NF.
NoChance

258

У моделюванні сховищ даних схема зірки та схема сніжинки складається з таблиць фактів і розмірів .

Таблиця фактів:

  • Він містить усі первинні ключі виміру та пов'язані з ними факти чи заходи (властивість, за якою можна проводити розрахунки), наприклад, продана кількість, продана кількість та середній обсяг продажів.

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

  • Таблиці розмірів надають описову інформацію для всіх вимірювань, записаних у фактичній таблиці.
  • Розміри порівняно дуже малі порівняно з таблицею фактів.
  • Зазвичай використовувані розміри - це люди, продукти, місце та час.

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

джерело зображення


52
це набагато корисніше, ніж прийнята відповідь
Booji Boy

15
Ну а малюнок вартий тисячі слів. Я нічого не зрозумів, читаючи інші відповіді, але ця врятувала мене.
Один

Розміри виглядають відносно великими порівняно з таблицею фактів на діаграмі, оскільки вона має більше описових даних. І їх також більше за кількістю
Blue Clouds

1
@Blue Clouds: Ви повинні усвідомити, що таблиця фактів містить один запис для кожної можливої ​​комбінації для dim (принаймні, якщо є дані). У той час як параметр "Місцеположення" на максимумі буде містити один запис для кожного можливого місця (скажімо, 50 точок продажу) і зростатиме рідко, коли будуть додані нові пози, таблиця Фактів, ймовірно, зростатиме щодня за місцем розташування х елементів x гілок. Отже, факти отримають велику кількість записів досить швидко.
Даніель

@Premraj Чи може таблиця фактів існувати без первинного ключа?
Калана

109

Здається, це дуже проста відповідь про те, як розрізняти таблиці фактів і розмірів!

Це може допомогти думати про виміри як речі або предмети. Така річ, як продукт, може існувати без будь-якого залучення до ділової події. Вимір - це ваш іменник. Це щось, що може існувати незалежно від ділової події, наприклад продажу. Продукти, працівники, обладнання - це все, що існує. Вимір або щось робить, або щось робить для цього.

Працівники продають, клієнти купують. Співробітники та замовники - приклади розмірів, які вони роблять.

Продукція продається, вони також мають розміри, оскільки їм щось зроблено.

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

Крім того, у таблицях фактів також зазвичай є якісь кількісні дані. Кількість проданої, ціна за товар, загальна ціна тощо.

Джерело: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/


5
Чудова писемність, для розуміння концепції потрібно було лише 5 хвилин.
user1951

Підводячи підсумок: виміри є атрибутами фактів-подій. DAFE. Що ти робиш, DAFE?
youcantryreachingme

3
Так, я їх пам’ятаю. Це зворотній бік того, що ви думаєте. Ви можете подумати, що факти встановлені в камені, а розміри - динамічні, засновані на самих словах. Але навпаки: основна тьмяна таблиця - це досить статичний список пошуку, а основна таблиця фактів - це живі дані, які вводяться.
unrline

1
Це було моє улюблене пояснення і змусило його натиснути мені в голову, дякую!
Арджун Арун

9

Цю відповідь мені було легше зрозуміти з точки зору людини, яка не знає багато термінології DB / DW.

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

Я рекомендую спочатку пройти це питання, а потім пройти відповідь Еммада Карема для більш детальної деталізації. Сподіваюся, це корисно.


1
Перше пояснення, яке було абсолютно зрозумілим. Дуже корисний приклад, простою мовою, що розкриває деякі деталі. Тепер я нарешті це зрозумів.
sharon

Дуже приємно ... Я думаю, ти маєш рацію ... прочитай це спочатку. Усі відповіді корисні ... але в цьому є спосіб вербалізувати концепцію в більш "людських" термінах.
Новичок коду

4

Супер просте пояснення:

Таблиця фактів: таблиця даних, яка відображає ідентифікатори пошуку разом. Зазвичай це одна з основних таблиць, яка є центральною для вашої програми.

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


2

У найпростішій формі я думаю, що таблиця вимірів є чимось на зразок таблиці "Master" - яка зберігає перелік усіх "елементів", так би мовити.

Таблиця фактів - це таблиця транзакцій, яка описує всі транзакції. Крім того, узагальнені (згруповані) дані, такі як загальний обсяг продажів за особою продажу, загальний обсяг продажів за галузями - такі види таблиць також можуть існувати як незалежні таблиці фактів.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.