Що таке табела: визначення та основне призначення
Термін «табела» походить з португальської мови, де слово «tabela» означає «таблиця». У контексті сучасних інформаційних технологій, систем керування базами даних та бізнес-аналітики, це поняття набуло більш конкретного значення. Найчастіше під цим словом мають на увазі табелу фактів (tabela de fatos), яка є центральним елементом моделі даних у сховищах даних. Вона зберігає кількісні показники бізнес-процесів, такі як сума продажів, кількість кліків або обсяг запасів.
На відміну від вимірних таблиць, які містять описову інформацію (наприклад, назву продукту, категорію клієнта або дату), табела фактів зосереджена на метриках. Її основне призначення — забезпечити можливість агрегації даних та створення аналітичних звітів. Розуміння структури та принципів роботи з табелою є ключовим для фахівців з аналізу даних, інженерів даних та всіх, хто працює з великими обсягами інформації.
Структура табели фактів: іноземні ключі та міри
Типова табела фактів має досить просту, але чітку структуру. Вона складається з двох основних типів колонок. Перший тип — це іноземні ключі, які забезпечують зв'язок з вимірними таблицями. Наприклад, у табелі фактів продажів будуть такі ключі: «Код_дати», «Код_продукту», «Код_клієнта», «Код_магазину». Ці колонки не містять змістовних назв, а лише посилання на записи у вимірних таблицях, що дозволяє уникнути дублювання даних та підтримувати цілісність бази даних.

Другий тип колонок — це числові міри, або власне факти. Це кількісні показники, які безпосередньо вимірюють певний процес. У випадку продажів це можуть бути колонки «Сума», «Кількість_одиниць», «Собівартість», «Прибуток». Саме ці значення аналітики потім використовують у звітах для обчислення сум, середніх значень, мінімумів та максимумів. Важливо, що всі міри мають бути числовими, щоб до них можна було застосовувати математичні операції.
Основні типи табел: транзакційні, періодичні та накопичувальні
Залежно від того, як часто та яким чином дані потрапляють до сховища, розрізняють кілька типів табел фактів. Кожен з них має свої особливості та призначення. Розглянемо три основні види.
Транзакційна табела (transaction fact table) є найпоширенішим типом. Вона фіксує кожну окрему подію або операцію в системі. Наприклад, кожен чек у магазині, кожен перехід на сайті або кожна сплата рахунку. Ключова особливість — у цій табелі зберігається величезна кількість записів, кожен з яких є унікальною транзакцією. Вона ідеально підходить для аналізу динаміки продажів по днях або годинах.

Періодична табела знімків (periodic snapshot table) зберігає стан певного процесу на конкретний момент часу. Замість фіксування кожної події, вона регулярно (наприклад, щодня або щомісяця) робить «знімок» показників. Наприклад, залишки товарів на складі на кінець кожного робочого дня або кількість активних користувачів на кінець місяця.
Накопичувальна табела знімків (accumulating snapshot table) відстежує прогрес виконання тривалого процесу. Найчастіше використовується для бізнес-процесів з чітко визначеними етапами, таких як обробка замовлення. У цій табелі зберігаються дати проходження кожного етапу (замовлення, пакування, відправка, доставка) для одного запису, а ключові міри оновлюються, коли процес переходить на нову стадію.
Як табела фактів використовується в бізнес-аналітиці
Правильне використання табели фактів є основою для створення дієвих звітів та отримання інсайтів. Аналітики комбінують дані з табел фактів та вимірів, щоб відповісти на запитання на кшталт: «Скільки грошей ми заробили минулого тижня в регіоні Центр?» або «Який наш найпопулярніший товар серед клієнтів віком 25-34 роки?». Ключова перевага такої схеми полягає у швидкості виконання запитів до бази даних.

Агрегація даних в табелі фактів дозволяє використовувати інструменти Business Intelligence (BI). При підключенні до таблиці фактів ці інструменти автоматично розпізнають числові міри та пропонують користувачеві будувати на їх основі графіки, діаграми та зведені таблиці. Завдяки цьому менеджери можуть самостійно досліджувати дані, не відволікаючи фахівців з інформаційних технологій на кожен новий звіт.
Приклад: табела фактів продажів в інтернет-магазині
Щоб краще зрозуміти, як виглядає табела на практиці, розглянемо спрощений приклад для інтернет-магазину. Уявимо, що у нас є вимірні таблиці: «Дата», «Клієнт», «Товар» та «Спосіб доставки». Табела фактів продажів буде включати іноземні ключі до цих таблиць та числові міри.
Нижче наведено приклад структури такої табели з кількома записами.

| Код_Продажу | Код_Даты | Код_Клиента | Код_Товара | Код_Доставки | Сума | Кількість |
|---|---|---|---|---|---|---|
| 1001 | 20240115 | 501 | 3001 | 201 | 1500,00 | 2 |
| 1002 | 20240115 | 502 | 3005 | 202 | 800,50 | 1 |
| 1003 | 20240116 | 501 | 3002 | 201 | 3200,00 | 5 |
У цьому прикладі «Сума» та «Кількість» є мірами. Іноземні ключі не мають змістовного навантаження, але дозволяють «розшифрувати» дату, клієнта та товар через зв'язки з іншими таблицями. Саме така нормалізована структура робить сховище даних ефективним. Правильне проектування табели фактів є одним з кроків до створення надійної системи бізнес-аналітики.
Основні відмінності табели фактів від вимірних таблиць
Для новачків часто виникає плутанина між цими двома типами таблиць. Їх ключові відмінності можна звести до наступного переліку.
- Табела фактів містить числові міри; вимірна таблиця — описові атрибути (текст, дати, категорії).
- Табела фактів має складовий ключ, що складається з іноземних ключів; вимірна таблиця має простий первинний ключ.
- Табела фактів зазвичай дуже велика за обсягом записів; вимірні таблиці значно менші та змінюються рідше.
- В табелі фактів дані постійно додаються або оновлюються (особливо у накопичувальних знімках), тоді як вимірні таблиці є відносно статичними.
- Мета табели фактів — забезпечити аналіз; мета вимірної таблиці — надати контекст для цього аналізу.
Поради щодо правильного використання табели
Ефективне використання табели в архітектурі даних вимагає дотримання кількох принципів. По-перше, завжди зберігайте міри на найнижчому рівні деталізації, оскільки згодом дані можна агрегувати, але не дезагрегувати. Наприклад, краще зберігати суму кожної позиції в чеку, ніж суму цілого чека. Це дозволить аналізувати продажі окремих товарів.

По-друге, уникайте зберігання в табелі фактів текстових полів, які можуть змінюватися. Наприклад, не треба зберігати колонку «Ім'я_продавця» в табелі фактів, якщо він може перейти в інший відділ. Замість цього створіть окрему вимірну таблицю для продавців і використовуйте іноземний ключ. Дотримання цих простих правил допоможе уникнути помилок та спростить адміністрування бази даних у майбутньому. Для глибшого розуміння теми раджу ознайомитися з матеріалами на сайті Kimball Group, які є одними з найавторитетніших у сфері моделювання даних.Детальніше про принципи побудови табел можна дізнатися тут.
Список використаних джерел та літератури
Під час написання статті було використано інформацію з наступних ресурсів, які допомогли забезпечити точність та актуальність даних.
- Вікіпедія — стаття «Fact table» (англійською мовою). Надає базове визначення та опис структури табели фактів.Переглянути джерело.
- Документація Microsoft Fabric — розділ про вимірне моделювання табел фактів. Містить практичні рекомендації для фахівців.
- Офіційний блог групи Kimball Group — стаття «Fact Tables». Є одним з фундаментальних матеріалів з теорії сховищ даних.
- Monte Carlo Data — матеріал «Fact Vs. Dimension Tables Explained». Допомагає чітко розмежувати поняття фактів та вимірів.
- Вікіпедія (португальською мовою) — стаття «Tabela de fatos». Розкриває значення терміна «tabela» в португаломовному контексті.





