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