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