Sobes.tech
Junior — Middle

Erklären Sie, was Transaktionen in Datenbankverwaltungssystemen sind und ihre Hauptmerkmale.

sobes.tech KI

Antwort von AI

Eine Transaktion in einem Datenbankverwaltungssystem (DBMS) ist eine Sequenz von Operationen, die als unteilbare Einheit ausgeführt wird. Die Hauptidee ist, dass entweder alle Transaktionsoperationen erfolgreich sind oder keine angewendet wird (Atomarität).

Die wichtigsten Eigenschaften von Transaktionen werden durch die Abkürzung ACID beschrieben:

  • Atomarität: Die Transaktion wird vollständig ausgeführt oder gar nicht.
  • Konsistenz: Nach Abschluss der Transaktion bleibt die Datenbank in einem korrekten Zustand, der alle Einschränkungen erfüllt.
  • Isolation: Parallele Transaktionen beeinflussen sich nicht gegenseitig, das Ergebnis ist so, als würden sie sequenziell ausgeführt.
  • Dauerhaftigkeit: Nach der Bestätigung (Commit) bleiben die Änderungen auch bei Systemausfällen erhalten.

Beispiel in C# mit Transaktionen in ADO.NET:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (var transaction = connection.BeginTransaction())
    {
        try
        {
            var command = connection.CreateCommand();
            command.Transaction = transaction;

            command.CommandText = "INSERT INTO Accounts (Name, Balance) VALUES ('User1', 1000)";
            command.ExecuteNonQuery();

            command.CommandText = "UPDATE Accounts SET Balance = Balance - 100 WHERE Name = 'User2'";
            command.ExecuteNonQuery();

            transaction.Commit();
        }
        catch
        {
            transaction.Rollback();
            throw;
        }
    }
}