Sterstructuur
Heb je ooit gehoord van de stervorming bij het modelleren van gegevens? Bij Power Partners proberen we altijd het sterschema te gebruiken. Het basisidee erachter is het volgende:
Het datamodel bestaat uit één of meer feitentabellen die verbonden zijn met één of meerdere dimensietabellen. Een feitentabel registreert metingen of metrieken voor specifieke gebeurtenissen (bijv. het aantal verkopen voor elke dag). De dimensietabel daarentegen moet kleiner zijn en meer attributen hebben (bijv. het adres van de verkoper, zijn voornaam, achternaam, ...). Deze attributen zullen kenmerken zijn voor de feitentabellen die we niet in elk van de rijen willen herhalen.
Er zijn 4 verschillende soorten feitentabellen die we in deze blogpost zullen bespreken. De additieve, de semi-additieve, de niet-additieve en de factless tabellen.
Additieve en semi-additieve feitentabellen
Eerst de eenvoudigste, de additieve feitentabel. Voor dit soort tabel kunnen we numerieke waarden op elke dimensie optellen of tellen. Laten we ons voorbeeld nemen van een verkoopgegevensmodel. In dit geval kunnen we de verkoop per verkoper optellen (met de tabel DimSalesPerson) of de verkoop per dag (met de tabel DimCalendar). Dit type tabel is heel eenvoudig te beheren en je hoeft je geen zorgen te maken over zinloze toevoegingen. Dit geldt echter niet voor elke feitentabel. Je kunt bijvoorbeeld te maken krijgen met een semi-additieve tabel. Als je bijvoorbeeld een feitentabel hebt die de dagelijkse inventaris bevat. Dan zal het optellen van de inventaris door de jaren heen niet geldig zijn, omdat het stukken inventaris meerdere keren zal optellen (als sommige objecten meerdere dagen aanwezig zijn in dezelfde inventaris). Je moet altijd nadenken voordat je rijen op bepaalde dimensies bij elkaar optelt. In dit specifieke geval blijft het berekenen van gemiddelden geldig.
Niet-additieve en feitloze tabellen
Niet-additieve feitentabellen zijn ons derde type feitentabellen. Deze kunnen niet worden opgeteld voor een dimensie, omdat ze meestal vooraf worden berekend voordat ze worden geladen. Een typisch geval zijn percentages (bijv. conversieratio per regio). Die kun je niet optellen omdat het dan zijn oorspronkelijke betekenis verliest.
Het laatste type feitentabellen dat we gaan bespreken zijn de feitloze tabellen. Deze tabellen bevatten alleen foreign keys. Er zijn geen feitwaarden, dus er kunnen geen sommen worden gemaakt.
Als je meer informatie wilt, raad ik je aan dit webinar te bekijken.