Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή

Σχετικά έγγραφα
Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

DBTechNet. DBTech VET. SQL Transactions. Θεωρία και Ασκήσεις Πρακτικής Εφαρμογής. Στην ελληνική

Κεφάλαιο 13 Δοσοληψίες

10 η Διάλεξη Python Βάσεις δεδομένων στη python

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Βάσεις Δεδομένων ΙΙ Ενότητα 1

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Μαθήματα Ειδικής Υποδομής Υποχρεωτικά. Παραδόσεις 4. Βάσεις Δεδομένων Ι

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

Συστήµατα Τηλεκπαίδευσης: Κύκλος ζωής εκπαιδευτικού υλικού

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό

Διαχείριση Πολιτισμικών Δεδομένων

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Επεξεργασία οσοληψιών (συνέχεια)

Επαναφορά του Συστήματος (Μέρος Α')

Συστήματα Διαχείρισης Ποιότητας Το πρότυπο ISO9001:2015 και οι εφαρμογές του

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

Επεξεργασία οσοληψιών

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΣΧΟΛΗ ΠΟΛΥΤΕΧΝΙΚΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0102 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Παραδόσεις 4 ΥΠΟΧΡΕΩΤΙΚΟ. Δεν υφίστανται προϋποθέσεις ΕΛΛΗΝΙΚΑ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Βάσεις Δεδομένων ΙΙ Ενότητα 2


ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Βάσεις Δεδομένων ΙΙ Ενότητα 2

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Περιεχόμενο του μαθήματος

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0176 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9.

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ

Σχεδιασμός Βάσεων Δεδομένων

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Παραδόσεις 4. Δεν υφίστανται απαιτήσεις. Ελληνική/Αγγλική

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

Μάθηµα 2. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Παραδόσεις 4. Ειδικής Υποδομής Υποχρεωτικό. Δεν υπάρχουν. Ελληνική/Αγγλική

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

ΣΕΜΙΝΑΡΙΟ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ

ECVET Αναλυτικό Πρόγραµµα Εκπαίδευσης ανά Ενότητα ΠΡΟΤΥΠΟ. Μαθησιακά Αποτελέσµατα. Με την ολοκλήρωση της ενότητας ο εκπαιδευόµενος αναµένεται να:

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Μαθήματα Ειδικής Υποδομής Υποχρεωτικά. Εργαστήριο 2 Παραδόσεις 3

ΥΠΟΔΟΧΗ ΠΡΩΤΟΕΤΩΝ ΦΟΙΤΗΤΩΝ Παρουσίαση του Τµήµατος

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

ΣΧΟΛΗ ΔΙΟΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2680

ΚΑΝΟΝΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΑΙΘΟΥΣΩΝ ΤΗΛΕΚΠΑΙΔΕΥΣΗΣ

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό)

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΤΕΧΝΙΚΟΟΙΚΟΝΟΜΙΚΗ ΑΝΑΛΥΣΗ ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Τοµέας Εϖιµόρφωσης & Κατάρτισης

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε.

Το διαδίκτυο ως εργαλείο αξιολόγησης του Εκπαιδευτικού Προσωπικού. Το παράδειγμα του Τμήματος Τυποποίησης & Διακίνησης Προϊόντων (Logistics)

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αποµακρυσµένη κλήση διαδικασιών

Σύντοµος Οδηγός Βοήθειας για τη Χρήση των Μαθηµάτων e-learning για το ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Πτυχί ο στην Εφαρμοσμέ νη Πληροφορίκη

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΣΤΗΝ ΧΡΗΣΗ ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙ ΕΥΤΙΚΗ Ι ΑΚΤΙΚΗ ΙΑ ΙΚΑΣΙΑ. Οδηγίες για την πιστοποίηση των εκπαιδευτικών

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Α/Α Τύπος Εκφώνηση Απαντήσεις Το λογισµικό Άτλαντας CENTENNIA µπορεί να χρησιµοποιηθεί 1. Α) Στην ιστορία. Σωστό το ) Σωστό το Γ)

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΛΟΓΙΣΤΙΚΗΣ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 4

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Δημόσια Οικονομική. Διαλέξεις 4 6. Ελληνική. Ναι (στην Αγγλική)

Έλεγχος Ταυτοχρονισμού

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Διαχείριση Έργων. Ενότητα 7: Εκτέλεση, παρακολούθηση και έλεγχος έργου

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Ιατρική Πληροφορική. Δρ. Π. ΑσβεστΑΣ ΤμΗμα ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

Transcript:

DBTech VET Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 1 από 13 www.dbtechnet.org DBTech VET Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Συγγραφείς Martti Laiho και Δηµήτριος Δέρβος Αποποίηση Ευθύνης Το έργο DBTech VET teachers έχει χρηµατοδοτηθεί από την Ευρωπαϊκή Ένωση. Η παρούσα έκδοση (επικοινωνία) αντανακλά τις απόψεις µόνον των συγγραφέων της και η Ευρωπαϊκή Ένωση δεν µπορεί να καταστεί υπεύθυνη για την παρεχόµενη πληροφόρηση καθώς επίσης και για τον τρόπο µε τον οποίο αυτή πρόκειται να χρησιµοποιηθεί. Τα εµπορικά σήµατα και οι ονοµασίες των προϊόντων που αναφέρονται αποτελούν ιδιοκτησία των κατασκευαστών τους. Στόχοι Η αξιοπιστία της διαδικασίας και των ανακτώµενων δεδοµένων χρειάζεται να βασίζεται στο σωστό σχεδιασµό των συναλλαγών SQL και να χαρακτηρίζεται από ΜΗΔΕΝΙΚΗ ΑΝΟΧΗ στην ύπαρξη λανθασµένου περιεχοµένου στη βάση δεδοµένων. Ο ασκούµενος πρέπει να διαθέτει την απαραίτητη γνώση και τις δεξιότητες ώστε να αναπτύσσει αξιόπιστες και ασφαλείς εφαρµογές στη βιοµηχανία των τεχνολογιών πληροφορικής και επικοινωνιών (ΤΠΕ). Οι ιδιότητες της αξιοπιστίας και της ασφάλειας σε αυτού του είδους τις εφαρµογές συνιστούν κρίσιµους παράγοντες επαγγελµατικής επιτυχίας ενώ η αποτυχία στην υποστήριξή τους ακόµη και σε ένα επιµέρους τµήµα των εφαρµογών µπορεί να έχει καταστροφικές συνέπειες στην επαγγελµατική σταδιοδροµία των ανθρώπων οι οποίοι τις σχεδίασαν και τις ανέπτυξαν. Η επαγγελµατική επιτυχία ξεκινά να χτίζεται µε τη σωστή εκπαίδευση και ο εκπαιδευτής υπέχει ρόλο-κλειδί στην προετοιµασία του µελλοντικού απαγγελµατία. Η πρόκληση για τον εκπαιδευτή στο παρόν βασικό µάθηµα είναι: (α) να προσδιορίσει πρώτα το τρέχον επίπεδο γνώσης και δεξιοτήτων του ακροατηρίου του, και (β) να παρουσιάσει τις βασικές έννοιες και τις προκλήσεις του αντικειµένου του µαθήµατος ενισχύοντας το ενδιαφέρον και το κίνητρο του ακρατηρίου του για την κατανόηση και την οικειοποίηση της σχετικής τεχνολογίας. Στοχευµένο ακροατήριο Στοχευµένο ακροατήριο του παρόντος οδηγού αποτελούν οι καθηγητές-εκπαιδευτές των κέντρων επαγγελµατικής κατάρτισης και επιµόρφωσης, και οι καθηγητές ανώτατων εκπαιδευτικών ιδρυµάτων µε επαγγελαµτικό, κυρίως, προσανατολισµό.

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 2 από 13 Προαπαιτούµενες γνώσεις Ο καθηγητής-εκπαιδευτής καλό είναι (α) να έχει παρακολουθήσει το αντίστοιχο µάθηµα/σεµινάριο εκπαίδευσης του έργου DBTech VET Teachers, (β) να έχει αποκτήσει πρακτική εµπειρία στη χρήση του εργαστηριακού περιβάλλοντος DBTechNet DebianDB database laboratory και (γ) να έχει διεκπεραιώσει τις σχετικές ασκήσεις χρησιµοποιώντας κατ ελάχιστον το προϊόν DBMS που πρόκειται να χρησιµοποιηθεί στο µάθηµα και, κατά προτίµηση, δύο προϊόντα DBMS: ένα το οποίο υλοποιεί τον έλεγχο του ταυτόχρονου στην εκτέλεση των συναλλαγών µε την τεχνολογία του κλειδώµατος µεταβλητού βαθµού ευαισθησίας (Multi-Granular Locking, MGL, π.χ. τα IBM DB2 και MS SQL Server) και ένα το οποίο χρησιµοποιεί την τεχνολογία των πολλαπλών εκδόσεων (Multi-Versioning Concurrency Control, MVCC, π,χ, τα MySQL/InnoDB και Oracle).

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 3 από 13 Εκπαιδευτικό περιεχόµενο Σχεδιασµός του µαθήµατος Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή. Το παρόν κείµενο το οποίο γίνεται διαθέσιµο σε έξι (6) γλώσσες: Αγγλικά, Ελληνικά, Εσθονικά, Ισπανικά, Ρωσικά και Φινλανδικά. Οι Συναλλαγές στην SQL Θεωρία και Ασκήσεις για Εξάσκηση στην Πράξη. Εγχειρίδιο (handbook) το οποίο γίνεται διαθέσιµο σε έξι (6) γλώσσες: Αγγλικά, Ελληνικά, Εσθονικά, Ισπανικά, Ρωσικά και Φινλανδικά. Τα Εισαγωγικά των Συναλλαγών στην SQL διαφάνειες MS PowerPoint για τις διαλέξεις επί της ύλης του µαθήµατος: στην Αγγλική γλώσσα. Τα Βασικά των Συναλλαγών στην SQL διαφάνειες PDF για τις διαλέξεις επί της ύλης του µαθήµατος: στην Αγγλική γλώσσα. Ευέλικτο εργαστηριακό περιβάλλον DBTechLab µεταφέρσιµης εικονικής µηχανής Debian Linux (αρχείο OVA/Virtual Box και συνοδευτικά κείµενα DebianDB) Γρήγορος Οδηγός Εκκίνησης στο περιβάλλον DebianDB (αρχείο PDF, τα εισαγωγικά του DBTechLab): στην Αγγλική γλώσσα. Φόρµα που συµπληρώνεται µέσω του διαδκτύου και αφορά στην αξιολόγηση του βαθµού επίτευξης των επιζητούµενων µαθησιακών αποτελεσµάτων επί θεµάτων διαχείρισης του ταυτόχρονου στην εκτέλεση των συναλλαγών. Γίνεται χρήση ερωτήσεων πολλαπλών επιλογών: στην Αγγλική γλώσσα. Φόρµες αξιολόγησης (τρεις τύποι ερωτηµατολογίων που συµπληρώνονται µέσω του δiαδικτύου): στην Αγγλική γλώσσα. Παιδαγωγική προσέγγιση Σε πρώτη φάση, διεξάγεται µία εισαγωγική διάλεξη προσανατολισµού στα κύρια σηµεία του περιεχοµένου του µαθήµατος. Η διάλεξη συµπεριλαµβάνει παρουσίαση µε διαφένειες και επίδειξη µε τη χρήση της εικονικής βάσης δεδοµένων σε ένα καταάλληλα προεπιλεγµένο περιβάλλον DBMS. Η διάλεξη/συνάντηση προσανατολισµού δεν πρέπει να ξεπερνά σε διάρκεια τα εξήντα (60) λεπτά της ώρας. Αµέσως µετά τη διάλεξη, οι εκπαιδευόµενοι θα πρέπει να έχουν την ευκαιρία να εξασκηθούν στην πράξη χρησιµοποιώντας το κατάλληλο προϊόν DBMS που συµπεριλαµβάνεται στο περιβάλλον της εικονικής µηχανής DBTechLab. Η όλη παιδαγωγική προσέγγιση βασίζεται στην παροχή της δυνατότητας στους εκπαιδευόµενους να αποδεικνύουν στην πράξη την ύπαρξη των προβληµάτων και των ενδεδειγµένων λύσεών τους, εκτελώντας µία σειρά από βήµατα κατανόησης και εκµάθησης της εν λόγω τεχνολογίας: προσανατολισµός/θεωρία πειραµατισµός νέα προβλήµατα ανάγκη επιπλέον κατάρτισης/γνώσης στο αντικείµενο -... Στόχο πρέπει να αποτελεί η επαύξηση του ενδιαφέρον και των κινήτρων του εκπαιδευόµενου στο αντικείµενο του µαθήµατος, µέσω της ελεύθερης πρόσβασης σε σύγχρονα προϊόντα DBMS που χρησιµοποιούνται σε πραγµατικές εφαρµογές. Προϊόντα DBMS τα οποία συνιστούν επιθυµητή τεχνογνωσία στις προϋποθέσεις για πρόσληψη που θέτει η σύγχρονη αγορά εργασίας. Αυτού του είδους η προσέγγιση αναµένεται να αυξήσει το ενδιαφέρον και τη βούληση του εκπαιδευόµενου να

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 4 από 13 επενδύσει χρόνο και ενέργεια για την απόκτηση της τεχνογνωσίας και των δεξιοτήτων που πρεσβεύει το παρόν µάθηµα κατάρτισης. Παρά την ύπαρξη του πρότυπου SQL που συνιστά κοινή βάση/µοντέλο διαλέκτου SQL για το τυπικό προϊόν DBMS, είναι γεγονός οι διαφοροποίησεις του τελευταίου σε σχέση µε το πρότυπο και µε τα άλλα προϊόντα DBMS. Για τον εκπαιδευόµενο, πλέον σηµαντικό µαθησιακό αποτέλεσµα είναι η απόκτηση δεξιοτήτων οι οποίες να του παρέχουν τη δυνατότητα να πειραµατίζεται µε διάφορα προϊόντα DBMS και να αποδεικνύει στην πράξη τη συµπεριφορά και τη λειτουργικότητά τους. Αυτού του είδους η προσέγγιση σχετίζεται άµεσα µε τον προγραµµατισµό των συναλλαγών κατά την ανάπτυξη εφραµογών πληροφοριακών συστηµάτων. Συµβουλές προς το διδάσκοντα Χρειάζεται να γίνει εξ αρχής απόλυτα κατανοητό το αντικείµενο της διδασκαλίας/κατάρτισης. Με τον τρόπο αυτό θα µπορούν να απαντώνται µε σαφληνεια και πληρότητα οι ερωτήσεις που θα θέτουν οι εκπαιδευόµενοι στην πορεία του µαθήµατος. Δεν χρειάζεται να θυσιαστεί η ποιότητα της διδασκαλίας στο βωµό του πρέπει να διδαχτούν όλα. Ανάλογα µε το διαθέσιµο χρόνο, αποφασίζεται το (υπο)σύνολο της ύλης που θα διδαχτεί. Δεν οφελούν η βιασύνη και το άγχος στην πορεία της διδασκαλίας/κατάρτισης! Πρέπει να γίνει απόλυτα κατανοητή από τους εκπαιδευόµενους η λειτουργικότητα των εντολών COMMIT και ROLLBACK. Τα τµήµατα του κειµένου τα οποία αναγράφονται µε έντονη γραφή (boldface) στο παρόν έντυπο πρεσβεύουν έννοιες και τεχνικές στις οποίες απαιτείται να επικεντρώνει ιδιαίτερα ο εκπαιδευτής στην πορεία του µαθήµατος. Δεν βλάπτει να έχει πάντα υπόψιν του ο δδάσκων ότι οι εκπαιδευόµενοι µπορούν να διαβάζουν και από µόνοι τους!

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 5 από 13 Θεµατολογία και Μαθησιακοί Στόχοι Η θεµατολογία και οι µαθησιακοί στόχοι του µαθήµατος SQL Transactions συµφωνούν µε τον ορισµό της γνωστικής περιοχής Information Management / Transaction Processing των προγραµµάτων σπουδών Computer Science Curricula 2013 των διεθνών οργανισµών ACM και IEEE (http://ai.stanford.edu/users/sahami/cs2013//strawman-draft/cs2013- strawman.pdf, σελίδα 91). Συγκεκριµένα, αντιστοιχούν στο (προτεινόµενο) περιεχόµενο µαθήµατος επιλογής προπτυχιακού επιπέδου σπουδών στην επεξεργασία των συναλλαγών. Απόδειξη των ανωτέρω συνιστά το γεγονός ότι ο Οδηγός Φοιτητή του βασικού επιπέδου µαθήµατος DBTech VET µε τίτλο SQL Transactions εξετάζει τα επιµέρους της θεµατολογίας και των στόχων του µαθήµατος-οδηγίας CS2013 της Εικόνας 1 που ακολουθεί: IM/TransactionProcessing [elective] Topics: Transactions Failure and recovery Concurrency control Learning Objectives: 1. Create a transaction by embedding SQL into an application program. 2. Explain the concept of implicit commits. 3. Describe the issues specific to efficient transaction execution. 4. Explain when and why rollback is needed and how logging assures proper rollback. 5. Explain the effect of different isolation levels on the concurrency control mechanisms. 6. Choose the proper isolation level for implementing a specified transaction protocol. Εικόνα 1 CS2013 Information Management (IM) / Transaction Processing Οι µαθησιακοί στόχοι που αναγράφονται στο κείµενο της Εικόνας 1, θεωρούµενοι στο πλαίσιο της επαγγελµατικής εκπαίδευσης και κατάρτισης στην Ευρώπη σήµερα, ικανοποιούνται ως εξής: 1. Για την ενσωµάτωση κώδικα SQL σε προγραµµατιστικό κώδικα εφαρµογών, στο Παράρτηµα 2 παρατίθεται κώδικας Java/JDBC. Ο συγκεκριµένος κώδικας πρέπει να παρουσιαστεί/εξηγηθεί από τον εκπαιδευτή στο ακροατήριο του µαθήµατος. Πάντως, ως θέµα, η ενσωµατωµένη SQL (ESQL) δεν συµπεριλαµάβεται στην τρέχουσα έκδοση του µαθήµατος DBTech VET 2. Όσον αφορά στο έµµεσο COMMIT ως έννοια, θεωρείται ότι η αναφορά του στο µάθηµαπροδιαγραφή CS2013 υποννοεί τη λειτουργικότητα AUTOCOMMIT. Στο µάθηµα DBTech VET εξετάζεται ακόµη µία περίπτωση λειτουργικότητας έµµεσου COMMIT: αυτή του αυτόµατου COMMIT που συνοδεύει την εκτέλεση εντολών τύπου DDL (για παράδειγµα: στα περιβάλλοντα/προϊόντα Oracle και MySQL/InnoDB). 3. Στο Παράρτηµα 3 γίνεται αναφορά στη Μεγάλη Εικόνα της αρχιτεκτονικής του εξυπηρετητή Βάσεων Δεδοµένων και της επεξεργασίας των συναλλαγών. Επίσης, το Κεφάλαιο 3 του εγχειριδίου SQL Transactions Handbook που έχει τίτλο Καλές Πρακτικές αναφέρεται επίσης το ίδιο θέµα (η επεξεργασία των συναλλαγών). Και στις δύο περιπτώσεις εξετάζεται το ζήτηµα της αποτελεσµατικής και παραγωγικής εκτέλεσης

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 6 από 13 των συναλλαγών, κάτι το οποίο οφείλεται να εξηγηθεί στους εκπαιδευόµενους από τον εκπαιδευτή/καθηγητή του µαθήµατος. 4. Η χρήση της εντολής ROLLBACK εξετάζεται στο Κεφάλαιο 1 και στις ασκήσεις πρακτικής εφαρµογής στο εργασήριο του εγχειριδίου SQL Transactions. Στο Παράρτηµα 3 εξηγούνται η σηµασία και η χρήση του ιστορικού των συναλλαγών στην υλοποίηση των διαδικασιών της ακύρωσης µίας συναλλαγής και της αυτόµατης επαναφοράς του περιεχοµένου της βάσης δεδοµένων σε περίπτωση βλάβης. 5. Στο Κεφάλαιο 2 του εγχειριδίου SQL Transactions εξετάζονται τυπικές περιπτώσεις προβληµάτων που σχετίζονται µε τον έλεγχο του ταυτόχρονου κατά την εκτέλεση των συναλλαγών. Επίσης εξετάζονται τα κατά το πρότυπο SQL επίπεδα αποµόνωσης και οι τεχνολογίες υλοποίησης των τελευταίων στα διάφορα προϊόντα DBMS. Επιπλέον εξετάζονται οι επιπτώσεις που έχουν στην όλη λειτουργικότητα ενός συστήµατος οι βασικού τύπου τεχνολογίες ελέγχου του ταυτόχρονου της εκτέλεσης των συναλλαγών: το κλείδωµα µεταβλητού βαθµού ευαισθησίας (MGL, LSCC) και ο έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις (MVCC). 6. Το θέµα της επιλογής του κατάλληλου επιπέδου αποµόνωσης για την αντιµετώπιση συγκεκριµένων περιπτώσεων προβληµάτων ελέγχου του ταυτόχρονου εξετάζεται µε έναν αριθµό ασκήσεων πρακτικής εφαρµογής και πειραµατισµού στην πράξη των εκπαιδευοµένων. Σηµείωση: το πρωτόκολλο συναλλαγής που αναφέρεται στον 6 ο µαθησιακό στόχο του µαθήµατος CS2013 (Εικόνα 1) δεν ευσταθεί ως έννοια στο πλαίσιο των παραπάνω. Το παρακάτω απόσπασµα κειµένου της ενότητας Πρόσφατες Εξελίξεις του Κεφαλαίου 3.1 της αναφοράς CC2008 (προγενέστερη έκδοση της αναφοράς CS2013) ισχύει επίσης κια για τα γνωστικά αντικείµενα των συναλλαγών στις βάσεις δεδοµένων, όπως και στις τεχνολογίες πρόσβασης σε δεδοµένα: Η διαρκώς αυξανόµενη σηµασία του ταυτοχρονισµού Η ανάπτυξη των πολυ-πύρηνων επεξεργαστών συνιστά µία σύγχονη, σηµαντική εξέλιξη στην αρχιτεκτονική των υπολογιστικών συστηµάτων. Στοχεύοντας στην πλήρη εκµετάλλευση της συγκεκριµένης τεχνολογίας, το λογισµικό χρειάζεται να υποστηρίζει λειτιυργικά τον ταυτοχρονισµό. Το τελευταίο συνεπάγεται την ανάγκη να εξετάζονται µε µεγαλύτερη έµφαση οι αρχές, οι τεχνικές και οι τεχνολογίες που σχετίζονται µε τον ταυτοχρονισµό. Είναι αρκετοί αυτοί που διατείνονται ότι όλες οι επόµενες σηµαντικές εξελίξεις του χώρου των επεξεργαστών θα σχετίζονται µε την ύπαρξη χαρακτηριστικών ταυτοχρονισµού, µε ακόµη µεγαλύτερη έµφαση σε στοιχεία ταυτοχρονισµού. Αυτού του είδους η προσέγγιση συνεπάγεται µε τη σειρά της ότι η ανάγκη για µεγαλύτερη έµφαση στον ταυτοχρονισµό δεν είναι µία παροδική µόδα η οποία θα παρέλθει σε µικρό χρονικό διάστηµα. Αντίθετα, πρεσβεύει µία σηµαντική στροφή σε µία πραγµατικότητα η οποία απαιτεί να υπάρχει διαρκής εγρήγορση επί των εξελίξεων στα ζητήµατα της επιστηµονικής περιοχής του ταυτοχρονισµού (http://www.acm.org/education/curricula/computerscience2008.pdf) Στην παρούσα (βασική, όσον αφορά στο επίπεδο της παρεχόµενης εκπαίδευσης και κατάρτισης) έκδοση του µαθήµατος SQL Transactions επιδιώκεται η επίτευξη των µαθησιακών στόχων του επιπέδου 2 ( Κατανόηση ) και εν µέρει του επιπέδου 3 ( Εφαρµογή ) της παραλλαγής της ταξονοµίας Bloom που εφαρµόζεται στην αναφορά CC2008 (βλέπε το Κεφάλαιο 4.1.1 στο κείµενο της αναφοράς CC2008).

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 7 από 13 Περίγραµµα της Θεµατολογίας του Μαθήµατος οδηγός εκπαιδευτή Μέρος 1 Η Συναλλαγή στην SQL - Λογική Μονάδα Επεξεργασίας Στο πρώτο µέρος εισάγει/θεωρεί την έννοια της συναλλαγής σε περιβάλλον ενός χρήστη όπου δεν υπάρχει ανταγωνισµός αριθµού ταυτόχρονα εκτελούµενων συναλλαγών. Υπόδειξη: θα µπορούσατε να ξεκινήσετε είτε εισάγοντας το ακροατήριό σας στη χρήση της εικονικής µηχανής DBTechLab (βλ. Υποενότητα 1.6), είτε τηρώντας της αρίθµηση των επιµέρους της θεµατολογίας του εγχειριδίου SQL Transactions 1.1 Προβλήµατα που επιβάλλουν τη χρήση συναλλαγών (το κίνητρο) Απώλεια δεδοµένων Λάθος δεδοµένα στη βάση Λάθος αποτελέσµατα από τη βάση 1.2 Η Αρχιτεκτονική Πελάτη/Εξυπηρετητή [θεωρία] Έννοιες που σχετίζονται µε το αντίστοιχο πρότυπο ISO SQL: εξυπηρετητής-sql, πελάτης-sql, συνεδρία-sql, διαγνωστικά µηνύµατα Πελάτης: λογισµικό-οδηγός, διάλογος, αίτηµα, αποτέλεσµα Εξυπηρετητής: 1.3 Εισαγωγή στις Συναλλαγές SQL Η Συναλλαγή στην SQL [θεωρία] Η συναλλαγή ως λογική µονάδα επεξεργασίας, µονάδα επαναφοράς από βλάβη, µονάδα συνέπειας των δεδοµένων. Οι συναλλαγές ως δοµικά στοιχεία αξιόπιστων εφαρµογών, ως µηχανισµός µεταβολής του περιεχοµένου της βάσης από µία πρώτη σε επόµενη συνεπή κατάσταση. Άµεση και έµµεση εκκίνηση της συναλλαγής εξάρτηση από το προϊόν DBMS που χρησιµοποιείται Εξηγήστε τη λειτουργικότητα AUTOCOMMIT: Κατάσταση autocommit (autocommit mode) => η κάθε µία εντολή SQL συνιστά συναλλαγή => δεν µπορεί να εξυπηρετηθεί η ακύρωση της συναλλαγής, αυξηµένος φόρτος I/O. Κατάταση εκτέλεσης συναλλαγών (transactional mode): αυτόµατη εκκίνηση των συναλλαγών Η επιτυχία/αποτυχία στην εκτέλεση πρέπει να εξετάζεται αµέσως µετά την επεξεργασία της κάθε µίας εντολής! Η εκτέλεση µιας εντολής µπορεί να είναι επιτυχής ως εντολή SQL όµως λανθασµένη για την εφαρµογή! Ολοκλήρωση της συναλλαγής (επιβεβαίωση: COMMIT, ακύρωση: ROLLBACK) Σηµείωση: Μερικά προϊόντα DBMS εκτελούν έµµεσα COMMIT µε την εκτέλεση εντολών DDL.

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 8 από 13 Τα περισσότερα προϊόντα DBMS εκτελούν ROLLBACK όταν ανιχνεύεται λειτουργικό αδιέξοδο (deadlock, εξηγείται στη συνέχεια) Εξηγήστε τη γενικού τύπου επισκόπηση του εξυπηρετητή DBMS (η Μεγάλη Εικόνα ) της Εικόνας Α3. Εξηγήστε επίσης τη µαγική υπηρεσία της υλοποίησης του ROLLBACK, χρησιµοποιώντας τις διαφάνειες PDF µε τίτλο Basics of SQL Transactions. Εξηγήστε τα εξής επιµέρους της αρχής ACID: - την επίτευξη της ατοµικότητας (A, atomicity) µέσω του ROLLBACK - την επίτευξη της συνέπειας (C, Consistency) µε τη δήλωση περιορισµών (CONSTRAINTS 1 ) και µε τον έλεγχο της ορθότητας της λογικής των συναλλαγών - την επίτευξη της ανθεκτικότητας (D, Durability) µε τη χρήση του COMMIT Σηµείωση: η ιδιότητα της αποµόνωσης (I, Isolation) εξετάζεται στο δεύτερο µέρος του µαθήµατος. 1.5 Διαγνωστικά Σφαλµάτων SQL/εξαιρέσεις [θεωρία] Μέσω κώδικα SQL: SQLSTATE, GET DIAGNOSTICS [Περισσότερα επ αυτού στο Παράρτηµα 2 και στο άρθρο µε τίτλο Stored Routines : διαχείριση των εξαιρέσεων (exception handling) / διαχείριση καταστάσεων (condition handling)] 1.6 Εργαστήριο Πρακτικής Εφαρµογής Εισαγωγή στο περιβάλλον της εικονικής µηχανής DBTechLab (DebianDB) Οδηγίες εισαγωγής του αρχείου της εικονικής µηχανής DebianDB (.ova) στο περιβάλλον του VirtualBox Καθοδηγούµενη συνεδρία χρήσης του περιβάλλοντος DBTechLab όπου οι εκπαιδευόµενοι χρησιµοποιούν το εγχειρίδιο του Γρήγορου Οδηγού (Quick Start Guide) και επιλεγµένα προϊόντα DBMS: MySQL/InnoDB, Oracle XE, DB2 Express-C, PostgreSQL, ή Pyrrho. Στις ασκήσεις του εγχειριδίου SQL Transactions γίνεται χρήση MySQL DBMS, όµως οι ίδιες ασκήσεις µπορούν να εκτελεστούν κάθε ένα από τα υπόλοιπα προϊόντα DBMS της εικονικής µηχανής καθώς επίσης και το MS SQL Server DBMS (βλέπε το Παράρτηµα 1). Τα κείµενα-σενάρια (scripts) που χρησιµοποιούνται στις ασκήσεις του εγχειριδίου βρίσκονται στον υποκατάλογο /home/student/transactions της εικονικής µηχανής DebianDB. Ασκήσεις 1.1-1.7: Κατάσταση AUTOCOMMIT / Κατάσταση εκτέλεσης συναλλαγής (transactional mode) Αυτόµατη επαναφορά/ακύρωση (ROLLBACK) όταν συµβεί σφάλµα διαθέσιµη σε µερικά DBMS, µόνον Επαναφορά συναλλαγής (transaction recovery) 1 Επιπλέον των συνήθων περιπτώσεων σύνταξης κώδικα SQL CONSTRAINT, όπως οι περιπτώσεις PRIMARY KEY, UNIQUE, CHECK, [NOT] NULL και άλλων εξωτικού τύπου δηλώσεων που υποστηρίζουν µερικά προϊόντα DBMS, επιχειρησιακοί κανόνες του συστήµατος κανόνων του συστήµατος µπορούν να κωδικιποιούνται και µε τη χρήση SQL εναυσµάτων (triggers) και διασφαλίσεων (assertions). Οι ανάπτυξη των τελευταίων κείτεται εκτός των ορίων του περιεχοµένου του µαθήµατος και του εγχειριδίου SQL Transactions.

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 9 από 13 Επαναφορά του DBMS σε κατάσταση πλέον πρόσφατης ολοκληρωµένης (committed) συναλλαγής Μέρος 2 Οι Συναλλαγές στο Πολυχρηστικό Περιβάλλον Μία εφαρµογή η οποία λειτουργεί απρόσκοπτα σε περιβάλλον ενός χρήστη µπορεί να έχει λάθος λειτουργικότητα σε πολυχρηστικό περιβάλλον! => χρειάζεται να κατανοηθούν όλες οι περιπτώσεις προβληµάτων που οφείλονται στον ταυτοχρονισµό, όπως και οι τρόποι αντιµετώπισής τους => χρειάζεται να κατανοηθούν τα επίπεδα απόµόνωσης => χρειάζεται να κατανοηθούν οι µηχανισµοί ελέγχου του ταυτόχρονου κατά την εκτέλεση των συναλλαγών (CC, Concurrency Control) που διαθέτει το συγκεκριµένο προϊόν DBMS. 2.1 Προβλήµατα Ταυτοχρονισµού Προβληµατικές ενηµερώσεις: 2.1.1 Χαµένη Ενηµέρωση - συµβαίνει όταν η διαχείριση των δεδοµένων γίνεται από τον προγραµµατιστικό κώδικα απευθείας επί του περιεχοµένου αρχείων του λειτουργικού συστήµατος δεν συµβαίνει όταν η επεξεργασία γίνεται σε προϊόν DBMS, καθώς εκτελείται µία συναλλαγή Τυφλή εκ νέου Τροποποίηση (Overwriting) - µετά την επιτυχή ολοκλήρωση (commit) µιας συναλλαγής, άλλες ταυτόχρονα εκτελούµενες συναλλαγές µπορεί να τροποποιήσουν εκ νέου τα αποτελέσµατα (λύση συνιστούν οι ευαίσθητες ενηµερώσεις ή ο αισιόδοξος έλεγχος του ταυτοχρονισµού RVV) Άσκηση: 2.1 Προβληµατικές Αναγνώσεις: 2.1.2 Πρόχειρη Ανάγνωση 2.1.3 Μη Επαναλήψιµη Ανάγνωση 2.1.3 Φαντάσµατα Ανάγνωση Φαντάσµατος 2 2.2 Ιδιότητες ACID Κατάλληλες βασικές έννοιες που συνιστούν κατάλληλο εκπαιδευτικό µέσο κατανόησης των βασικών επί των συναλλαγών Σε πιο προχωρηµένο επίπεδο, η αποµόνωση (I, Isolation) του ACID συνιστά πρόκληση. Αυτό συµβαίνει διότι δίνονται περισσότερες της µιας ερµηνείες στην έννοια της αποµόνωσης. Τα περισσότερα προϊόντα DBMS διαφηµίζονται ως ACID συµβατά, κάτι που δεν είναι αληθές όταν το DBMS λειτουργεί επίπεδα αποµόνωσης χαµηλότερα εκείνου του επιπέδου REPEATABLE READ. Απόλυτη αποµόνωση από τις άλλες ταυτόχρονα εκτελούµενες συναλλαγές παρέχουν µόνον τα προϊόντα OCC, ειδικά το Phyrro DBMS που συµπεριλαµβάνεται στην εικονική µηχανή DBTechLab/DebianDB. 2 Σηµειώνεται η διαφορά µεταξύ του προβλήµατος του φαντάσµατος που αντιµετωπίζεται µε την αποτροπή της εισαγωγής εγγραφών-φαντασµάτων (χρήση MGL) και του προβλήµατος της ανάγνωσης φαντάσµατος που αντιµετωπίζεται µε την παρεµπόδιση της ανάγνωσης φαντασµάτων από τη συναλλαγή (χρήση MVCC).

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 10 από 13 2.3 Επίπεδα Αποµόνωσης ISO SQL για την υλοποίηση του ελέγχου του ταυτόχρονου κατά την εκτέλεση των συναλλαγών READ UNCOMMITTED READ COMMITTED (προεπιλογή στα περισσότερα DBMS) REPEATABLE READ SERIALIZABLE (προεπιλογή κατά το πρότυπο ISO SQL) 2.4 Μηχανισµοί Ελέγχου του Ταυτόχρονου 2.4.1 Κλείδωµα Πολλαπλής Ευαισθησίας (MGL, Multi-Granular Locking) κλειδαριές-χ / κλειδαριές-s + κλειδαριές πρόθεσης + κλειδαριές κατηγορήµατος/ευρετηρίου + κλειδαριές σχεσιακού σχήµατος - πιθανή πρόκληση αδιέξοδης παύσης (deadlock) - ρητό κλείδωµα (explicit locking, Πίνακας Κλειδαριών: Lock Table) Μερικά προϊόντα DBMS υποστηρίζουν ρητού τύπου κλείδωµα των γραµµών πίνακα (SELECT..FOR UPDATE) 2.4.2 Πολλαπλές εκδόσεις (Multi-Versioning, MVCC) και υποστήριξη µη τυποποιηµένων επιπέδων αποµόνωσης: Πλέον πρόσφατα επικυρωµένο (Τρέχον Επικυρωµένο, Προς Ανάγνωση Επικυρωµένο Στιγµιότυπο - Snapshot) Στιγµιότυπο: δεν εξασφαλίζει από τα φαντάσµατα όµως αποτρέπει την ανάγνωση φαντάσµατος Σηµείωση: η τεχνολογία MVCC δεν χρησιµοποιεί κλειδαριές ανάγνωσης, όµως το κλείδωµα εξακολουθεί να απαιτείται για τη δικπεραίωση των ενεργειών επικαιροποίησης (writing) των δεδοµένων. Κατά συνέπεια, υπάρχει το ενδεχόµενο να προκύπτουν λειτουργικά αδιέξοδα (deadlocks), για παράδειγµα σε συγκρούσεις τύπου UPDATE-UPDATE! 2.4.3 Αισιόδοξος Έλεγχος του Ταυτόχρονου (OCC, Optimistic Concurrency Control) Όλες οι ενέργειες επικαιροποίησης των δεδοµένων (writes) γίνονται σε γρήγορη µνήµη (cache) που παραµένει ιδιωτική για τη συναλλαγή και συγχρονίζονται µε (µεταφέρονται στη) βάση δεδοµένων µόνον κατά τη στιγµή της επικύρωσης (commit) της συναλλαγής! Η πρώτη συναλλαγή που επικυρώνει τις µεταβολές που έχει κάνει είναι αυτή που κερδίζει την κούρσα! Η συγκεκριµένη λειτουργικότητα µπορεί να δοκιµαστεί στο περιβάλλον του εικονικού εργαστηρίου DBTechLab µόνον µε τη χρήση του Pyrrho DBMS. 2.4.4 Περίληψη βλέπε τον Πίνακα 2.4 του εγχειριδίου του µαθήµατος. 2.5 Ασκήσεις Πρακτικής Εφαρµογής στον Ταυτοχρονισµό Άσκηση 2.1 Το πρόβληµα της χαµένης ενηµέρωσης (lost update) Άσκηση 2.2 Σενάρια SELECT-UPDATE: (α) και (β) Άσκηση 2.3 Σενάρια UPDATE UPDATE σε αντίθετη σειρά => λειτουργικό αδιέξοδο Άσκηση 2.4 Το πρόβληµα της πρόχειρης ανάνγωσης (dirty read) Άσκηση 2.5 Η µη-επαναλήψιµη ανάγνωση (non-repeatable read) Άσκηση 2.6 Το πρόβληµα της εισαγωγής φαντάσµατος (insert-phantom)

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 11 από 13 Άσκηση 2.7 Μελέτη της τεχνολογίας του στιγµιότυπου (SNAPSHOT): διάφορα φαντάσµατα 3 Ορθές Πρακτικές Όχι διάλογοι χρήστη στις συναλλαγές Σύντοµες συναλλαγές Καθορισµός κατάλληλου επιπέδου αποµόνωσης στο ξεκίνηµα της συναλλαγής Έλεγχος λάθους µετά από την εκτέλεση της κάθε µίας εντολής SQL Γνώση της συµπεριφοράς του προϊόντος DBMS τα προϊόντα διαφέρουν Γνώση των λεπτοµερειών της διαλέκτου SQL του συγκεκριµένου προϊόντος DBMS Συµµόρφωση µε το πρότυπο ISO/SQL, στο βαθµό που αυτό είναι εφικτό Παράρτηµα 1 Οι ασκήσεις των Ενοτήτων (Μερών) 1 και 2 του εγχειριδίου SQL Transactions εφαρµόζονται στο περιβάλλον Microsoft SQL Server Express και εντοπίζονται οι διαφορές στη σύγκριση των αποτελεσµάτων µε εκείνα που προκύπτουν σε διαφορετικά προϊόντα DBMS. Παράρτηµα 2 Σύντοµη εισαγωγή στον προγραµµατισµό των συναλλαγών σε περιβάλλον Java µε τη χρήση του JDBC API. Γίνεται χρήση της εφαρµογής-παραδείγµατος BankTransfer. Προγραµµατισµός των ενεργειών σκοπιµότητας-σύλληψης (try-catch) προς παγίδευση Εξαιρέσεων SQL Σύνδεση µε τον εξυπηρετητή DBMS Μοτίβο επανα-υποβολής Μοτίβο επανα-υποβολής (περιτύλιγµα επανα-υποβολής, retry wrapper) που καλεί µέθοδο συναλλαγής ακέραιου τύπου Κάθε συναλλαγή ξεκινά ΑΚΥΡΩΝΟΝΤΑΣ την κατάσταση AUTOCOMMIT Παραµετρική µεταβίβαση κώδικα SQL σε µεθόδους Προετοιµασία παραµετροποιηµένου κώδικα SQL και επικοινωνία τιµών παραµέτρων (προς παρεµπόδιση της έγχυσης κώδικα SQL για λόγους ασφάλειας και προς βελτίωση των επιδόσεων του συστήµατος) Ανάκτηση του συνόλου των εγγραφών που έχουν επιλεγεί Οι ενέργειες COMMIT και ROLLBACK αντιστοιχούν σε µεθόδους του αντικειµένου σύνδεσης (connection object) Το ενδιάµεσο λογισµικό/βιβλιοθήκη JDBC API υποστηρίζει ενοποιηµένη πρόσβαση σε δεδοµένα που τα διαχειρίζονται διαφορετικής λειτουργικότητας πρωτογενή περιβάλλοντα DBMS. Παρόλα αυτά, εξακολουούν να υπάρχουν διαφορές στην υποστήριξη των DBMS οι οποίες πρέπει να λαµβάνονται υπόψιν από τον προγραµµατιστή. Παράρτηµα 3 Επαναφορά της βάσης δεδοµένων µε τη χρήση του αρχείου του ιστορικού εκτέλεσης των συναλλαγών. Εξηγείται η Μεγάλη Εικόνα ενός τυπικού εξυπηρετητή βάσεων δεδοµένων, µαζί µε τα αρχεία και τις διάφορες µορφές γρήγορης µνήµης (cache) που χρησιµοποιούνται. Το ιστορικό εκτέλεσης των συναλλαγών συνιστά το/α πλέον σηµαντικό/ά αρχείο/α του

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 12 από 13 συστήµατος καθόσον είναι αυτό/ά που καταχωρεί/ούν µόνιµα στο δίσκο τα στοιχεία των πλέον πρόσφατα επικυρωµένων (committed) συναλλαγών. [Προαιρετική θεµατολογία] Επεξεργασία δροµέα (cursor) αυτόµατο κλείσιµο στο τέλος της συναλλαγής. Η συγκεκριµένη τεχνολογία βρίσκει εφαρµογή στη διαχείριση σύνολων πλειάδων που συνιστούν το αποτέλεσµα εκτέλεσης κώδικα SQL ο οποίος ενσωµατώνεται σε προγραµµατιστικά περιβάλλοντα που επεξεργάζονται γραµµή-προς-γραµµή τα δεδοµένα (βλέπε το άρθρο επί των αποθηκευµένων διεργασιών). Στα σύγχρονα API στην πλευρά του διακοµιστή, η επεξεργασία του δροµέα υλοποιείται υπό τη µορφή ρουτίνας-περιτυλίγµατος (wrapper) του αντικειµένου Resultset της βιβλιοθήκης JDBC API, ή του αντικειµένου Recordset σε κάποια άλλα API. Θέµατα τα οποία δεν καλύπτονται στο παρόν, βασικού επιπέδου, µάθηµα Τα επόµενα συνιστούν στοιχεία θεµατολογίας προχωρηµένου επιπέδου εκπαίδευσης VET: Σηµεία διάσωσης (savepoints) λογική συναλλαγών που σπάνια χρησιµοποιείται Λεπτοµέρειες επί του κλειδώµατος, πέρας χρόνου (timeout), αναβάθµιση κλειδώµατος Εµφωλευµένες συναλλαγές δεν υποστηρίζονται από τα σύγχρονα DBMS Κατανεµηµένες συναλλαγές Αποθηκευµένες διαδικασίες (stored routines) στο πλαίσιο των συναλλαγών Περισσότερες πληροφορίες για τα παραπάνω παρέχουν τα εξής έγγραφα: http://www.dbtechnet.org/papers/sql_storedroutines.pdf http://www.dbtechnet.org/papers/concurrencytechnologies.pdf (to become available in 2015) http://www.dbtechnet.org/papers/rvv_paper.pdf http://www.dbtechnet.org/papers/distributed Transactions.pdf (to become available in 2015) Η θεωρία της σειριοποιησιµότητας (serializability theory), το κλείδωµα δύο φάσεων (2PL), κλπ. συνιστούν εισαγωγικού τύπου θεµατολογία ερευνητικού προσανατολισµού για φοιτητές της επιστήµης των υπολογιστών των ΑΕΙ, όχι για εκπαιδευόµενους προγραµµάτων επαγγελµατικής κατάρτισης (VET). Για τους τελευταίους, η εν λόγω θεµατολογία θα ήταν εκτός αντικειµένου, καθόσον τα συγκεκριµένα θέµατα δεν σχετίζονται άµεσα µε την ανάπτυξη κώδικα πραγµατικών εφαρµογών στα σύγχρονα περιβάλλοντα DBMS.

Οι Συναλλαγές στην SQL Οδηγός Εκπαιδευτή Σελίδα 13 από 13 Αξιολόγηση Οι εκπαιδευόµενοι συµπληρώνουν την κατάλληλη φόρµα αξιολόγησης DBTech VET η οποία διατίθεται σε τρεις εκδόσεις: µάθηµα, σεµινάριο, ηµερίδα εργασίας. Η εν λόγω φόρµα δεν συνιστά στοιχείο αξιολόγηση/απόδοση πιστωτικών µονάδων για τους εκπαιδευόµενους. Οι εκπαιδευόµενοι απαντούν σε ερωτήσεις που έχουν πολλαπλές επιλογές απαντήσεων και υποβάλλουν την αντίστοιχη ηλεκτρονική φόρµα µε τις απαντήσεις τους στον εκπαιδευτή ώστε να αξιολογηθεί ο βαθµός επίτευξης των µαθησιακών στόχων του µαθήµατος. Η ίδια ηλεκτρονική φόρµα µπορεί επίσης να χρησιµοποιηθεί για την αξιολόγηση των εκπειδευοµένων. Ο εκπαιδευτής σκιαγραφεί το προφίλ του µαθήµατος σε κατάλληλο έντυπο περιληπτικής αναφοράς DBTech VET και υποβάλλει το τελευταίο στον αντίστοιχο, τοπικό, συντονιστή-εκπρόσωπο DBTech VET/DBTechNet.