Sobes.tech
Junior — Middle

Ma'lumotlar bazasi boshqaruv tizimlarida tranzaktsiyalar nima va ularning asosiy xususiyatlari haqida tushuntiring.

sobes.tech AI

AIdan javob

Ma'lumotlar bazasini boshqarish tizimida (DBMS) tranzaksiya - bu bir butun sifatida bajariladigan operatsiyalar ketma-ketligidir. Asosiy g'oya shundaki, tranzaksiyaning barcha operatsiyalari muvaffaqiyatli bo'lishi yoki hech biri qo'llanilmasligi kerak (atomiklik).

Tranzaktsiyalarning asosiy xususiyatlari ACID qisqartmasi bilan tavsiflanadi:

  • Atomiklik: tranzaksiya to'liq bajariladi yoki umuman bajarilmaydi.
  • Mos kelish: tranzaksiya tugagach, ma'lumotlar bazasi to'g'ri holatda qoladi, barcha cheklovlarni bajaradi.
  • Izolyatsiya: parallel tranzaksiyalar bir-biriga ta'sir qilmaydi, natija shunday bo'ladiki, ular ketma-ket bajarilgan kabi bo'ladi.
  • Mustahkamlik: (commit) tasdiqlangandan so'ng, o'zgarishlar tizim xatoliklaridan qat'i nazar saqlanadi.

C# da ADO.NET yordamida tranzaktsiyalar misoli:

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