Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι εννοείται με τη συναλλαγή στο πλαίσιο του SQL και πώς λειτουργεί;

sobes.tech AI

Απάντηση από AI

Στο πλαίσιο του SQL, μια συναλλαγή είναι μια ακολουθία ενεργειών σε μια βάση δεδομένων που εκτελείται ως μια ενιαία μονάδα. Η συναλλαγή διασφαλίζει ότι όλες οι ενέργειες μέσα σε αυτήν ολοκληρώνονται με επιτυχία ή καμία από αυτές δεν θα επηρεάσει τη βάση δεδομένων (ατομικότητα).

Βασικές ιδιότητες των συναλλαγών (ACID):

  • Ατομικότητα: όλες οι ενέργειες μέσα στη συναλλαγή εκτελούνται πλήρως ή καθόλου.
  • Συνεπτικότητα: μετά την εκτέλεση της συναλλαγής, η βάση δεδομένων παραμένει σε σωστή κατάσταση.
  • Απομόνωση: παράλληλες συναλλαγές δεν επηρεάζουν η μία την άλλη.
  • Αποθήκευση: μετά την επιβεβαίωση της συναλλαγής, οι αλλαγές διατηρούνται ακόμα και σε περίπτωση σφαλμάτων.

Παράδειγμα χρήσης μιας συναλλαγής σε SQL:

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Εάν προκύψει σφάλμα κατά τη διάρκεια της διαδικασίας, μπορεί να εκτελεστεί το ROLLBACK; — τότε οι αλλαγές θα ακυρωθούν.