Datenbankabstraktionsschicht
aus Wikipedia, der freien Enzyklopädie
Eine Datenbankabstraktionsschicht ist eine Programmierschnittstelle, welche die Verbindung zwischen einer Software-Anwendung und damit zu verbindenden Datenbanken vereinheitlicht. Damit kann ein Verwalter bei der Installation der Anwendung aus einer Reihe möglicher Datenbankprodukte wählen, ohne dass der Programmcode angepasst werden muss.
Für die verschiedenen Datenbanken und Programmierumgebungen hatten sich mit der Zeit eigene Datenbankschnittstellen entwickelt, die teils spezifische Funktionen der Datenbanken zur Verfügung stellen, teils nur Syntax-Abweichungen abbilden. Durch eine Datenbankabstraktionsschicht werden die Syntaxunterschiede ausgeglichen und die Programmierung vereinfacht, während andererseits über den Standard (etwa bei SQL) hinausgehende Funktionen nicht mehr genutzt werden können. Weiterer Nachteil eines dba ist der zusätzliche Verarbeitungsaufwand für die Sprach- und Datenumsetzungen zur Laufzeit.
Für die meisten Programmiersprachen und eine Anzahl von Frameworks stehen heute Datenbankabstraktionsschichten zur Verfügung, etwa:
Für die Sprache C und C++ wird etwa die Bibliothek OpenDBX angeboten, welche eine hohe Zugriffsgeschwindigkeit sicherstellen soll, während bei der sprach- und plattformübergreifenden Datenbankschnittstelle ODBC mehr Wert auf einheitliche Standards und hohe Verbreitung gelegt wird.
Weitergehende Funktionen eines dba kommen bei objektorientierten Umgebungen zum Einsatz, wo das API auch die Abbildung von Objekten auf die ggf. abweichende, etwa relationale Tabellenstruktur leistet.

