Junior — Middle
Leg uit wat transacties zijn in databasebeheersystemen en hun belangrijkste eigenschappen.
sobes.tech AI
Antwoord van AI
Een transactie in een databasebeheersysteem (DBMS) is een reeks bewerkingen die als één ondeelbare eenheid wordt uitgevoerd. Het belangrijkste idee is dat alle transactie-operaties succesvol worden uitgevoerd of geen enkele wordt toegepast (atomair).
De belangrijkste eigenschappen van transacties worden beschreven met de afkorting ACID:
- Atomiciteit: de transactie wordt volledig uitgevoerd of helemaal niet.
- Consistentie: na het voltooien van de transactie blijft de database in een correcte staat, die aan alle beperkingen voldoet.
- Isolatie: gelijktijdige transacties beïnvloeden elkaar niet, het resultaat is alsof ze sequentieel worden uitgevoerd.
- Durabiliteit: na bevestiging (commit) blijven de wijzigingen bestaan, zelfs bij systeemstoringen.
Voorbeeld in C# met transacties 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;
}
}
}