Een datamodel begrijpen. Wat ga je leren in deze cursus? Hartelijk welkom bij de training Een datamodel begrijpen.
Tijdens deze training leer je hoe je een datamodel moet lezen, met als doel dat je deze kunt gebruiken voor het maken van rapportages in bijvoorbeeld Excel. Neem als voorbeeld eens dit rapport. Dat ziet er nu misschien nog ingewikkeld uit. Maar wees er zeker van dat je na deze training begrijpt...
hoe de achterliggende gegeven structuur in elkaar zit. Wat gaan we in deze training doen? We gaan stap voor stap aan de slag.
Je gaat leren een datamodel te begrijpen. Dat betekent dat je niet leert hoe je een rapport zoals deze precies bouwt. Dat heb je geleerd in een Excel draaitabellentraining. Maar dat je leert hoe het achterliggende datamodel in elkaar zit. Zodat je het rapport snel kunt opbouwen en begrijpt waar de gegevens vandaan komen.
Aan het einde van deze training heb je de basiskennis opgedaan over een stermodel. Dat is een specifiek soort datamodel. Waarom een specifiek datamodel?
Laten we eerst eens kijken naar onze dagoperaties. Als we op kantoor zitten en we werken met een CRM-systeem, dan slaat dat systeem alle gegevens op in een onderliggende database. Alles wat je dus doet, wordt opgeslagen in een database. En die database heeft een schema.
Dat schema is niets meer of minder dan een ontwerp hoe de tabellen aan elkaar gerelateerd zijn. In een zogeheten OLTP, een Online Transaction Processing Database, is dat genormaliseerd. Dat betekent dat gegevens nooit dubbel voorkomen. Je hebt bijvoorbeeld een klantentabel waar orders aan hangen. In zo'n OLTP-systeem...
hangt onder die klantentabel een andere tabel, een tabel met orders. Aan de ordertabel zit vervolgens weer een tabel met alle orderregels. Ook kan er direct aan de klantentabel nog een tabel gekoppeld zitten, met bijvoorbeeld besprekingsverslagen. Dit is een eenvoudig voorbeeld van een standaard OLTP-schema.
Zo'n schema gebruik je bijvoorbeeld voor een CRM-systeem, maar ook voor financiële systemen, ERP-systemen en bijna alle software die je dagelijks gebruikt op je werk. Op het moment dat iemand aan jou vraagt... ik wil een flinke rapportage met metingen van een heleboel klanten... met daaraan weer gekoppeld heel veel andere gegevens...
dan krijg je snel een complexe opbouw. Dat kan problemen opleveren. Het kan zijn dat als iemand uit je OLTP-database zo'n rapport opvraagt...
de database verschrikkelijk onder druk komt te staan. Daardoor kan je systeem ontzettend traag worden. En dat wil natuurlijk niemand. Gelukkig is er het zogeheten OLAP-architectuur ontwikkeld, dat dit soort problemen oplost.
OLAP staat voor Online Analytical Processing. Op het moment dat je gaat analyseren, dat je dus een analytische database gebruikt, zul je zien dat deze gebruik maakt van een ander soort datamodel. Het is nog steeds een database-systeem.
Het heeft nog steeds tabellen en het werkt nog steeds vertrouwd. Maar het grote verschil is dat het schema anders is opgebouwd. De manier waarop tabellen aan elkaar gerelateerd zijn is dus anders dan van een systeem dat je dagelijks gebruikt. De database is volledig geoptimaliseerd voor analyse.
Een groot voordeel ten opzichte van andere systemen. Maar er zijn meer voordelen. Je kunt bijvoorbeeld van tevoren berekeningen binnen analyses maken.
Wat ervoor zorgt dat je rapporten sneller gevuld worden met de juiste gegevens. Laten we eens kijken naar een opzomming van alle voordelen van een datamodel dat in dit geval een dimensionaal model is. Allereerst is het leesbaar. Dat is al heel prettig, want als je een gewoon model bekijkt van een dagelijkse database, dan is dat best complex. Natuurlijk heeft het model ook een technische achtergrond.
En die achtergrond is dat selecties, ook wel queries genoemd, veel beter presteren. Een dimensionaal model is zo gebouwd... dat er simpelweg zo min mogelijk relaties tussen tabellen in verwerkt zitten. Dat betekent dus dat deelaspecten niet genormaliseerd zijn, maar juist gedenormaliseerd zijn, waardoor het systeem sneller is.
En daarom is het zo dat het ook niet meer rampzalig is als gegevens dubbel voorkomen. Want een dimensionaal model is geen systeem waarin data wordt bijgewerkt, het is een systeem waaruit je slechts de data leest. En dan is er nog een voordeel ten opzichte van een regulier systeem.
Dat is dat het systeem heel makkelijk is uit te breiden. Je kunt de tabellen vrij eenvoudig uitbreiden zonder dat de applicatie die er gebruik van maakt kapot gaat of aangetast hoeft te worden. Er zijn dus veel voordelen van een dimensionaal model.
Maar onthoud vooral het belangrijkste voordeel. Een dimensionaal model is ontworpen voor het analyseren van gegevens. Je zult dan ook nooit een dimensionaal model vinden als bron van een operationeel systeem.