Tabellenhierarchie

Mittels Typ-, Sicht- und Tabellenhierarchien wird in SQL das objektorientierte Konzept der Spezialisierung? umgesetzt. Anders als bei den Sichtenhierarchien stellt die Definition einer Subtabelle eine extensionale Spezialisierung? dar. Die in einer Subtabelle (potentiell) gespeicherten Objekte (Extension) stellen eine Untermenge der Objekte der Supertabelle dar, wohingegen die Attribute des Supertyps eine Teilmenge der des Subtyps sein müssen. Jeder Subtyp wie auch jede Subtabelle hat genau einen Supertyp bzw. eine Supertabelle, womit die Einfachvererbung umgesetzt ist und die Probleme der Mehrfachvererbung ausgeschlossen sind.

Mit der Grundannahme der Trennung zwischen dem Typ und den (potentiell) gespeicherten Objekten (Extension) einer Tabelle geht eine Trennung zwischen Typ- und Tabellenhierarchien einher. Anders als bei dem Datenbanksystem POSTRES, wo sich die Typhierarchie aus der Tabellenhierarchie ableitet, sind bei SQL und Oracle und anderen Herstellern Tabellen- und Typhierarchie getrennt von einander.

Im SQL-Standard sieht das Konzept der Typ- und Tabellenhierarchien wie folgt aus:

  • Tabellendefinitionen können, obwohl sie auf dem gleichen benutzerdefinierter Datentyp basieren, extensional unabhängig voneinander sein.
  • Der Typ einer Wurzeltabelle ist nicht zwingend ein Wurzeltyp.
  • Für den Typ einer typisierten Tabelle ohne eine Subtabelle kann trotzdem ein Subtyp definiert sein.
  • Verfügt ein Wurzeltyp über Subtypen, so ist es nicht zwingend, dass die zugehörige Wurzeltabelle ebenfalls eine Subtabelle besitzt.

Tabellenhierarchien sind zwar im SQL-Standard vorgesehen, nicht jedoch bei Oracle, wo nur Typ- und Sichtenhierarchien implementiert werden können.

siehe auch: Typisierte Tabellen (SQL), Objekttabellen (Oracle)


Quellen:

  • ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
  • ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
  • Oracle® Database Object-Relational Developer's Guide 11g Release 2 (11.2), E11822-03, http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11822.pdf
  • Türker, Can/Saake, Gunter: "Objektrelationale Datenbanken", dpunkt-verlag, Heidelberg, 2006, ISBN 3-89864-190-2

Kategorie: Objektrelationale DB, T