Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ...

52
Συναλλαγές Βάσεις Δεδομένων ΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές . . . . . . Συναλλαγές Βάσεις Δεδομένων ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012

Transcript of Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ...

Page 1: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Βάσεις Δεδομένων ΙΙ

Τμήμα Μηχανικών Η/Υ και ΠληροϕορικήςΠολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

Εαρινό Εξάμηνο 2011-2012

Page 2: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Table of contents

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

Page 3: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Table of contents

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

Page 4: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Table of contents

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

Page 5: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

ToC

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

. . . . . .

Page 6: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Tread(A)A -= 30write(A)read(B)B += 30write(B)

Πότε χρειαζόμαστε συναλλαγές?

Page 7: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

ACID

Atomicity

ConsistencyIsolationDurability

Page 8: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

ACID

AtomicityConsistency

IsolationDurability

Page 9: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

ACID

AtomicityConsistencyIsolation

Durability

Page 10: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

ACID

AtomicityConsistencyIsolationDurability

Page 11: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

ACID

AtomicityConsistencyIsolationDurability

Page 12: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Ατομικότητα

Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία

ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων

Απομόνωση

Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα

Αντοχή

Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων

Page 13: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Ατομικότητα

Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία

ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων

Απομόνωση

Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα

Αντοχή

Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων

Page 14: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Ατομικότητα

Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία

ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων

Απομόνωση

Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα

Αντοχή

Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων

Page 15: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συναλλαγές

Ατομικότητα

Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία

ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων

Απομόνωση

Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα

Αντοχή

Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων

Page 16: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Συναλλαγών

Ενεργή

Εν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσαΕκτελεσμένη

Page 17: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Συναλλαγών

ΕνεργήΕν μέρη εκτελεσμένη

ΑποτυχημένηΔιακοπείσαΕκτελεσμένη

Page 18: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Συναλλαγών

ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένη

ΔιακοπείσαΕκτελεσμένη

Page 19: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Συναλλαγών

ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσα

Εκτελεσμένη

Page 20: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Συναλλαγών

ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσαΕκτελεσμένη

Page 21: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Ταυτόχρονη vs Σειριακή Εκτέλεση

Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή"Παράλληλα"?

Σειριακή

Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στησυνέπεια, αλλά..

"Παράλληλη"

Βελτιωμένη απόδοση και Χρήση ΠόρωνΠεριορισμένος Χρόνος Αναμονής

Page 22: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Ταυτόχρονη vs Σειριακή Εκτέλεση

Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή"Παράλληλα"?

Σειριακή

Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στησυνέπεια, αλλά..

"Παράλληλη"

Βελτιωμένη απόδοση και Χρήση ΠόρωνΠεριορισμένος Χρόνος Αναμονής

Page 23: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Συνέπεια

T1 T2

read(A)A = A-50

read(A)A = A -50write(A)read(B)

write(A)read(B)B = B + 50write(B)

B = B + 50write(B)

Page 24: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Σειριακή Διάταξη με Διένεξη

Δύο εντολές έρχονται σε διένεξη αν:

είναι διαϕορετικών συναλλαγώνχρησιμοποιούν τα ίδια δεδομέναμια από αυτές είναι write()

Page 25: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Σειριακή Διάταξη με Διένεξη

Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.

Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.

Ιδιαίτερα αυστηρό κριτήριο

Page 26: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Σειριακή Διάταξη με Διένεξη

Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.

Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.

Ιδιαίτερα αυστηρό κριτήριο

Page 27: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Σειριακή Διάταξη με Διένεξη

Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.

Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.

Ιδιαίτερα αυστηρό κριτήριο

Page 28: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Σειριακή Διάταξη με Διένεξη

T1 T2read(A)write(A)

read(A)write(A)

read(B)write(B)

read(B)write(B)

Σειριακή διάταξη?

Page 29: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Έλεγχος σειριακής διάταξης

Γράϕημα Προτεραιότητας

κόμβοι: συναλλαγέςακμές: Ti → Tj αν:

Ti εκτελεί write(A) πριν η Tj εκτελέσει read(A)Ti εκτελεί write(A) πριν η Tj εκτελέσει write(A)Ti εκτελεί read(A) πριν η Tj εκτελέσει write(A)

Αν το γράϕημα περιέχει κύκλο, τότε το αντίστοιχοχρονοδιάγραμμα δεν είναι σειριακής διάταξης μεδιένεξη

Page 30: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Έλεγχος σειριακής διάταξης

Γράϕημα Προτεραιότητας

κόμβοι: συναλλαγέςακμές: Ti → Tj αν:

Ti εκτελεί write(A) πριν η Tj εκτελέσει read(A)Ti εκτελεί write(A) πριν η Tj εκτελέσει write(A)Ti εκτελεί read(A) πριν η Tj εκτελέσει write(A)

Αν το γράϕημα περιέχει κύκλο, τότε το αντίστοιχοχρονοδιάγραμμα δεν είναι σειριακής διάταξης μεδιένεξη

Page 31: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Παράδειγμα

είναι τα παρακάτω σειριοποιήσιμα?

S1 = R1(x),R2(y), W2(x), W1(x)S2 = R4(x), R1(x), R2(y), W2(x), R3(y), W3(y), R4(z),W4(x), W2(z), W4(y)

Page 32: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

ToC

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

. . . . . .

Page 33: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Εισαγωγή

Πως διασϕαλίζουμε ότι τα χρονοδιαγράμματα μπαίνουνσε σειριακή διάταξη?

Page 34: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Καταστάσεις Κλειδώματος

Κοινόχρηστη (S)Αποκλειστική (X)

S XS True FalseX Flase Flase

Συναρτήσεις

lock-S(A)lock-X(A)unlock(A)

Page 35: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Πρωτόκολλο κλειδώματος δυο ϕάσεων 2PL

κάθε συναλλαγή κλειδώνει και ξεκλειδώνει πόρους σε 2ϕάσεις:

Φάση ΑνάπτυξηςΦάση Σύμπτυξης

Παραλλαγές:

Strict 2PLRigorous 2PL

Διασϕαλίζει Σειριακή Διάταξη Διένεξης

Page 36: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Παράδειγμα

μπορεί το παρακάτω χρονοπρόγραμμα να είναιαποτέλεσμα του 2PL?

R1[x], W2[x], R1[x]

Page 37: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]

Page 38: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

Page 39: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y]

X

Page 40: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

X

Page 41: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y]

X

Page 42: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z]

X X

Page 43: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X X

Page 44: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y]

X X

Page 45: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y]

X X

W1[z]

Page 46: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y] U1[z]

X X

W1[z]

Page 47: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y] U1[z] S2[z]

S

R2[z]

X X

W1[z]

Page 48: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y] U1[z] S2[z]

S

R2[z] S3[z] R3[z]

X X

W1[z]

S

Page 49: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Λύση - Άσκηση 1

R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1

T2

T3

x y z

X1[y] R1[y] S2[x] R2[x]

S

W1[y] X1[z] U1[y]

X3[y]

X

W3[y] U1[z] S2[z]

S

R2[z] S3[z]

S

R3[z] U1, 2, 3[all]

X X

W1[z]

S

Page 50: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Άσκηση 2

R1(X);R2(Y);W1(X);R2(X);R3(Z);W3(Z);R1(Y);R3(X);W1(Y);

Page 51: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

ToC

1 Εισαγωγή

2 Συγχρονικότητα

3 Αναϕορές

. . . . . .

Page 52: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents

Συναλλαγές

ΒάσειςΔεδομένων ΙΙ

Εισαγωγή

Συγχρονικότητα

Αναϕορές

. . . . . .

Αναϕορές

Abraham Silberschatz, Henry F. Korth and S.Sudarshan, Database System Concepts FourthEdition, McGraw-Hill, 2002Raghu Ramakrishnan and Johannes Gehkre,Database Management Systems Second Edition,McGraw Hill, 2000