Eine Transaktion ist eine einzelne logische Arbeitseinheit, die auf den Inhalt einer Datenbank zugreift und diesen möglicherweise modifiziert. Transaktionen greifen mit Lese- und Schreibvorgängen auf Daten zu. 
Um die Konsistenz in einer Datenbank vor und nach der Transaktion aufrechtzuerhalten, werden bestimmte Eigenschaften befolgt. Diese werden ACID- Eigenschaften genannt. 

Atomarität 
Damit meinen wir, dass entweder die gesamte Transaktion auf einmal stattfindet oder gar nicht stattfindet. Es gibt keinen Mittelweg, dh Transaktionen finden nicht teilweise statt. Jede Transaktion wird als eine Einheit betrachtet und entweder vollständig ausgeführt oder gar nicht ausgeführt. Es beinhaltet die folgenden zwei Operationen. 
Abort : Wenn eine Transaktion abgebrochen wird, sind Änderungen an der Datenbank nicht sichtbar. 
Festschreiben : Wenn eine Transaktion festgeschrieben wird, sind die vorgenommenen Änderungen sichtbar. 
Atomarität ist auch als „Alles-oder-nichts-Regel“ bekannt. 
 

 

Betrachten Sie die folgende Transaktion T bestehend aus T1 und T2 : Überweisung von 100 von Konto X auf  Konto Y.

Wenn die Transaktion nach Abschluss von T1 , aber vor Abschluss von T2 fehlschlägt (z. B. nach Write(X) , aber vor Write(Y) ), wurde der Betrag von X abgezogen , aber nicht zu Y hinzugefügt . Dies führt zu einem inkonsistenten Datenbankzustand. Daher muss die Transaktion vollständig ausgeführt werden, um die Korrektheit des Datenbankstatus sicherzustellen. 

  
Konsistenz 
Dies bedeutet, dass Integritätsbedingungen eingehalten werden müssen, damit die Datenbank vor und nach der Transaktion konsistent ist. Es bezieht sich auf die Korrektheit einer Datenbank. Unter Bezugnahme auf das obige Beispiel muss 
der Gesamtbetrag vor und nach der Transaktion beibehalten werden. 
Gesamt bevor T auftritt = 500 + 200 = 700
Gesamt nach Auftreten von T = 400 + 300 = 700
Daher ist die Datenbank konsistent . Inkonsistenz tritt auf, wenn T1 abgeschlossen ist, T2 jedoch fehlschlägt. Als Ergebnis ist T unvollständig. 

  
Isolation 
Diese Eigenschaft stellt sicher, dass mehrere Transaktionen gleichzeitig stattfinden können, ohne dass es zu einer Inkonsistenz des Datenbankstatus kommt. Transaktionen erfolgen unabhängig voneinander ohne Eingriffe. Änderungen, die in einer bestimmten Transaktion auftreten, sind für keine andere Transaktion sichtbar, bis diese bestimmte Änderung in dieser Transaktion in den Speicher geschrieben oder festgeschrieben wurde. Diese Eigenschaft stellt sicher, dass die gleichzeitige Ausführung von Transaktionen zu einem Zustand führt, der einem Zustand entspricht, der erreicht wurde, wenn diese seriell in einer bestimmten Reihenfolge ausgeführt wurden. 
Seien X = 500, Y = 500. 
Betrachten Sie zwei Transaktionen T und T“. 

Angenommen , T wurde bis Read (Y) ausgeführt und dann beginnt T'' . Infolgedessen findet eine Verschachtelung von Operationen statt, aufgrund derer T'' den korrekten Wert von X liest, aber den falschen Wert von Y und die von
T''  berechnete Summe  : (X + Y = 50, 000 + 500 = 50, 500)
ist somit stimmt nicht mit der Summe am Ende der Transaktion überein: 
T: (X+Y = 50.000 + 450 = 50.450)
Dies führt aufgrund eines Verlusts von 50 Einheiten zu einer Datenbankinkonsistenz. Daher müssen Transaktionen isoliert stattfinden und Änderungen sollten erst sichtbar sein, nachdem sie im Hauptspeicher vorgenommen wurden. 

  
Dauerhaftigkeit: 
Diese Eigenschaft stellt sicher, dass nach Abschluss der Transaktion die Aktualisierungen und Änderungen an der Datenbank gespeichert und auf die Festplatte geschrieben werden und auch bei einem Systemausfall bestehen bleiben. Diese Aktualisierungen werden nun permanent und werden im nichtflüchtigen Speicher gespeichert. Die Wirkungen der Transaktion gehen somit nie verloren. 

Die ACID- Eigenschaften bieten insgesamt einen Mechanismus, um die Korrektheit und Konsistenz einer Datenbank so sicherzustellen, dass jede Transaktion eine Gruppe von Vorgängen ist, die als einzelne Einheit fungiert, konsistente Ergebnisse erzeugt, isoliert von anderen Vorgängen agiert und diese aktualisiert Fabrikate werden dauerhaft gespeichert. 

Dieser Artikel wurde von Avneet Kaur beigesteuert . Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel über Contribute.geeksforgeeks.org schreiben oder Ihren Artikel per E-Mail an Contribute@geeksforgeeks.org senden. Sehen Sie, wie Ihr Artikel auf der Hauptseite von GeeksforGeeks erscheint, und helfen Sie anderen Geeks. 

Lernen Sie alle GATE CS-Konzepte mit kostenlosen Live-Kursen auf unserem YouTube-Kanal kennen.