Junior — Middle
Маалыматтар базасын башкаруу системаларында транзакциялар эмне жана алардын негизги өзгөчөлүктөрү.
sobes.tech AI
AIден жооп
Маалыматтар базасын башкаруу системасында (DBMS) транзакция — бул бир бүтүн катары ишке ашырылуучу операциялар сериясы. Негизги идея — транзакциянын бардык операциялары ийгиликтүү аяктап же эч бири колдонулбашы керек (атомдүүлүк).
Транзакциялардын негизги өзгөчөлүктөрү ACID кыскартмасы менен сүрөттөлөт:
- Атомдүүлүк: транзакция толугу менен ишке ашырылат же эч качан ишке ашырылбайт.
- Туруктуулук: транзакция аяктагандан кийин маалыматтар базасы туура абалда калат, бардык чектөөлөргө жооп берет.
- Изоляция: параллел транзакциялар бири-бирине таасир этпейт, натыйжа ошондой болот, сыягы, алар кезек-кезеги менен ишке ашырылган.
- Туруктуулук: бекитүүдөн (commit) кийин өзгөртүүлөр сакталат, системалык бузулуулары болбосо да.
C#да 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;
}
}
}