Buffl

Prüfungsfragen

BF
von Benedikt F.

Erläutern Sie die drei wichtigsten Strategien zur Abbildung von Vererbung in relationalen Datenbanken:

Single Table, Table per Class und Joined Subclass Table. Gehen Sie auf Aufbau, Besonderheiten und Vor- bzw. Nachteile ein.


1. Single-Table-Strategie



  • Alle Klassen der Vererbungshierarchie werden in einer einzigen Tabelle gespeichert.

  • Nicht benötigte Spalten werden leer (NULL) gelassen.

  • Eine Unterscheidung erfolgt über ein Discriminator-Attribut.

  • Vorteil: Einfach, schnell abzufragen.

  • Nachteil: Viele NULL-Werte und Redundanz möglich.



Beispiel:

Tabelle Artikel enthält Spalten für Filme und Musik, z. B. Regisseur, Künstler, Laufzeit, etc.




2. Table-per-Class-Strategie



  • Für jede konkrete Klasse wird eine eigene Tabelle erstellt.

  • Alle relevanten Attribute werden vollständig in der jeweiligen Tabelle gespeichert.

  • Abstrakte Klassen haben keine eigene Tabelle.

  • Vorteil: Kein Join nötig, schneller Zugriff auf Objekte einer Klasse.

  • Nachteil: Duplizierte Attribute in mehreren Tabellen, schwer zu vereinheitlichen.



Beispiel:

Tabelle Film mit eigenen Attributen + nochmal Name, Preis, Verfügbarkeit – ebenso in MusikAlbum.




3. Joined-Subclass-Table-Strategie



  • Jede Klasse – auch abstrakte – bekommt eine eigene Tabelle.

  • Unterklassen enthalten nur ihre spezifischen Attribute + Fremdschlüssel zur Oberklasse.

  • Zum Lesen/Schreiben wird ein JOIN über alle relevanten Tabellen benötigt.

  • Vorteil: Minimale Redundanz, logisch sauber.

  • Nachteil: Komplexere Abfragen durch mehrere JOINS.



Beispiel:

Artikel enthält allgemeine Attribute, Film und MusikAlbum verweisen per Fremdschlüssel (ArtikelID) darauf.

Author

Benedikt F.

Informationen

Zuletzt geändert