Met een datamodel, of gegevensmodel, wordt beschreven hoe de gegevens in een informatiesysteem gestructureerd zijn.
Men onderscheidt het conceptueel datamodel, het logisch datamodel en het fysiek datamodel.
Er zijn verschillende soorten databasemodellen: De hiervolgende opsomming van het platte datamodel tot aan het objectgeoriënteerde datamodel volgt de ontwikkeling in de tijd, zoals die plaatsvond in de nog vrij recente historie van de informatica.
Gegevens die gemodelleerd zijn volgens het platte datamodel, worden geïmplementeerd in een platte database. Zo'n database is in wezen een eenvoudige tabel, een tweedimensionale reeks gegevenselementen, waarbij alle elementen in dezelfde kolom gelijksoortige waarden bevatten, terwijl alle elementen van een rij aan elkaar gerelateerd zijn. Zo zouden kolommen voor naam en wachtwoord van toepassing kunnen zijn als onderdeel van een beveiligingsdatabase. Elke rij bevat dan het bij een specifieke gebruiker behorende wachtwoord. Vaak zijn kolommen verbonden met een gegevenstype, zoals: tekstuele informatie, datum- of tijdinformatie, gehele getallen of floating pointgetallen (het domein).
Een moderne en zeer veel gebruikte implementatie van het platte datamodel is de spreadsheet. In een spreadsheet is meestal ook sprake van een eenvoudige datastructuur van rijen en kolommen, waarbij de velden 'cellen' heten.
|
Het hiërarchische model staat meerdere tabellen toe, maar beperkt de relaties tussen gegevens tot een boomstructuur. Gegevens gemodelleerd volgens het hiërarchische model, worden geïmplementeerd in een hiërarchische database.
Hoewel het hiërarchische model als structureringswijze van databases achterhaald is door (vooral) het relationele model, is het in feite dé modelleringswijze voor het structuren van elektronisch uitwisselbare bedrijfsinformatie. Een groot aantal elektronisch uit te wisselen bedrijfstransacties en bedrijfsobjecten is namelijk volgens een hiërarchisch model gestructureerd in zogenaamde EDI-berichtdefinities. Denk hierbij aan factuurberichten, leveringsberichten en productberichten.
XML is de veelgebruikte open standaard voor de opmaaktalen die de datastructuur vastleggen van dit soort berichten en overigens ook van veel bestanden. In de modellering van die XML-berichten en -bestanden, met behulp van de XML-Schemadefinitietaal (XSD), zal men meestal een hiërarchisch model hanteren.
|
Het netwerkmodel borduurt verder op het hiërarchische model door niet alleen een op veel relaties tussen gegevensobjecten toe te staan (een parent heeft mogelijk meerdere children, maar een child heeft altijd maar een parent), maar ook n op m relaties (nu kan een child ook meerdere parents hebben). Op deze wijze kan een netwerkstructuur ontstaan, die rijker is dan de hiërarchische structuur. Netwerkmodellen worden logischerwijs geïmplementeerd in netwerkdatabases.
|
Gegevens die in een relationeel model zijn gestructureerd, worden in een relationele database geïmplementeerd. Dit is eveneens een verzameling tabellen. Tabellen worden hier "relaties" genoemd, naar analogie van het concept van een wiskundige relatie. De kracht van dit model treedt aan de dag wanneer bevragingen van verschillende tabellen gecombineerd worden. De theorie achter het relationele model werd ontwikkeld door Ted Codd. Voor het bevragen van de gegevens in een relationele database wordt de querytaal SQL gebruikt.
Anders dan bij netwerkdatabases worden de verbanden tussen tabellen niet expliciet gedefinieerd. In plaats daarvan duidt de aanwezigheid van gegevenselementen uit hetzelfde domein impliciet op een potentieel verband tussen twee eigenschappen, eventueel in verschillende tabellen. Bewerkingen worden uitgevoerd op basis van de relationele algebra. Als gevolg daarvan kan een relationele database flexibel gereorganiseerd worden en gebruikt op een manier die door de oorspronkelijke ontwerpers niet was voorzien. Veel van de huidige databases zijn gebaseerd op afleidingen van het relationele model, juist vanwege deze flexibiliteit.
Relationele databases worden meestal gebouwd met een genormaliseerd datamodel. Dit zorgt ervoor dat gegevens niet gedupliceerd worden opgeslagen (opslag optimalisatie). Normalisatie kan echter bijvoorbeeld bij rapportages tot een trage respons leiden. Om deze reden zijn alternatieve gedenormaliseerde datamodellen ontworpen in datawarehouse oplossingen.
In objectgeoriënteerde databases worden data opgeslagen in objecten. De kenmerken van objectgeoriënteerde modellen zijn overerving, encapsulatie en abstractie. Zie ook object (informatica). Er bestaan databases die helemaal object georiënteerd zijn, maar er zijn ook databases die een hybride variant van objectgeoriënteerd en relationeel zijn.
Dit is een mengvorm van verschillende datamodellen. Hierbij worden de verschillende modellen samengevoegd.
De collectie datamodellen van de verschillende systemen in gebruik in een organisatie maakt deel uit van de data-architectuur van de onderneming. Door de modellen van gelijke datadefinities gebruik te laten maken, wordt integratie van systemen vergemakkelijkt.