Sobes.tech
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;
        }
    }
}