Het Ontwerpen van Feit- en Dimensietabellen
Veeg om het menu te tonen
De meeste Excel-werkboeken slaan alles op in één brede sheet: klantnamen, productcategorieën, regio's en transactietotalen staan allemaal in dezelfde rij, duizenden keren herhaald. Dit werkt voor kleine problemen. Het gaat mis wanneer de hoeveelheid data toeneemt, wanneer een naam verandert of wanneer je het wilt combineren met andere bronnen.
Een relationeel model lost dit op door gegevens te scheiden in gerichte tabellen, die elk één onderwerp beschrijven. Het belangrijkste concept achter deze scheiding is het onderscheid tussen feitentabellen en dimensietabellen.
Het werkboek dat in de video wordt gebruikt, is anders dan het werkboek dat in de opdracht wordt gebruikt. Als je stap voor stap met de instructeur wilt meekijken tijdens de les, download dan het videowerkboek dat onder de video wordt aangeboden voordat je begint.
Feittabellen
Een feittabel registreert gebeurtenissen of transacties — dingen die hebben plaatsgevonden.
Kenmerken:
- Veel rijen: één per gebeurtenis (één bestelling, één betaling, één bezoek);
- Maatstaven: numerieke waarden die je wilt aggregeren — Aantal, Totaal, Kosten, Uren;
- Vreemde sleutels: ID-kolommen die verwijzen naar dimensietabellen — CustomerID, ProductID, OrderDate;
- Weinig beschrijvende tekst: namen, labels en categorieën horen in dimensies.
Voorbeelden van feittabellen:
- Verkooporderregels;
- Factuurbetalingen;
- Websitebezoeken;
- Supporttickets.
Dimensietabellen
Een dimensietabel beschrijft de entiteiten die betrokken zijn bij feiten, zoals wie, wat, waar en wanneer.
Kenmerken:
- Eén rij per unieke entiteit: één per klant, één per product, één per datum;
- Beschrijvende attributen: namen, categorieën, regio's, segmenten — meestal tekst;
- Primaire sleutel: een unieke ID-kolom waarnaar de feittabel verwijst.
Voorbeelden van dimensietabellen:
- Customers (CustomerID, CustomerName, Region, Segment);
- Products (ProductID, ProductName, Category, UnitPrice);
- Dates (Date, Year, Month, Quarter);
- Employees (EmployeeID, Name, Department, Role).
Een besliskader met drie vragen
Voor elke kolom in een platte tabel, stel deze vragen in volgorde:
V1: Meet deze kolom iets dat je wilt optellen of tellen?—Quantity, Total, Cost → feittabel-maatstaf;
V2: Is deze kolom een ID die naar een beschrijving elders verwijst?—CustomerID, ProductID, OrderDate → feittabel-vreemde sleutel;
V3: Is dit een beschrijvend label over een persoon, product of periode?—CustomerName, Region, Category → dimensietabel-attribuut.
Als een kolom onder V3 valt, stel dan nog één vraag: welk onderwerp beschrijft het? Alle kolommen die klanten beschrijven gaan in Customers. Alle kolommen die producten beschrijven gaan in Products. Kolommen die datums beschrijven gaan in Dates.
1. In het Orders_Flat-blad, welke van de volgende groepen kolommen horen het duidelijkst bij elkaar in een Products-dimensie?
2. Welke uitspraak beschrijft het beste de grain van de Sales fact-tabel in dit hoofdstuk?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.