Objektrelationales Mapping

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen eventuell nicht:
  ☆☆☆☆☆ Korrektheit: nicht überprüft
  ★☆☆☆☆ Umfang: zu gering
  ★☆☆☆☆ Quellenangaben: Quellen fehlen großteils
  ★★☆☆☆ Quellenqualität: befriedigend
  ★★★★☆ GlossarWiki-Konformität: sehr gut

1 Definition

Objektrelationales Mapping (ORM) bedeutet, dass man ein Objekt einem Datensatz zuordnet und umgekehrt. Im Programm schreibt man dann für das Laden, Speichern, Ändern und Löschen keine manuellen SQL-Anweisungen sondern überlässt die Generierung von Abfragen einem ORM-Framework wie z.B. Hibernate für Java.

2 Klassenhierarchien und ORM

Für die Ablage von Klassenhierarchien auf Tabellen gibt es im wesentlichen drei Strategien:

  • Eine Tabelle pro Klassenhierarchie: Die Tabelle besitzt alle Attribute, die in der Hierarchie auftauchen können. Attribute, die in einer Klasse nicht definiert sind sollten in der Datenbank Null annehmen dürfen. In einer Spalte hält man fest um welche Klasse es sich handelt.
  • Eine Tabelle für jede Unterklasse: Es wird eine Tabelle für jede Basisklasse angelegt und anschließend für jede weitere Subklasse eine weitere Tabelle.
  • Eine Tabelle pro nicht abstrakter Subklasse: Attribute abstrakter Basisklassen werden in Tabellen übernommen die für konkrete Subklassen verantwortlich sind.

3 Quellen

  • [1] Wikipedia, Objektrelationale Abbildung
  • [2] ORM mit Java

4 Siehe auch