Kontrollfrage 3: Relationale Datenmodellierung
Was ist das Ziel der relationalen Datenmodellierung? Warum hat sie sich heute weitgehend durchgesetzt? Welche Vor- und Nachteile hat sie?
Die relationale Datenmodellierung entspricht einem logischen Datenmodell, also der Übertragung eines semantischen Datenmodells (= Abbildung von realer Welt auf Datenmodell unabhängig vom eingesetzten DBS) auf die Strukturen eines bestimmten DBS. Entitiy Realtionship Modelle (ER, S. 409) lassen sich in Tabellen übertragen. Als Datenorganisation dienen also Spalten (Attribute, z.B. „Nachname“) und Zeilen (Datensätze, z.B. Kunde „Meier“). Die wesentlichen Vorteile des relationalen Modells sind seine Einfachheit und seine Performance.
–> Persönliche Anmerkung: Zum Zeitpunkt dieser Antwort habe ich das ganze Themengebiet von ER, realtionales Modell und Normalisierung nicht wirklich verstanden. Deshalb diese eher ungenaue, vage und nicht vollständige Antwort.

Ja, zuerst eine Begriffskategorisierung: Es gibt 2 verschiedene Arten von Datenmodellierungen: 1. Semantisches Datenmodell: Abbildung der Bedeutung der realen Welt mit Entity-Relationship-Elementen = greifbarer.
Danach gibt es aber auch 2. das Logisches Datenmodell: Übertragung des semantischen Datenmodells in Tabellen: Relationales Modell. Welches Modell zuerst besteht, spielt eigentlich gar keine Rolle, man kann in Abhängigkeit des einen Modells immer das andere Modell modellierten. Nur ist das 2. Modell abstrakter, da es nur aus Datensätzen besteht. Übrigens gibt es noch 3. das Physische Datenmodell. Ich habe hier noch einen kleinen Text dazu, den ich hier mal einfüge:
Datenmodellierung
Definition: Modellierung als Abstraktion, Zentraler Teil Systementwicklung, Datenstrukturen weitaus stabiler als Anwendungssysteme, Anwendungsübergreifende Datenverwaltung
Unterscheidung zwischen:
1) Semantischem Datenmodell: Abbildung realer Welt: z. B. Entity-Relationship ER-Modelle
–>Strukturierung des Anwendungsbereichs, insb. in Zusammenarbeit mit dem Auftraggeber bzw. Anwender.
2) Logischem Datenmodell: Übertragung semantischen Modell: z. B. relationales Modell
–> technische Spezifikation des zu entwickelnden Systems. Kompromisse bzg. Semantik, die dann in der Anwendung implementiert werden müssen (Kardinalitäten können nicht 100 abgebildet werden)
3) Physischem Datenmodell: Festlegung physischen Speicherung, abhängig DBMS
–> ist für die Anwendungsendwicklung kein Thema mehr, nur innerhalb DBMS. Das physische Modell legt fest, wie Daten konkret auf dem DBMS-Server gespeichert werden, damit eine optimale Performance gewährleistet werden kann.
Und nun zur Antwort der Frage: Ziel der Relationalen Datenmodellierung ist Datenorganisationen, die z. B. mit MS Visio gemacht wurden, in Tabellen zu transferieren. Jeder Entitätstyp wird in eine Tabelle transformiert. (Vorgehen bei verschiedenen Beziehungen: vgl. Folie 420). Die Tabelle wird mit Fremdschlüssel (neben Primärschlüsseln: eindeutiger Datensatz) erstellt. danach, wird normalisiert: Ziel: Eliminierung von Redundanzen. Das Problem ist nämlich, wenn eine Tabelle unvollständig ist, z. B. fehlt der Saldobetrag, dann haben wir eine Redundanz. Das Ziel der Redundanzeliminierung wäre hierbei, dass eine Zeile nicht gespeichert werden kann, wenn sie nicht vollständig ist.
Damit sind wir auch gleich im Hauptproblemgebiet von Relationalen Modellierungen, denn obwohl redundanzarme Relationen geschaffen werden, werden in der Praxis oft auch neue Redundanzen geschaffen (z. B. Saldo des Kontos in separatem Feld, Währung in einem anderen separaten Feld). Mit der Zahl in der Tabelle lässt sich so rascher rechnen.
Nun, da also der Hauptnachteil (Redundanz) ausführlich erklärt wurde, möchte ich jetzt noch kurz die Vorteile von Relationalen Datenmodellierungen zusammenfassen (Folie 407).
-Trennung von Anwendung erlaubt einfachere Migration auf neue Anwendung
-Mehrere Anwendungen können auf den selben Daten arbeiten
-Datensicherheit, Datenschutz, Performance, Effizienz werden von einer spezialisierten Komponente i. A. besser gelöst als von einer Anwendung, für die die Datenverwaltung nur eine Unterstützungsfunktion ist
-Zahlreiche Produkte mit unterschiedlicher Zielgruppe, Leistungsumfang, Skalierbarkeit
Und noch zur Frage, weshalb sich diese objektorientierte abstrakte Modellierugnssprache durchgesetzt hat:
Weil es eben so viele Vorteile gibt im Vergleich zu wenig Nachteilen. Und auch weil die Firma in den 1990er sich vereinigt hat und die Objektorientierte Modellierungssprache Standardisiert hat. Die Firma heisst heute Object Management Group (OMG). Vgl. Folie 397.