<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.165.181.193</id>
	<title>Wikipedia (Deutsch) – Lokale Kopie - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.165.181.193"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php/Spezial:Beitr%C3%A4ge/87.165.181.193"/>
	<updated>2026-06-27T20:00:58Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenbankabstraktionsschicht&amp;diff=1317855</id>
		<title>Datenbankabstraktionsschicht</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenbankabstraktionsschicht&amp;diff=1317855"/>
		<updated>2024-09-24T08:28:55Z</updated>

		<summary type="html">&lt;p&gt;87.165.181.193: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine &#039;&#039;&#039;Datenbankabstraktionsschicht&#039;&#039;&#039; (englisch &#039;&#039;database abstraction layer&#039;&#039;) ist eine [[Programmierschnittstelle]], welche die Verbindung zwischen einer [[Software]]-[[Anwendungsprogramm|Anwendung]] und damit zu verbindenden [[Datenbank]]en vereinheitlicht. Damit kann ein Verwalter bei der Installation der Anwendung aus einer Reihe möglicher Datenbankprodukte wählen, ohne dass der [[Quelltext|Programmcode]] angepasst werden muss.&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Datenbanken und Programmierumgebungen hatten sich mit der Zeit eigene [[Datenbankschnittstelle]]n 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 und somit auch die Wartbarkeit der Software verbessert. Darüber hinaus ist durch eine Datenbankabstraktionsschicht eine gewisse Datenbankunabhängigkeit sichergestellt, womit der [[Lock-in-Effekt]] stark reduziert wird.&lt;br /&gt;
&lt;br /&gt;
Andererseits können über eine Datenbankabstraktionsschicht über den Standard (etwa [[SQL#Sprachstandard|SQL]]) hinausgehende Funktionen nicht oder nur eingeschränkt genutzt werden. Als weiterer Nachteil einer Datenbankabstraktionsschicht wird oft der zusätzliche Verarbeitungsaufwand für die Sprach- und Datenumsetzungen zur Laufzeit angesehen; andererseits erhöhen Optimierungsmöglichkeiten der Datenbankabstraktionsschicht wie [[Cache|Caching]], Dirty Checking, [[Pool (Informatik)|Connection-Pooling]] oder Lazy Loading die Leistung.&lt;br /&gt;
&lt;br /&gt;
Für die meisten [[Programmiersprache]]n und eine Anzahl von [[Framework]]s stehen heute Datenbankabstraktionsschichten zur Verfügung, etwa:&lt;br /&gt;
&lt;br /&gt;
* [[PHP Data Objects|PDO]], [[ADOdb]] oder auch [[Doctrine (PHP)|Doctrine]] für [[PHP]] &amp;lt;!-- Dbx und SDO sind schon sehr lange aus der Maintenance raus, so dass ich sie hier entfernen würde - siehe:&lt;br /&gt;
https://pecl.php.net/package/SCA_SDO&lt;br /&gt;
https://pecl.php.net/package/dbx --&amp;gt;&lt;br /&gt;
* [[Perl-DBI|DBI]] für [[Perl (Programmiersprache)|Perl]]&lt;br /&gt;
* DBAL für [[TYPO3]]&lt;br /&gt;
* Database Server bei [[SAP ERP]]&lt;br /&gt;
* [[JDBC]] sowie diverse Java-Persistenzframeworks wie [[Hibernate (Framework)|Hibernate]], [[iBATIS]] oder [[EclipseLink]] für [[Java (Programmiersprache)|Java]]&lt;br /&gt;
&lt;br /&gt;
Für die Sprache [[C (Programmiersprache)|C]] und [[C++]] wird etwa die Bibliothek [[OpenDBX]] angeboten, welche eine hohe Zugriffsgeschwindigkeit sicherstellen soll, während bei der sprach- und [[plattformübergreifend]]en Datenbankschnittstelle [[ODBC]] mehr Wert auf einheitliche Standards und hohe Verbreitung gelegt wird.&lt;br /&gt;
&lt;br /&gt;
Weitergehende Funktionen eines dba kommen bei [[objektorientiert|objektorientierten]] Umgebungen zum Einsatz, wo das API auch die Abbildung von [[Objekt (Programmierung)|Objekt]]en auf die ggf. abweichende, etwa [[relationale Datenbank|relational]]e Tabellenstruktur leistet.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Objektrelationale Abbildung]]&lt;br /&gt;
* [[Active Record]]&lt;br /&gt;
* [[Schichtenarchitektur]]&lt;br /&gt;
[[Kategorie:Datenbankschnittstelle]]&lt;br /&gt;
[[Kategorie:Programmierschnittstelle]]&lt;/div&gt;</summary>
		<author><name>87.165.181.193</name></author>
	</entry>
</feed>