Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Datenmodellierung

Mit Datenmodellierung bezeichnet man in der Informatik Verfahren zur formalen Abbildung der in einem definierten Kontext relevanten Objekte mittels ihrer …

Inhalt5 Abschnitte
  1. 1. Grundidee und Ziel
  2. 2. Modellierungsstufen und Tätigkeiten
  3. 3. Methoden, Modelle und Begriffe
  4. 4. Unterstützung durch Modellierungswerkzeuge
  5. 5. Beispiele und Bedeutung des Kontextes

Grundidee und Ziel

Datenmodellierung bezeichnet in der Informatik Verfahren zur formalen Abbildung der in einem bestimmten Kontext relevanten Objekte. Dazu werden die Objekte durch ihre Attribute und Beziehungen beschrieben. Attribute sind Eigenschaften oder Merkmale eines Objekts; Beziehungen zeigen die Zusammenhänge zwischen Informationsobjekten.

Hauptziel ist die eindeutige Definition und Spezifikation der Objekte, die ein Informationssystem verwalten soll, ihrer für den jeweiligen Informationszweck benötigten Attribute sowie ihrer Beziehungen. Dadurch entsteht ein Überblick über die Datensicht eines Informationssystems.

Das Ergebnis sind Datenmodelle, die über mehrere Modellierungsstufen zu einsatzfähigen Datenbanken oder anderen Datenbeständen führen. Datenmodelle haben meist eine wesentlich längere Lebensdauer als Funktionen, Prozesse und damit auch Software. Dafür steht der Grundsatz: „Data is stable – functions are not“ („Daten sind stabil, Funktionen sind es nicht“).

Datenmodellierung ist nicht auf Projekte der Anwendungsentwicklung beschränkt. Sie kann auch dazu dienen, Daten und Zusammenhänge eines Unternehmensbereichs, einer Abteilung, eines Geschäftsprozesses oder des gesamten Unternehmens zu erfassen und zu dokumentieren. Außerdem können dabei einheitliche Begriffe festgelegt werden. Im Allgemeinen werden nur die fachlich-inhaltlich relevanten Daten modelliert, nicht jedoch technische Softwaredaten wie Konfigurations- und Parameterdaten.

Modellierungsstufen und Tätigkeiten

Als wesentliche Teildisziplin der Softwareentwicklung verläuft die Datenmodellierung über Projektphasen. Jede Phase umfasst Ziele, Tätigkeiten und Ergebnisse, die aufeinander aufbauen. In Anlehnung an die ANSI-SPARC-Architektur werden häufig drei Modellvarianten unterschieden:

  • Beim konzeptuellen Datenbankschema wird ein Ausschnitt der realen Welt betrachtet. Relevante Objekte, Eigenschaften und Beziehungen werden erhoben, analysiert und grafisch sowie textuell beschrieben. Ausgangspunkt sind die Vorgaben der Aufgabenstellung beziehungsweise des Kontextes, die bei Bedarf mit den Auftraggebern präzisiert werden.

  • Beim logischen Datenbankschema wird das konzeptuelle Schema in eine durch ein Datenbankmanagementsystem (DBMS) unterstützte Struktur überführt. Es kommen datentechnische Angaben hinzu, etwa Feldformate und identifizierende Suchbegriffe. Bei einem relationalen Datenmodell werden alle Daten in Tabellen abgelegt.

  • Beim physischen Datenbankschema werden die Angaben in der Syntax eines bestimmten DBMS formuliert, damit die Datenbank erzeugt werden kann. Generatoren können diesen Schritt teilweise automatisch oder halbautomatisch unterstützen.

Die Grenzen zwischen den Modellstufen hängen vom Vorgehensmodell, der Modellierungsmethodik und der verwendeten Software ab. Wird das spätere DBMS bereits als Modellierungswerkzeug eingesetzt, entwickeln sich die Modelle möglicherweise schrittweise bis zur fertigen Datenbank. Für Datenbestände, die nicht unter einem DBMS geführt werden, kann stattdessen eine „Copystrecke“ erstellt werden, über die Datenstrukturdefinitionen in Programme eingebunden werden.

Typische Tätigkeiten auf den Stufen sind:

  • Konzeptuell: Informationsbedarf und Attribute ermitteln, Entitäts- und Beziehungstypen identifizieren, Attribute zuordnen, mögliche Attributwerte und identifizierende Attribute festlegen, Beziehungskardinalitäten bestimmen sowie Entitäten, Beziehungen und Attribute fachlich beschreiben.

  • Logisch: Modelle beispielsweise durch Normalisierung überprüfen, Entitätstypen durch Spezialisierung oder Generalisierung bilden, ein Datenhaltungssystem auswählen, das ER-Modell in ein Relationenmodell überführen, Schlüssel und Fremdschlüssel festlegen, Beziehungstabellen und Sekundärschlüssel bestimmen sowie die referenzielle Integrität sichern. Zusätzlich können Historien- und Versionsführung, Mandantenfähigkeit, Lookup- und Parametertabellen ergänzt werden.

  • Physisch: Datenzugriffe etwa durch Index-Definitionen optimieren, Skripte und Kommandos in der Syntax des DBMS formulieren und die Datensicherung festlegen.

Methoden, Modelle und Begriffe

Für die Datenmodellierung gibt es verschiedene Methoden, die miteinander kombiniert werden können:

  • Bottom Up: Einzelattribute werden gesammelt, mögliche Schlüssel erkannt, zu Objekttypen gruppiert und durch Beziehungen verbunden. Eine Sonderform ist der Synthesealgorithmus.
  • Top Down: Zuerst werden Objekttypen erkannt, anschließend Beziehungen gebildet und Elementarattribute bestimmt.
  • Verallgemeinerung und Spezialisierung von Objekttypen im Sinne der Vererbung.
  • Re-Engineering bestehender Schemata.
  • Aufstellen von Tabellen als Relationenmodell und Normalisierung.
  • Analyse vorhandener Listen, Ausgaben und Auswertungen.

Ein mögliches Ergebnis ist ein Entity-Relationship-Modell (ERM). Es besteht aus einem Entity-Relationship-Diagramm (ERD), beispielsweise nach UML oder IDEF1X, sowie einer textuellen Beschreibung des Modells und seiner Komponenten. Entwurfsmuster unterstützen die Modellierung, etwa für Historisierung, Mehrsprachigkeit, Mandantenfähigkeit, Adressen, Organisationsstrukturen oder Rollen- und Rechtestrukturen. Auch vollständige Datenmodelle, beispielsweise für den Finanzbereich, können als Entwurfsquelle dienen. Verbreitete Muster sind bei Fowler, Hay und Silverston aufgeführt.

Ein wichtiges Anwendungsgebiet von Entwurfsmustern ist die Metamodellierung. Moriarty bezeichnet diese Modellierung als „dynamic modelling“. Bei einem Metamodell ist im Gegensatz zu einem konkreten Datenmodell auch der Dateninhalt ein relevanter Teil des Datenmodells.

In der Praxis werden ähnliche Sachverhalte nicht immer einheitlich benannt. Modellgrafiken können etwa ER-Diagramm, Klassendiagramm, Datenmodell, Informationsstruktur oder Informationslandkarte heißen. Für Entitäten werden unter anderem Entity, Objekt, Informationsobjekt, Klasse, Tabelle oder Zeile verwendet. Beziehungen werden teilweise als Relation oder Fremdschlüssel bezeichnet; Attributswerte heißen auch Eigenschaft, Feld, Datenfeld, Attribut oder Spalte. Dabei werden mitunter Typbegriffe, Instanzenbegriffe und Begriffe der technischen Datenbankimplementierung vermischt. Einheitliche und korrekte Begriffe erleichtern die Kommunikation und vermeiden Missverständnisse.

Unterstützung durch Modellierungswerkzeuge

Datenmodellierung kann mit Werkzeugen unterschiedlicher Integrationsstufen durchgeführt werden. Die einfachste Variante nutzt Standardsoftware für Grafiken und Textverarbeitung. Dabei wird überwiegend Freitext erfasst; Qualitätssicherung ist kaum automatisierbar, und die Werkzeuge sind nicht speziell auf die Modellierungsaufgabe ausgerichtet.

Spezialanwendungen können Grafiksymbole und Beschreibungen miteinander verknüpfen. Beispielsweise öffnet ein Doppelklick auf eine Entität deren Beschreibung, Bezeichnungen bleiben in Grafik und Text identisch, und auf fremde Begriffe kann per Link verwiesen werden.

Höher integrierte Werkzeuge besitzen ein Metamodell. Es legt fest, welche Informationsdetails erfasst werden können oder müssen, und prüft Eingaben sowie bestimmte Zusammenhänge. So können einer Entität nur bereits vorhandene Attribute zugeordnet werden.

Ein Data-Dictionary führt die erarbeiteten Komponenten als wiederverwendbare Datenobjekte. In einzelnen Projekten werden nur benötigte Ausschnitte referenziert; projektbezogene Erweiterungen, Änderungen und Löschungen bleiben möglich. Weitere Funktionen können ein Versionskonzept, Dokumentations- und Auswertungsfunktionen, Mehrbenutzer- und Mehrprojektfähigkeit, Mandantenfähigkeit sowie Berechtigungs- und Sicherheitskonzepte sein.

Besonders stark integriert sind universelle Spezifikationswerkzeuge und „aktive Datadictionaries“. In einem universellen Spezifikationswerkzeug werden die modellierten Dateninhalte auch von Werkzeugen für funktionale Spezifikationen verwendet. Über einen Verwendungsnachweis lässt sich beispielsweise feststellen, wo ein Feld eingesetzt wird. Ein aktives Datadictionary nutzt die Modellinhalte zusätzlich in der fertigen Anwendung, etwa für die Anzeige von Feldnamen oder Plausibilitätsprüfungen. Der Integrationsgrad beeinflusst maßgeblich die Qualität und Effizienz der Modellierungsprozesse.

Beispiele und Bedeutung des Kontextes

Ein Beispiel für ein Datenmodell eines mittelständischen Handelsunternehmens aus Sicht des Vertriebs umfasst Produkt, Kunde, Auftrag und Rechnung als Entitätstypen eines Auftragsabwicklungssystems. Der modellierte Realitätsausschnitt kann außerdem zur Spezifikation der funktionalen Anforderungen an das System dienen.

Ein weiteres Beispiel ist das Metamodell eines in einem Forschungsbereich verwendeten Thesaurus. Es beschreibt die dort verwendete Terminologie mit Synonymen, Unter- und Oberbegriffen sowie verwandten Begriffen. Für die Darstellung kann beispielsweise eine Topic Map verwendet werden. Das Metamodell kann als Grundlage für eine Datenbank und gegebenenfalls eine IT-Anwendung zur Erfassung dieser Begriffe dienen.

Für eine Projektmanagement-Anwendung zur Auftragsverwaltung kann ein semantisches Datenmodell als Entity-Relationship-Diagramm dargestellt werden. Daneben kann ein mit MS Access erzeugtes Datenbankschema derselben Anwendung stehen. Dieses enthält implementierungstechnische Erweiterungen oder Abweichungen vom semantischen Modell; ein gesondertes Datenbankmodell als Zwischenstufe wurde in diesem Beispiel nicht erstellt.

Die Beispiele zeigen, dass die Bedeutung eines Realitätsausschnitts immer durch den jeweiligen Kontext und den konkreten Zweck bestimmt wird. Welche Objekte, Attribute und Beziehungen relevant sind, hängt daher von der Aufgabe und vom vorgesehenen Informationssystem ab.

Weiterlesen

Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Entität (Informatik) Als Entität (auch Informationsobjekt genannt, englisch entity) wird in der Datenmodellierung ein eindeutig zu bestimmendes Objekt bezeichnet, … Informationssystem Es handelt sich um ein Mensch-/Aufgabe-/Technik-System, das Daten (bzw. Informationen) produziert, beschafft, verteilt und verarbeitet. Angrenzende Themenfelder … Datenbank Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große … Daten Daten bezeichnet als Plural von Datum Fakten, Zeitpunkte oder kalendarische Zeitangaben. Als Pluralwort steht es für durch Beobachtungen, Messungen u. a. Softwaretechnik ... Agile Softwareentwicklung. Die Softwaretechnik umfasst den gesamten Prozess von der Identifizierung des Bedarfs bis hin zur Inbetriebnahme einer konkreten … Schema (Informatik) Ein Schema, Datenschema oder Relationsschema (Plural Schemata oder Schemas, auch Schemen) ist in der Informatik eine formale Beschreibung der Struktur von … Syntax Die Syntax behandelt Sätze nicht nur als eine Aneinanderreihung von Wörtern, sondern arbeitet eine zugrundeliegende Satzstruktur heraus, die neben der … Vorgehensmodell zur Softwareentwicklung Die agile Softwareentwicklung hingegen beschäftigt sich mit Methoden, die den Entwickler kreativ arbeiten und Verwaltungsaspekte zurücktreten lassen. Je … Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Parameter (Informatik) Parameter – (deutsch) auch Übergabewerte genannt – sind in der Informatik Variablen, durch die ein Computerprogramm (oft ein Unterprogramm) auf die … Entity-Relationship-Modell Ein ER-Modell dient sowohl in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern (dabei wird nur das Was …