Junior — Middle
Magyarázza el, hogy mik a tranzakciók az adatbázis-kezelő rendszerekben és azok fő jellemzői.
sobes.tech MI
Válasz az MI-től
Egy tranzakció egy adatbázis-kezelő rendszerben (DBMS) olyan műveletek sorozata, amelyeket egységes egészként hajtanak végre. A fő ötlet az, hogy vagy minden művelet sikeresen végrehajtódik, vagy egyik sem (atomitás).
A tranzakciók fő jellemzőit az ACID rövidítés írja le:
- Atomitás: a tranzakció teljes egészében végrehajtódik vagy egyáltalán nem.
- Konzisztencia: a tranzakció befejezése után az adatbázis helyes állapotban marad, minden korlátozást kielégítve.
- Izoláció: párhuzamos tranzakciók nem befolyásolják egymást, az eredmény olyan, mintha egymás után hajtódnának végre.
- Tartósság: a megerősítés (commit) után a változtatások megmaradnak még rendszerhiba esetén is.
Példa C#-ban tranzakciók használatával az ADO.NET-ben:
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;
}
}
}