Fakta a dimenze tvoří jádro jakéhokoli úsilí v oblasti business intelligence. Tyto tabulky obsahují základní údaje používané k provádění podrobných analýz a odvození obchodní hodnoty. Tento článek se zabývá vývojem a používáním faktů a dimenzí v databázi.
Co jsou fakta a tabulky faktů?
Tabulky faktů obsahují data odpovídající konkrétnímu obchodnímu procesu. Každý řádek představuje jednu událost spojenou s procesem a obsahuje data měření spojená s touto událostí.
Maloobchodní organizace může mít například tabulky faktů související s nákupy zákazníků, telefonními hovory zákaznických služeb a vracením produktů. Tabulka nákupů zákazníků bude pravděpodobně obsahovat informace o částce nákupu, případných slevách a zaplacené dani z obratu.
Informace obsažené v tabulce faktů jsou typicky číselná data a často jde o data, se kterými lze snadno manipulovat, zejména sečtením mnoha tisíc řádků. Výše popsaný maloobchodník může například chtít vytáhnout zprávu o zisku pro konkrétní obchod, produktovou řadu nebo zákaznický segment. Maloobchodník to může udělat tak, že načte informace z tabulky faktů, které se týkají těchto transakcí, splní specifická kritéria a poté tyto řádky sečte.
Co je zrno tabulky faktů?
Při navrhování tabulky faktů musí vývojáři věnovat pečlivou pozornost zrnitosti tabulky, což je úroveň detailů obsažená v tabulce.
Vývojář, který navrhuje tabulku nákupních skutečností pro maloobchodní organizaci popsanou výše, by se musel rozhodnout, zda je zrnem tabulky zákaznická transakce nebo nákup jednotlivé položky. V případě zrnitosti nákupu jednotlivé položky by každá transakce zákazníka vygenerovala více položek tabulky faktů odpovídajících každé zakoupené položce.
Výběr zrnitosti je zásadní rozhodnutí učiněné během procesu návrhu, které může významně ovlivnit úsilí v oblasti business intelligence.
Co jsou rozměry a tabulky rozměrů?
Dimenze popisují objekty zapojené do úsilí business intelligence. Zatímco fakta odpovídají událostem, rozměry odpovídají lidem, věcem nebo jiným předmětům.
V maloobchodním scénáři použitém v příkladu jsme diskutovali o tom, že nákupy, vracení zboží a hovory jsou fakta. Na druhou stranu zákazníci, zaměstnanci, položky a obchody jsou rozměry a měly by být obsaženy v tabulkách rozměrů.
Tabulky dimenzí obsahují podrobnosti o každé instanci objektu. Tabulka dimenzí položek by například obsahovala záznam pro každou položku prodanou v obchodě. Může obsahovat informace, jako je cena položky, dodavatel, barva, velikosti a podobné údaje.
Vztah mezi tabulkami faktů a dimenzí
Tabulky faktů a tabulky dimenzí tvoří databázový vztah. Vrátíme-li se k maloobchodnímu modelu, tabulka faktů pro zákaznickou transakci by pravděpodobně obsahovala odkaz na cizí klíč na tabulku dimenzí položky, kde záznam odpovídá primárnímu klíči v této tabulce pro záznam popisující zakoupenou položku.