Object-Relational Mapping (ORM)

Object-Relational Mapping dient dazu, eine Verbindung zwischen den Paradigmen des relationalen Datenbankmodells und der objektorientierten Programmierung herzustellen. In Tabellen gespeicherte Datensätze und Fremdschlüssel (Foreign Keys) werden dabei beim Lesen aus der Datenbank weitgehend automatisiert in Objekte und Referenzen umgewandelt. Beim Schreiben in die Datenbank findet eine Konvertierung in umgekehrter Richtung statt. Dadurch kann der Programmieraufwand bei der Einbindung einer SQL-Datenbank in der Backend-Entwicklung deutlich reduziert werden.

Zusätzlich bieten viele ORM-Bibliotheken die Möglichkeit, SQL-Abfragen programmatisch zu konstruieren. Das hat den positiven Nebeneffekt, dass Sicherheitslücken aufgrund von SQL Injection praktisch ausgeschlossen sind, und trägt entscheidend zur sicheren Web-Entwicklung bei.

Die Zuordnung zwischen Objekten und Datensätzen sowie Tabellen und Klassen ist allerdings nur in den einfachsten Fällen eindeutig möglich. In der Praxis müssen beim Einsatz von O/R Mappern unweigerlich Kompromisse in Kauf genommen werden. Dies wird jedoch in der Regel durch den stark vereinfachten Zugriff auf die Datenbank mehr als kompensiert.