SQL: Ποια είναι η διαφορά μεταξύ συναλλαγής και ερωτήματος;


Απάντηση 1:
  • Ατομικότητα (όλες οι δηλώσεις στη συναλλαγή εκτελούνται, ή καμία) Συνέπεια (η βάση δεδομένων δεν είναι ποτέ ορατή σε μια ασυνεπή κατάσταση) Απομόνωση (μια συναλλαγή δεν επηρεάζει άλλες συναλλαγές) Ανθεκτικό (αφού δεσμευτεί, οι αλλαγές στη συναλλαγή είναι μόνιμες)
ΕΝΑΡΞΗ ΣΥΝΑΛΛΑΓΗΣ; UPDATE λογαριασμοί SET ισορροπία = ισορροπία + 100 WHERE account_id = 98; UPDATE λογαριασμοί SET ισορροπία = ισορροπία - 100 WHERE account_id = 42; ΔΙΑΠΡΑΤΤΩ;

Απάντηση 2:

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

δηλαδή

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

είναι συναλλακτικά διαφορετική από

αρχίστε tran

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

διαπραγμάτευση

Στην πρώτη περίπτωση αν λέγεται ότι η διαδικασία σταματά στη μέση της διαγραφής, μετά την επαναφορά της διαγραφής, η ενημέρωση θα έχει γίνει ακόμα. Στη δεύτερη, θα επαναληφθεί αν η διαγραφή ξεκινήσει.


Απάντηση 3:

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

δηλαδή

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

είναι συναλλακτικά διαφορετική από

αρχίστε tran

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

διαπραγμάτευση

Στην πρώτη περίπτωση αν λέγεται ότι η διαδικασία σταματά στη μέση της διαγραφής, μετά την επαναφορά της διαγραφής, η ενημέρωση θα έχει γίνει ακόμα. Στη δεύτερη, θα επαναληφθεί αν η διαγραφή ξεκινήσει.


Απάντηση 4:

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

δηλαδή

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

είναι συναλλακτικά διαφορετική από

αρχίστε tran

ενημέρωση της γραμμής ρύθμισης FOO = Γραμμή + 1

διαγράψτε από FOO όπου BAZ = 1000

διαπραγμάτευση

Στην πρώτη περίπτωση αν λέγεται ότι η διαδικασία σταματά στη μέση της διαγραφής, μετά την επαναφορά της διαγραφής, η ενημέρωση θα έχει γίνει ακόμα. Στη δεύτερη, θα επαναληφθεί αν η διαγραφή ξεκινήσει.