Object Relational Mapping
Relationen und Objektorientierung
Wir Programmierer leben in zwei Welten. Einerseits lieben wir die klare und mathematisch korrekte Struktur unserer relationalen Datenbank. Andererseits sind wir es gewohnt unsere Umwelt in Objekte und Klassen einzuteilen.
ORM ist eine Vorgangsweise diese beiden Welten zu einem grossen Teil in einander abzubilden.
Die Idee dabei ist jeder Tabelle in der relationalen Datenbank eine Klasse im objektorientierten Design zuzuordnen und jeder Spalte in der Tabelle einer Property des entsprechenden Objektes, wobei die grundlegenden SQL-Datentypen den Datentypen der jeweiligen Sprache (C# oder Java) zugeordnet werden.
objektorientiert | /relational |
---|---|
Klasse | Tabelle |
Property | Spalte |
List<Object> | Resultset |
Dazwischen liegt ein sogenannter Mapper, zum Beispiel JPA oder das Entity Framework, um diese Zuordnung vorzunehmen.
Als Beispiel, wie ein solches Mapping mit Java Persistency API implementiert werden kann, finden Sie in den Videos zu meinem Blog über JPA.