Wat is een datamodel? Uitleg voor het mkb

Een datamodel beschrijft welke tabellen en velden je data heeft en hoe die met elkaar samenhangen, zodat je cijfers uit meerdere systemen kunt combineren.

Kort antwoord

Een datamodel is de structuur van je data: welke tabellen er zijn, welke velden elke tabel bevat en hoe tabellen via sleutels aan elkaar gekoppeld zijn. Zo weet je bijvoorbeeld welke facturen bij welke klant horen. Een goed datamodel maakt het mogelijk om cijfers uit verschillende systemen te combineren, te filteren en te groeperen zonder dat je steeds opnieuw moet uitzoeken wat waarbij hoort.

Een datamodel is de structuur van je data: welke tabellen er zijn, welke velden daarin staan en hoe de tabellen aan elkaar hangen. Je gebruikt er al een, ook als je het nooit zo hebt genoemd. Elk boekhoudpakket en elk CRM heeft er een. Wie data uit meerdere systemen wil combineren, merkt vroeg of laat dat het model bepaalt wat er mogelijk is.

Tabellen en velden

Een tabel bevat één soort gegevens. In een boekhoudpakket als Moneybird zijn dat bijvoorbeeld verkoopfacturen, inkoopfacturen, bankmutaties en offertes. Elke rij is één factuur of één mutatie. De kolommen zijn de velden: bij een verkoopfactuur onder meer de status, de factuurdatum, de vervaldatum en het bedrag exclusief btw.

Dat voorbeeld komt uit de tabellen en velden die APIboard bij die koppeling ophaalt. Als alle systemen hun tabellen en velden op één plek aanleveren, is dat de eerste stap naar een single source of truth.

Sleutels en relaties

Een factuur hoort bij een klant, maar je wilt niet op elke factuur alle klantgegevens herhalen. Daarom krijgt elke klant een unieke sleutel, zoals een klantnummer, en verwijst de factuur naar die sleutel. Die verwijzing heet een relatie.

Relaties bepalen welke vragen je kunt beantwoorden: omzet per klant, openstaande facturen per klant, aantal facturen per maand. Zonder relatie staan de tabellen los naast elkaar en kun je ze niet combineren zonder handmatig zoeken en plakken, zoals dat vaak gaat bij Excel-bestanden combineren.

Een tweede voorbeeld uit de praktijk is HubSpot. Naast contacten, bedrijven en deals haalt APIboard daar ook de tabel Associaties op. Die legt vast welk contact bij welk bedrijf of welke deal hoort. Een relatie is daar dus een tabel op zich.

Feiten en dimensies

Je kunt tabellen grofweg in twee soorten indelen. Dit komt uit het sterschema, dat Microsoft in de Power BI-documentatie beschrijft als een veelgebruikte aanpak voor datamodellen.

  • Dimensietabellen beschrijven de dingen waarover je rapporteert: klanten, producten, medewerkers en datums. Ze dienen om te filteren en te groeperen.
  • Feitentabellen bevatten de gebeurtenissen met getallen, zoals facturen, betalingen en uren. Ze dienen om op te tellen.

Een verkoopfactuur is dus een feit en de klant is een dimensie. Omzet per klant ontstaat door de feiten te groeperen op de dimensie. Zo’n indeling is geen eigenschap die je aanvinkt, maar volgt uit de relaties: aan de ene kant staat de klant, aan de andere kant staan veel facturen.

Wat dit betekent als je data uit meerdere systemen haalt

Elk systeem heeft zijn eigen model, met eigen tabellen, veldnamen en sleutels. Combineer je boekhouding en CRM, dan moet je bepalen hoe die modellen op elkaar aansluiten, bijvoorbeeld welke klant in het ene systeem dezelfde is als in het andere. Dat zoeken, schonen en samenvoegen valt onder ETL en vormt samen met het bewaren van de historie een datafundament.

In APIboard zie je de tabellen per koppeling terug in de Datawerkbank. Daar filter en sorteer je een tabel, kies je de kolommen die je wilt zien en exporteer je naar CSV of Excel. Je hoeft zelf geen model te tekenen om de tabellen te bekijken.

Onze tip: schrijf op welke vragen je wilt beantwoorden, bijvoorbeeld omzet per klant of openstaande facturen per klant. Dan zie je meteen welke tabellen en welke relaties je daarvoor nodig hebt, en welke je kunt laten liggen.

Veelgestelde vragen

Wat is het verschil tussen een tabel en een veld?

Een tabel bevat één soort gegevens, zoals verkoopfacturen of contacten. Elke rij is één exemplaar, bijvoorbeeld één factuur. Een veld is een kolom in die tabel, zoals factuurdatum, vervaldatum of status. Het datamodel legt vast welke tabellen er zijn en welke velden daarin staan.

Wat is een sleutel in een datamodel?

Een sleutel is een veld dat elke rij in een tabel uniek herkenbaar maakt, zoals een klantnummer of factuurnummer. Een andere tabel kan naar die sleutel verwijzen. Zo weet je dat een factuur bij een bepaalde klant hoort, zonder dat je alle klantgegevens op elke factuur hoeft te herhalen.

Wat zijn feiten en dimensies?

Dimensies beschrijven de dingen waarover je rapporteert, zoals klanten, producten of datums. Je gebruikt ze om te filteren en te groeperen. Feiten zijn de gebeurtenissen met getallen, zoals facturen of betalingen. Je gebruikt ze om op te tellen en te middelen. Microsoft noemt deze indeling een sterschema.

Moet ik zelf een datamodel bouwen?

Dat hangt af van hoe je werkt. In de bronsystemen zit al een model, en de tabellen en velden daarvan zie je terug zodra je koppelt. Wil je daarbovenop zelf rapporten bouwen, dan bepaalt de manier waarop je tabellen aan elkaar relateert wat je kunt analyseren. Een platform met kant-en-klare koppelingen neemt het eerste deel uit handen.

Hier meer over weten?

Koppel binnen minuten met je software, zonder zelf te hoeven knutselen. Wij maken het eenvoudig voor je.