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;
        }
    }
}