Ein Datenmodell ist eine Vorstellung davon welche Form Informationen als Daten annehmen können und sollen. Die Grundlagen für Datenmodelle existieren daher nur als unzugängliche Gedanken in unseren Köpfen.
Durch Datenmodellierung wird versucht, implizite Vorstellungen in abstrakte Datenmodelle und abstrakte Datenmodelle in konkreten Datenformaten abzubilden. Dazu dienen Standards, Beispiele, und formale Schemas.
Datenmodelle lassen sich hinsichtlich ihrer Spezifität in konkrete, abstrakte und unverselle Datenmodelle unterteilen, wobei die Übergange fließend sind.
Konkrete Datenmodelle
Die meisten Datenmodelle bilden die Grundlage für konkrete Anwendungsformate. Meist liegen diese Modelle nicht eigenständig vor sondern ergeben sich implizit aus Standards und Schemas.
Abstrakte Datenmodelle
Abstrakte oder Konzeptuelle Datenmodelle beziehen sich nicht auf ein konkretes Datenformat sondern dienen in erster Linie als Vorlage für konkrete Datenmodelle.
- BIBFRAME
- CIDOC Conceptual Reference Model (CIDOC-CRM)
- Codex Metadata Model (Codex)
- Dublin Core (DC)
- EN 15907
- Europeana Data Model (EDM)
- Functional Requirements for Authority Data (FRAD)
- Functional Requirements for Bibliographic Records (FRBR)
- Functional Requirements for Subject Authority Data (FRSAD)
- Labeled Property Graph
- Zeichenkette
Universelle Datenmodelle
Datenmodelle für sehr allgemeine Vorstellungen wie "Objekte", "Hierarchien", und "Beziehungen" sind eher als Datenstrukturierungssprachen zu betrachten. Ein Beispiel hierfür ist RDF.
Illustration eines unversellen Datenmodells (CC-BY: Oliver Widder)