Junior — Middle
Verilənlər bazası kontekstində əməliyyatın nə olduğunu izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Veritabanlarındaki əməliyyat, bir bütöv kimi həyata keçirilən əməliyyatlar ardıcıllığıdır. Əməliyyat ya uğurla tamamlanır (commit) və ya hər hansı bir səhv baş verərsə tamamilə geri alınır (rollback). Bu, məlumatların bütövlüyünü təmin edir və qismən yeniləmələrin qarşısını alır.
Əməliyyatların əsas xüsusiyyətləri ACID qısaltması ilə təsvir olunur:
- Atomiklik — əməliyyatlar ya tam şəkildə həyata keçirilir, ya da heç həyata keçirilmir.
- Uyğunluq — əməliyyatın sonunda verilənlər bazası düzgün vəziyyətdə qalır.
- İzolyasiya — paralel əməliyyatlar bir-birinə təsir etmir.
- Davamlılıq — əməliyyat təsdiqləndikdən sonra dəyişikliklər saxlanılır, hətta nasazlıqlar olsa belə.
Node.js-də pg kitabxanası ilə PostgreSQL üçün nümunə:
const { Client } = require('pg');
async function runTransaction() {
const client = new Client();
await client.connect();
try {
await client.query('BEGIN');
await client.query('INSERT INTO users(name) VALUES($1)', ['Alice']);
await client.query('INSERT INTO accounts(user_id, balance) VALUES($1, $2)', [1, 100]);
await client.query('COMMIT');
} catch (e) {
await client.query('ROLLBACK');
throw e;
} finally {
await client.end();
}
}