- Datenbankschnittstelle
-
Eine Datenbankschnittstelle ist eine Programmierschnittstelle, die den Zugriff auf und den Datenaustausch mit einer Datenbank regelt, d. h. die Kommunikation zwischen einer Softwareapplikation und der Datenbank ermöglicht. Durch eine definierte Datenbankschnittstelle kann die Speicherung und der Zugriff auf die Datensätze ohne das Wissen der zur Verwaltung und Speicherung verwendeten Datenstrukturen in der Datenbank erfolgen.
Traditionell verfügt jede Datenbank, wie z. B. MySQL, Oracle oder SQLite über ihre eigene, maßgeschneiderte Programmierschnittstelle. Es obliegt dabei dem Applikationsentwickler für jede Datenbank, die er unterstützen möchte, weiteren Code hinzuzufügen um deren Datenbankschnittstelle ansprechen zu können. Dieser Mehraufwand kann heute vermieden werden, indem man statt der herstellerspezifischen Schnittstellen eine der angebotenen, verallgemeinerten Datenbankschnittstellen benutzt.
Sprachspezifische Schnittstellen
In einem ersten Schritt wird die Syntax der Schnittstellensprache vom datenbankspezifischen Teil der Schnittstelle in die Syntax der Zieldatenbank übersetzt. Anschließend führt diese die Anfrage entsprechend den Besonderheiten der konkreten Datenbank aus. Meist handelt es sich dabei um einen Dialekt der weit verbreiteten SQL Abfragesprache. Für den Programmierer ist dieser Vorgang transparent: Er muss seine Anfrage nicht ändern, wenn die Datenbank durch eine andere ersetzt wird, weil nur der Treiber (auch Provider genannt) ausgetauscht werden muss. Diese Flexibilität erkauft sich der Entwickler allerdings durch einen erhöhten Verwaltungsaufwand in der Datenbankschnittstelle, da die Elemente und Konstrukte der Abfragesprache erst in das jeweilige Format der Zieldatenbank übersetzt werden müssen.
Beispiele für sprachspezifische Datenbankschnittstellen sind:
- IDAPI (Integrated Database Application Programming Interface) ist eine von Borland, IBM, Novell und WordPerfect Corporation herausgegebene Treiberfamilie, das Konkurrenzprodukt zu ODBC.
- ODBC (Open Database Connectivity) ist eine von Microsoft entwickelte Treiberfamilie, die inzwischen unabhängig von Betriebssystemen und Programmiersprachen und deshalb sehr verbreitet ist. ODBC basiert auf dem SQL Call Level Interface (CLI) der SQL Access Group.
Sprachunabhängige Schnittstellen
Es gibt eine Reihe von Datenbankschnittstellen, die nicht an eine bestimmte Abfragesprache gebunden sind:
- ADO.NET ist eine von Microsoft entwickelte objektorientierte Zugriffschicht für die .NET Klassenbibliothek.
- JDBC (Java DataBase Connectivity) ist eine von Sun Microsystems entwickelte Treiberfamilie, die hauptsächlich mit der Programmiersprache Java eingesetzt wird.
- OpenDBX ist eine in der Programmiersprache C geschriebene und auf Geschwindigkeit und Flexibilität optimierte Datenbankschnittstelle.
Häufig verwendete Datenbankschnittstellen
Im folgenden sind einige Programmiersprachen mit den üblicherweise genutzten Datenbankschnittstellen aufgeführt.
- C++/Windows: ODBC (Open DataBase Connectivity)
- Object Pascal/Delphi: BDE (Borland Database Engine)
- Perl: Perl DBI (Perl DataBase Independent)
- Visual Basic: Microsoft ADO (ActiveX Data Objects)
Wikimedia Foundation.