Dimensies (dim) en feiten (fact) tabellen

De data voor het gebruik in business intelligence ligt vast in tabellen. Deze tabellen vormen de bron voor het maken van visualisaties en rapportages. Er zijn twee soorten tabellen te onderscheiden. De dimensietabellen (dimensies) en de feitentabellen (feiten). In het Engels aangeduid als “dimensions” en “facts” oftewel dimensies en feiten.

Wat is het verschil tussen een dimensies- en feitentabel?

Het verschil tussen een dimensie (dimension) en feiten (fact) tabel kunnen we het best illustreren aan de hand van een voorbeeld. Neem een accountantskantoor als voorbeeld. Accountants werken aan verschillende projecten op basis van uren * tarief. Zij schrijven dagelijks uren op een project. De geschreven uren worden vervolgens gefactureerd aan een debiteur die is gekoppeld aan een dergelijk project. Aan de applicatie waarin de accountants hun uren verantwoorden ligt een database ten grondslag met diverse tabellen.

Er bestaat een tabel waarin het aantal geschreven uren per accountant is vastgelegd. Dit betreft een feitentabel. Met feiten kan je rekenen. Het betreffen getallen waar het om draait in de onderneming. Alleen een tabel met uren zegt niet veel. Er kan bijvoorbeeld 1.000 uur gemaakt zijn. Zijn dit uren die daadwerkelijk gefactureerd kunnen worden aan een klant? Of zijn het allemaal uren die geschreven zijn op een intern project? Zijn het uren per jaar of per maand?

De dimensietabellen geven betekenis aan de feiten. De tabel met stamgegevens over de projecten is een voorbeeld van een dimensietabel. Dit geldt ook voor de tabel met debiteurengegevens. Door deze tabellen te koppelen aan de urentabel (feiten) kunnen er betekenisvolle berekeningen worden gemaakt. Bijvoorbeeld het aantal uren per project of de het aantal bestede uren per debiteur.

Afkortingen: dim en fact

In een tabellenstructuur van een database wordt een tabel met dimensies veelal afgekort met “dim” terwijl een tabel met feiten veelal wordt afgekort met “fact”. Je kunt in de praktijk bijvoorbeeld de tabel fact_worklogs tegenkomen. Dit betreft een feitentabel waarin de geschreven uren zijn vastgelegd. Of bijvoorbeeld een tabel dim_projecten. In een dergelijke tabel liggen de stamgegevens van de projecten vast.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *