Semantisches Datenmodell
aus Wikipedia, der freien Enzyklopädie
Ein semantisches Datenmodell ist ein Modell, das die fachlichen Anforderungen des Problemumfelds aus Sicht der betrachteten Informationen oder Daten darstellt. Innerhalb der Softwareentwicklung gehört das Datenmodell zum Pflichtenheft, in grober Form kann es auch Teil des Lastenhefts sein.
Inhaltsverzeichnis |
[Bearbeiten] Gegenstand des Modells
[Bearbeiten] Aus Sicht der Aufgaben der Datenmodellierung
Das Datenmodell stellt (in der Regel permanent) gespeicherte Daten, ihre innere Struktur und ihre Beziehungen untereinander dar. Die Beschreibung der Daten erfolgt durch eine formale Darstellung (z.B. einem Diagramm) und zusätzlicher textueller Beschreibung.
Es sind alle relevanten Daten der Aufgabenstellung vollständig und widerspruchsfrei darzustellen.
[Bearbeiten] Aus Sicht der Softwareentwicklung
Das Datenmodell beschreibt die fachlogische Sicht (vgl. Pflichtenheft). Es ist eine Abstraktion einer existierenden oder gewünschten technischen Implementierung.
Wird ein Projekt vorwärts abgewickelt (zuerst das Pflichtenheft, dann der Entwurf - Forward Engineering), so entsteht aus dem Datenmodell später die technische Datenstruktur. Beim Reverse Engineering wird aus einem existierenden Schema das Datenmodell abgeleitet.
Während ein Datenmodell im formalen Sinne korrekt sein muss, stehen beim technischen Entwurf oftmals andere Merkmale im Vordergrund, zum Beispiel die Geschwindigkeit bei Abfragen. So ist ein korrektes Datenmodell zu normalisieren, ein technisches Schema ist oftmals denormalisiert (vgl. Normalisierung).
[Bearbeiten] Varianten
Die am weitesten verbreitete Spezialisierung des semantischen Datenmodells ist das Entity-Relationship-Modell, dessen Kern das ER-Diagramm ist.
Ebenfalls gängig ist das konzeptionelle Relationenmodell in Form von Relationen, nicht zu verwechseln mit dem technischen Schema einer relationalen Datenbank.
Diskutiert und umstritten, aber gängige Praxis ist die Verwendung von besonders zu kennzeichnenden Objektmodellen als Datenmodell unter Verwendung der UML-Darstellung.
[Bearbeiten] Begriffe
Zentraler Aspekt eines Datenmodells ist der im Modell relevante Objekttyp. Dieser wird bei der Datenmodellierung Entity-Typ gennant. Der semantischer Zusammenhang zwischen zwei Entity-Typen wird durch einen Beziehungstyp (Relationship-Typ) dargestellt. Zum Beispiel kann der Beziehungstyp "moderiert/wird moderiert von" zwischen den Entity-Typen "Künstler" und "Show" stehen.
Die elementare Einzelinformation eines Entity- oder Beziehungstyps (z.B. "Vorname" und "Nachname" im Entity-Typ "Künstler") werden im Modell als Attribute der Typen aufgeführt. Zu jedem Attribut gehört die Definition der Werte, die das Attribut annehmen kann (Wertebereichstyp). Im Gegensatz zum Datentyp ist der Wertebereichstyp eine Festlegung aus fachlogischer Sicht.
Die Begriffe sind unabhängig von der verwendeten Datenmodell-Variante. So wird zum Beispiel auch in UML mit dem Begriff des Entitys gearbeitet (dort als so genannter Stereotyp Entity).
[Bearbeiten] Qualitätsanforderungen
Für die Qualitätsmaße von Datenmodellen gibt es verschiedene Ansätze, unter anderem von Larry English. Die Qualität eines Datenmodells wird durch Überprüfbarkeit, Vermittelbarkeit und Korrektheit bestimmt. Diese Merkmale werden insbesondere durch die folgenden Anforderungen definiert:
- Spezifität: Das Modell bildet diejenigen Daten ab, die von Interesse sind.
- Vollständigkeit: Alle relevanten Daten werden berücksichtigt.
- Bezug auf einen definierten Kontext: Die Semantik wird durch einen definierten Kontext eingegrenzt.
- Verständlichkeit: Die benutzten Begriffe und Definitionen sind verständlich.
- Genauigkeit: Die verwendeten Begriffe sind präzise.
- Singularität: Ein Sachverhalt wird auf nur eine Weise modelliert.
- korrektes Format: Das Format der Daten ist hinreichend definiert und nützlich.
[Bearbeiten] Abgrenzung
Verwandt mit dem Datenmodell, aber nicht gleich sind die folgenden Begriffe:
- Wenngleich Objektmodell und (semantisches) Datenmodell viele Gemeinsamkeiten haben, so fehlt dem Datenmodell vereinfacht ausgedrückt die allgemeine Modellierung des Verhaltens.
- Das Schema (Informatik) ist die Umsetzung auf technischer Ebene, meist für den Einsatz von relationalen Datenbanken. Das Schema gehört in der Softwareentwicklung zum technischen Entwurfsprozess.
- Das Datenbankmodell ist die dem Schema zugrundeliegende Datenbanktopologie.
Ergänzt wird ein Datenmodell im Pflichtenheft um Modelle, die andere Sichten auf die Anforderungen haben, zum Beispiel Zustandsmodelle, Datenflussmodelle oder Funktionsmodelle.
[Bearbeiten] Siehe auch
[Bearbeiten] Literatur
- Larry English, Improving Data Warehouse and Business Infomation Quality, ISBN 0471253839