Transaktionen in Datenbanken

Definition: Transaktionen in Datenbanken  

Mittlerweile gehören Anwendungen mit Datenbanken in vielen EDV-Systemen zum Standard.

Die Basis für diese Anwendungen stellen die sogenannten Transaktionen dar, deren Aufgaben darin bestehen, die Daten bei Aktivitäten zu ordnen, zu verwalten und speicherfähig zu strukturieren.

Nun stellt sich aber die Frage, wie der Begriff Transaktion konkret definiert werden kann und worin der Unterschied zwischen einer Transaktion und einer Aktion liegt.

       

Eine einfache Abfrage als Aktion stellt ein Datenbankmanagement vor keine allzu schwierige Aufgabe, auch wenn die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand überführt wird und damit die Wesenszüge einer Transaktion gegeben sind.

Allerdings ist die Aktion mit der Ausführung der Abfrage abgeschlossen und die in diesem Zusammenhang durchgeführten Aktionen bauen nicht aufeinander auf. Eine Transaktion hingegen ist eine Aneinanderreihung von mehreren Aktionen, die in logischem und inhaltlichem Zusammenhang zueinander stehen.

Ein Beispiel hierfür ist eine Überweisung, die aus mehreren Aktionen besteht, die aufeinander aufbauen, nämlich aus der Abbuchung des Geldbetrages von dem einen Konto und der Gutschrift des Betrages auf das andere Konto.

Kommt es während dieses Vorgangs nun zu einem Fehler, beispielsweise einem Rechnerabsturz, wäre das Geld bei einfachen Aktionen zwar von dem ersten Konto abgebucht, aber nicht auf dem anderen Konto gutgeschrieben worden. Arbeitet das System jedoch mit Transaktionen, erkennt es den Fehler und stellt den Zustand vor der Transaktion wieder her, indem es das Geld auf das erste Konto zurückbucht.

Solche Aktionen können sowohl durch den Benutzer als auch durch das Programm selbst durchgeführt werden. Vor allem mithilfe von SQL-Erweiterungen ist es beispielsweise möglich, Programme zu installieren, die eigenständig Vorgänge mit Vergleichen und Datenmanipulationen ausführen. 

 SQL-Befehle COMMIT und ROLLBACK      

Im Zusammenhang mit Transaktionen sehen sich Datenbanken jedoch mit zwei Problemen konfrontiert. Zum einen können bei komplexen Anwendungen oder Datenübertragungen in großem Umfang Schwierigkeiten im Hinblick auf den Erhalt der Daten oder deren Strukturen auftreten.

Allerdings darf es durch eine Transaktion nicht zu einem ungewollten Verlust von Daten oder zu Änderungen der Datenbankstrukturen kommen. Zum anderen muss die Datenbank in der Lage sein, zeitgleiche Abfragen verschiedener Benutzer abzuarbeiten.

Fügt ein Benutzer beispielsweise Daten in eine Tabelle ein während ein anderer Benutzer Daten aus eben dieser Tabelle löscht, muss die Datenbank diese Aktivitäten in eine geeignete Reihenfolge bringen, um Inkonsistenzen zu vermeiden.

In diesem Zusammenhang sind zwei SQL-Befehle von entscheidender Bedeutung, nämlich COMMIT und ROLLBACK. Durch COMMIT werden die Transaktionen übermittelt und damit für alle Benutzer, die gerade mit der Datenbank arbeiten, sichtbar gemacht. ROLLBACK bringt die Datenbank in einen konsistenten Zustand zurück.

Mehr Tipps und Ratgeber:

Thema: Definition: Transaktionen in Datenbanken  

Kommentar verfassen