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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη πρόσβαση σε μια ΒΔ. Τι κερδίζουμε: Καλύτερη διαβίβαση δεδομένων σε μια δοσοληψία καθώς και μικρότερο χρόνο απόκρισης. Καλύτερη χρήση των πηγών (π.χ. τη χρονική στιγμή που μια διαδικασία διαβάζει το δίσκο, κάποια άλλη μπορεί να χρησιμοποιεί τη CPU ή να διαβάζει άλλο δίσκο) Προσοχή! Ταυτόχρονες ενέργειες μπορεί να οδηγήσουν σε σφάλματα.

3 Concurrent Data Access (προβλήματα που προκύπτουν) Lost Update Problem: το πρώτο update χάθηκε, το δεύτερο γράφει πάνω στο πρώτο. Η ΒΔ είναι σε μία ασυνεπή κατάσταση, αφού επετράπη στη Δοσοληψία Β να έχει πρόσβαση στα ίδια δεδομένα με αυτά της Δοσοληψίας Α πριν αυτή ολοκληρωθεί. Uncommitted Dirty Data Problem: Η Δοσοληψία B τροφοδοτείται με ανολοκλήρωτα δεδομένα από τη Δοσοληψία A (δεν έχουν γίνει ακόμα commit), κάτι που μπορεί να οδηγήσει σε μια λανθασμένη απόφαση. Inconsistent data, non repeatable read, phantom insert problem: Η Δοσοληψία Β εκτελεί το ίδιο υποερώτημα για δεύτερη φορά, αλλά επιστρέφει διαφορετικά αποτελέσματα.

4 Concurrent Data Access Lost update problem Συμβαίνει όταν μία ή περισσότερες δοσοληψίες προσπαθούν να κάνουν update την ίδια εγγραφή σε μια δεδομένη χρονική στιγμή. Το πρώτο update γράφεται επιτυχώς στη ΒΔ, αλλά κατά λάθος ένα δεύτερο update μιας άλλης δοσοληψίας γράφει πάνω από την προηγουμένη πληροφορία. Π.χ. Ο user A ανακτά μια εγγραφή. Έπειτα ο user B ανακτά την ίδια εγγραφή. ο user B γράφει στη ΒΔ αμέσως το update, πριν ο user A γράψει το δικό του. Ο user A εκτελεί το update του στη ΒΔ και οι αλλαγές που έγιναν από τον user B σιωπηλά έχουν αντικατασταθεί από το update του user A. Ερώτηση: προκύπτει το ίδιο πρόβλημα αν ο user A εκτελέσει πρώτος το update?

5 Concurrent Data Access Uncommitted Dirty Data Problem Dirty reads: ένα dirty read συμβαίνει όταν μια δοσοληψία διαβάζει δεδομένα τη στιγμή που μια άλλη δοσοληψία κάνει κάποιο update που δεν έχει γίνει ακόμα commit. Dirty data: είναι δεδομένα που τροποποιήθηκαν από μια δοσοληψία που δεν είχε ακόμα ολοκληρωθεί. Π.χ. Ο user A παραγγέλνει 150 κομμάτια από ένα προϊόν που στην αποθήκη υπάρχουν 300 κομμάτια. Η αποθήκη γίνεται updated στα 150 κομμάτια χωρίς να έχει ολοκληρωθεί (commit) η παραγγελία. Ο user B θέλει να παραγγείλει 200 κομμάτια από το ίδιο προϊόν. Τσεκάρει την αποθήκη και βρίσκει ότι δεν υπάρχουν αρκετά κομμάτια για τη παραγγελία του και σταματά τη διαδικασία. O user A ακυρώνει τη παραγγελία και οι αλλαγές γίνονται rollback. Ο user Β έχει διαβάσει δεδομένα (dirty read) που θεωρείται ότι ποτέ δεν υπήρξαν.

6 Concurrent Data Access non repeatable read / phantom insert problem Non-repeatable reads: ένα non-repeatable read συμβαίνει όταν μια δοσοληψία διαβάζει την ίδια γραμμή δύο φορές, αλλά παίρνει διαφορετικά δεδομένα / αποτελέσματα κάθε φορά (Update ή Delete της γραμμής) Π.χ. Η δοσοληψία Α διαβάζει μια γραμμή. Η δοσοληψία Β ενημερώνει ή διαγράφει αυτή τη γραμμή και κάνει commit. Η δοσοληψία Α ξαναδιαβάζει τη γραμμή και βρίσκει άλλη τιμή ή ότι έχει διαγραφεί η γραμμή. Phantom: ενα phantom είναι μια γραμμή που ταιριάζει με τα κριτήρια αναζήτησης, αλλά δεν είναι αρχικά ορατή. Συμβαίνει όταν εκτελούνται δύο όμοια queries και οι εγγραφές που επιστρέφονται από το δεύτερο query είναι διαφορετικές από αυτές του πρώτου (εισαγωγή νέας γραμμής που πληροί κριτήρια). Π.χ. Η δοσοληψία A εκτελεί ένα ερώτημα για να βρεί συνολικό αριθμό παραγγελιών. Η δοσοληψία B εκτελεί την παραγγελία ορισμένων προϊόντων. Εισάγονται παραγγελίες στον πίνακα των παραγγελιών. Η δοσοληψία A εκτελεί το ίδιο ερώτημα και βρίσκει διαφορετικό αριθμό παραγγελιών.

7 Επίπεδα απομόνωσης (isolation levels) Το επίπεδο απομόνωσης ορίζει τον βαθμό που μια δοσοληψία απομονώνεται από τις αλλαγές στα δεδομένα που γίνονται από άλλες δοσοληψίες. Τα επίπεδα απομόνωσης περιγράφονται με βάση τις συνέπειες της ταυτόχρονης πρόσβασης στα δεδομένα, όπως dirty reads ή phantom reads, που επιτρέπονται. Κάθε ΣΔΒΔ υλοποιεί τις δοσοληψίες με το δικό του τρόπο. Ταυτόχρονες δοσοληψίες μπορούν να εκτελούνται σε διαφορετικά επίπεδα απομόνωσης. Τα inserts, updates, και deletes συμπεριφέρονται πάντα το ίδιο όποιο επίπεδο απομόνωσης και να έχουμε, μόνο με τα select statements ποικίλλει το αποτέλεσμα.

8 Επίπεδα απομόνωσης (isolation levels) Τα επίπεδα απομόνωσης ελέγχουν τα παρακάτω: Αν γίνονται κλειδώματα όταν διαβάζονται δεδομένα και τι είδους κλειδώματα απαιτούνται. Πόσο διαρκούν τα κλειδώματα. Εάν μια ενέργεια ανάγνωσης σε γραμμές που τροποποιούνται από άλλη δοσοληψία: Μπλοκαριστεί εωσότου το αποκλειστικό κλείδωμα ελευθερωθεί. Ανακτήσει την commited έκδοση της γραμμής που υπήρχε τη στιγμή που ξεκίνησε η δοσοληψία. Διαβάσει την uncommitted τροποποίηση των δεδομένων. Μια δοσοληψία πάντα παίρνει ένα κλείδωμα σε δεδομένα που τροποποιεί και το κρατάει εωσότου ολοκληρωθεί, ανεξάρτητα από το επίπεδο απομόνωσης της δοσοληψίας.

9 Επίπεδα απομόνωσης (isolation levels) Σύνταξη στον SQL Server SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED READ COMMITTED REPEATABLE READ SNAPSHOT SERIALIZABLE } O παρακάτω πίνακας δείχνει τις συνέπειες της ταυτόχρονης πρόσβασης στα δεδομένα όπως ορίζονται από τα διαφορετικά επίπεδα απομόνωσης. Isolation level Dirty read Nonrepeatable read Phantom Read uncommitted Yes Yes Yes Read committed No Yes Yes Repeatable read No No Yes Snapshot No No No Serializable No No No

10 Επίπεδα απομόνωσης (isolation levels) Read Committed (ανάγνωση επικυρωμένων) Το select ερώτημα μιας δοσοληψίας θα επιστρέψει μόνο επικυρωμένα δεδομένα (committed). Εάν μια δοσοληψία τροποποιήσει δεδομένα σε έναν πίνακα, σε άλλες δοσοληψίες με Read Committed επίπεδο απομόνωσης το select ερώτημα στον ίδιο πίνακα θα περιμένει εωσότου κλείσει η δοσοληψία. Είναι δυνατό μια άλλη δοσοληψία να τροποποιήσει τα δεδομένα που έχει διαβάσει αρχικά η Read Committed δοσοληψία. Αν ολοκληρωθεί η πρώτη δοσοληψία και η δεύτερη διαβάσει εκ νέου τα δεδομένα θα καταλήξει σε non repeatable reads ή phantom data. Read Committed είναι το προεπιλεγμένο επίπεδο απομόνωσης.

11 Επίπεδα απομόνωσης (isolation levels) Read Uncommitted (ανάγνωση Μη επικυρωμένων) Επιτρέπει την ανάγνωση μη επικυρωμένων δεδομένων. Ουσιαστικά επιτρέπει σε μια δοσοληψία να βλέπει ενδιάμεσα αποτελέσματα άλλων δοσοληψιών, πριν αυτές ολοκληρωθούν. Εάν τα δεδομένα ενός πίνακα τροποποιούνται (insert,update ή delete) σε μια δοσοληψία που δεν έχει ολοκληρωθεί (committ ή rollback) τότε σε ερωτήματα αναζήτησης στο πίνακα σε δοσοληψίες "Read Uncommitted θα εμφανιστούν dirty-read δεδομένα εφόσον η αρχική δοσοληψία κάνει rollback. Δεν υπάρχει καμία καθυστέρηση κατά της εκτέλεση των ερωτημάτων. Είναι το λιγότερο περιοριστικό από τα isolation levels, διαβεβαιώνει μόνο ότι κατεστραμμένα δεδομένα δεν μπορούν να διαβαστούν.

12 Επίπεδα απομόνωσης (isolation levels) Repeatable Read (επαναλήψιμη ανάγνωση) Τα δεδομένα που επιστρέφονται από ερώτημα δοσοληψίας αυτού του επιπέδου απομόνωσης δεν μπορούν να τροποποιηθούν από άλλες δοσοληψίες έως ότου ολοκληρωθεί η δοσοληψία. Ωστόσο αυτό το επίπεδο απομόνωσης επιτρέπει την εισαγωγή καινούργιων δεδομένων. Ως αποτέλεσμα μπορεί να έχουμε phantom εγγραφές. Επιβάλλει κλείδωμα σε όλες τις εγγραφές που συμμετέχουν σε ένα query. Ουσιαστικά λύνει το πρόβλημα των dirty reads και non repeatable reads.

13 Επίπεδα απομόνωσης (isolation levels) Serializable Είναι παρόμοια με την απομόνωση Repeatable Read με τη διαφορά ότι αποτρέπει το phantom πρόβλημα. Αυτό επιτυγχάνεται με κλείδωμα εύρους τιμών. Εάν ο πίνακας έχει ευρετήριο τότε το ΣΔΒΔ κλειδώνει τις εγγραφές βάση του εύρους τιμών που χρησιμοποιούνται στην where πρόταση (πχ where ID between 1 and 3). Εάν δεν υπάρχει ευρετήριο κλειδώνεται ολόκληρος ο πίνακας.

14 Επίπεδα απομόνωσης (isolation levels) Snapshot (Στιγμιότυπο) Η απομόνωση Snapshot είναι παρόμοια με την απομόνωση Serializable. Η διαφορά είναι πως το Snapshot δεν κλειδώνει τον πίνακα κατά τη διάρκεια της δοσοληψίας. Έτσι ο πίνακας μπορεί να τροποποιηθεί σε άλλες δοσοληψίες. Η απομόνωση Snapshot διατηρεί στη Tempdb εκδόσεις παλαιότερων δεδομένων για την περίπτωση τροποποιήσεων που συμβαίνουν σε άλλες δοσοληψίες. Τότε στη δοσοληψία με απομόνωση Snapshot θα εμφανιστούν τα παλαιότερα δεδομένα από την Tempdb. Δοσοληψίες SNAPSHOT που διαβάζουν δεδομένα δεν μπλοκάρουν άλλες συναλλαγές στο να εγγράψουν δεδομένα και το αντίστροφο.

15 Επίπεδα απομόνωσης Χρήση, πλεονεκτήματα, μειονεκτήματα Read Committed θετικά: καλή ισορροπία μεταξύ ταυτοχρονισμού (concurrency) και συνέπειας (consistency). Αρνητικά: τα δεδομένα μπορούν να αλλάξουν όταν προσπελαύνονται πολλές φορές μέσα στην ίδια δοσοληψία. Χρήση: πολύ συχνό isolation level. Είναι το προεπιλεγμένο isolation level του SQL Server. Read Uncommitted θετικά: δεν χρειάζονται κλειδώματα διαβάσματος. Αρνητικά: τα δεδομένα δε διασφαλίζεται ότι θα είναι συνεπή. Χρήση: χρησιμοποιείται σε queries/applications, όπου η ασυνέπεια των δεδομένων δεν πρόκειται να είναι μεγάλο πλήγμα.

16 Επίπεδα απομόνωσης Χρήση, πλεονεκτήματα, μειονεκτήματα Repeatable Read θετικά: καλύτερη συνέπεια των δεδομένων. Αρνητικά: τα κλειδώματα διατηρούνται για όλη τη διάρκεια της δοσοληψίας, γεγονός που μπορεί να μειώσει τον ταυτοχρονισμό (concurrency). Δεν προστατεύει από τις phantom γραμμές. Χρήση: δεν είναι πολύ συχνό. Serializable θετικά: πλήρη συνέπεια των δεδομένων. Αρνητικά: τα κλειδώματα διατηρούνται για όλη τη διάρκεια της δοσοληψίας, γεγονός που μπορεί να μειώσει τον ταυτοχρονισμό (concurrency). Χρήση: χρησιμοποιείται στις περιπτώσεις που η συνέπεια των δεδομένων είναι απαραίτητη προϋπόθεση.

17 Επίπεδα απομόνωσης - Κλειδώματα Σε έλεγχο ταυτόχρονης πρόσβασης με βάση τα κλειδώματα, τα επίπεδα απομόνωσης καθορίζουν τη διάρκεια του κλειδώματος. "C" - Σημαίνει ότι τα κλειδώματα παραμένουν μέχρι την ολοκλήρωση της δοσοληψίας. "S" - Σημαίνει ότι τα κλειδώματα παραμένουν μόνο κατά τη διάρκεια της εντολής που εκτελείται. Isolation level Write Operation Read Operation Read Uncommitted S S S Read Committed C S S Repeatable Read C C S Serializable C C C Range Operation (...where...)

18 Αδιέξοδο - DEADLOCK Το αδιέξοδο συμβαίνει όταν δυο (ή περισσότερες) δοσοληψίες μπλοκάρουν μόνιμα η μια την άλλη. Αυτό συμβαίνει όταν κάθε δοσοληψία έχει ένα κλείδωμα σε μια πηγή (πλειάδα, γραμμή) που η άλλη δοσοληψία προσπαθεί να αποκτήσει πρόσβαση και να κλειδώσει. Η T1 κλειδώνει την R1 και ζητά πρόσβαση και κλείδωμα στην R2. Η T2 κλειδώνει την R2 και ζητά πρόσβαση και κλείδωμα στην R. Καμιά δοσοληψία δεν μπορεί να προχωρήσει έως ότου μια πηγή είναι διαθέσιμη και καμία πηγή δε μπορεί να απελευθερωθεί μέχρι να προχωρήσει κάποια δοσοληψία. Ο SQL αυτόματα εντοπίζει τα αδιέξοδα. Επιλέγει κάποια δοσοληψία ως θύμα και την τερματίζει με μήνυμα λάθους για να αρθεί το αδιέξοδο.

19 Παραδείγματα Isolation Levels Read Uncommitted; BEGIN TRAN UPDATE employees SET salary = WHERE employee_number = 1002 Σε ένα άλλο session ξεκινάμε τη δοσοληψία SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SET NOCOUNT ON GO WHERE employee_number = 1002 Θα εμφανιστεί η uncommitted έκδοση του μισθού του υπαλλήλου. Με rollback; Ή commit; Ολοκληρώνουμε τη πρώτη δοσοληψία

20 Παραδείγματα Isolation Levels Read Committed (1); BEGIN TRAN UPDATE employees SET salary = WHERE employee_number = 1002 waitfor delay '00:00:10' commit; (ή rollback;) Σε ένα άλλο session ξεκινάμε τη δοσοληψία SET TRANSACTION ISOLATION LEVEL READ COMMITTED SET NOCOUNT ON GO WHERE employee_number = 1002 Τι παρατηρούμε? O SQL server ξεκινά το πρώτο transaction και εκτελεί εντολή UPDATE. Αμέσως μετά ξεκινά το δεύτερο transaction και περιμένει να ολοκληρωθεί το πρώτο transaction για να διαβάσει την committed έκδοση των δεδομένων.

21 Παραδείγματα Isolation Levels Read Committed (2); BEGIN TRAN waitfor delay '00:00:10' UPDATE employees SET salary = WHERE employee_number = 1002 commit; (ή rollback;) Σε ένα άλλο session ξεκινάμε τη δοσοληψία SET TRANSACTION ISOLATION LEVEL READ COMMITTED SET NOCOUNT ON GO WHERE employee_number = 1002 Tι παρατηρούμε? Η δεύτερη δοσοληψία τρέχει αμέσως διότι δεν υπάρχει κλείδωμα στον πίνακα employees και εμφανίζει την committed έκδοση των δεδομένων.

22 Παραδείγματα Isolation Levels REPEATABLE READ (1); SET TRANSACTION ISOLATION LEVEL REPEATABLE READ SET NOCOUNT ON GO BEGIN TRAN WHERE employee_number = 1002 WAITFOR DELAY '00:00:10' WHERE employee_number = 1002 rollback; Σε ένα άλλο session ξεκινάμε τη δοσοληψία BEGIN TRAN UPDATE employees SET salary = WHERE employee_number = 1002 commit; Tι παρατηρούμε? O SQL Server κλειδώνει το πίνακα employees αμέσως μετά το πρώτο SELECT στη πρώτη δοσοληψία. Το update της δεύτερης δοσοληψίας δεν γίνεται commit έως ότου ολοκληρωθεί η πρώτη δοσοληψία. Τρέχουμε τη πρώτη δοσοληψία με ISOLATION LEVEL READ COMMITTED Ποιο πρόβλημα εμφανίζεται? Εμφανίζεται το πρόβλημα του non-repeatable read. Στη πρώτη δοσοληψία το παρόμοιο SELECT ερώτημα παράγει διαφορετικά αποτελέσματα γιατί μεσολάβησε το UPDATE της δεύτερης δοσοληψίας.

23 Παραδείγματα Isolation Levels REPEATABLE READ (2); SET TRANSACTION ISOLATION LEVEL REPEATABLE READ SET NOCOUNT ON GO BEGIN TRAN WHERE employee_number in (1001,1002) WAITFOR DELAY '00:00:10' WHERE employee_number in (1001,1002) rollback; Σε ένα άλλο session εκτελούμε την εντολή BEGIN TRAN UPDATE employees SET salary = WHERE employee_number = 1003 commit; Tι παρατηρούμε? H δεύτερη δοσοληψία εκτελείται χωρίς καθυστέρηση διότι ο SQL server κλειδώνει τις εγγραφές που επιστρέφονται από το select της πρώτης δοσοληψίας και δεν περιλαμβάνονται σε αυτές η γραμμή που τροποποιεί η δεύτερη δοσοληψία.

24 Παραδείγματα Isolation Levels REPEATABLE READ (3); SET TRANSACTION ISOLATION LEVEL REPEATABLE READ SET NOCOUNT ON GO BEGIN TRAN WAITFOR DELAY '00:00:10' rollback; Σε ένα άλλο session εκτελούμε την εντολή INSERT INTO employees (employee_number, last_name, first_name, salary, dept_id) VALUES(1005, 'Manousopoulos', 'Chris', , 501) Tι παρατηρούμε? Εμφανίζεται μια Phantom γραμμή στο SELECT της πρώτης δοσοληψίας διότι ο SQL server επιτρέπει την εισαγωγή γραμμής στο πίνακα employees.

25 Παραδείγματα Isolation Levels REPEATABLE READ (4); SET TRANSACTION ISOLATION LEVEL REPEATABLE READ SET NOCOUNT ON GO WHERE dept_id = 500 WAITFOR DELAY '00:00:10' WHERE dept_id = 500 rollback; Σε ένα άλλο session εκτελούμε την εντολή BEGIN TRAN UPDATE employees SET dept_id = 500 WHERE employee_number = 1003 commit; Tι παρατηρούμε? Η δεύτερη δοσοληψία χωρίς καθυστέρηση τροποποιεί μια γραμμή που αρχικώς δεν ταιριάζει στα κριτήρια του SELECT της πρώτης δοσοληψίας (γι αυτό και δεν είναι κλειδωμένη από τον SQL server). Μετά το commit όμως η συγκεκριμένη γραμμή εμφανίζεται στο result set του SELECT της πρώτης δοσοληψίας γιατί πλέον πληροί τα κριτήριά του ερωτήματος. Πρόβλημα phantom data.

26 Παραδείγματα Isolation Levels SERIALIZABLE (1); SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET NOCOUNT ON GO BEGIN TRAN WAITFOR DELAY '00:00:10' rollback; Σε ένα άλλο session εκτελούμε την εντολή INSERT INTO employees (employee_number, last_name, first_name, salary, dept_id) VALUES(1005, 'Manousopoulos', 'Chris', , 501) Tι παρατηρούμε? Ο SQL server κλειδώνει τον πίνακα employees και για την περίπτωση της εισαγωγής μιας νέας εγγραφής. Η δεύτερη δοσοληψία εκτελείται μόνο όταν ολοκληρωθεί η πρώτη.

27 Παραδείγματα Isolation Levels SERIALIZABLE (2); SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET NOCOUNT ON GO BEGIN TRAN WHERE employee_number between 1001 and 1003 WAITFOR DELAY '00:00:10' WHERE employee_number between 1001 and 1003 rollback; Σε ένα άλλο session εκτελούμε την εντολή INSERT INTO employees (employee_number, last_name, first_name, salary, dept_id) VALUES(1005, 'Manousopoulos', 'Chris', , 501) Tι παρατηρούμε? Η δεύτερη δοσοληψία εκτελείται χωρίς καθυστέρηση διότι ο sql server κλειδώνει συγκεκριμένο εύρος τιμών (βάση των κριτηρίων του SELECT στη πρώτη δοσοληψία) στον πίνακα employees χρησιμοποιώντας το ευρετήριο του πίνακα.

28 Παραδείγματα Isolation Levels SERIALIZABLE (3); SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET NOCOUNT ON GO BEGIN TRAN FROM indextesting WHERE column1 between 195 and 199 WAITFOR DELAY '00:00:10' FROM indextesting WHERE column1 between 195 and 199 rollback; Σε ένα άλλο session εκτελούμε την εντολή INSERT INTO indextesting (column1, column2) VALUES(205, 58000) Tι παρατηρούμε? Η δεύτερη δοσοληψία εκτελείται όταν ολοκληρωθεί η πρώτη. Αυτό συμβαίνει διότι ο sql server κλειδώνει όλον τον πίνακα indextesting διότι δεν υπάρχει ευρετήριο του πίνακα.

29 Παραδείγματα Isolation Levels SNAPSHOT ; SET TRANSACTION ISOLATION LEVEL SNAPSHOT SET NOCOUNT ON GO BEGIN TRAN WAITFOR DELAY '00:00:10' rollback; Σε ένα άλλο session εκτελούμε την εντολή BEGIN TRAN INSERT INTO employees (employee_number, last_name, first_name, salary, dept_id) VALUES(1005, 'Manousopoulos', 'Chris', , 501) UPDATE employees SET salary = WHERE employee_number = 1003 commit; Tι παρατηρούμε? Η δεύτερη δοσοληψία εκτελείται χωρίς καθυστέρηση διότι δεν κλειδώνονται αντικείμενα που εμπλέκονται στα ερωτήματα της πρώτης. Ωστόσο η πρώτη δοσοληψία εμφανίζει έκδοση committed δεδομένων που διατηρούνται στην tempdb και όχι τα committed δεδομένα που προκύπτουν από την παράλληλη εκτέλεση της δεύτερης δοσοληψίας. ALTER DATABASE tutorial_db SET ALLOW_SNAPSHOT_ISOLATION ON για να ενεργοποιηθεί το επίπεδο απομόνωσης Snapshot στη Β.Δ.

30 Παραδείγματα Isolation Levels Για να βρίσκουμε τα κλειδώματα χρησιμοποιούμε το παρακάτω sql ερώτημα: SELECT es.login_name, tl.resource_type, tl.resource_associated_entity_id, tl.request_mode, tl.request_status FROM sys.dm_tran_locks tl INNER JOIN sys.dm_exec_sessions es ON tl.request_session_id = es.session_id WHERE es.login_name = SUSER_SNAME() AND tl.resource_associated_entity_id <> 0

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες (Transactions) Μέχρι στιγμής θεωρούσαμε πως υπάρχει μόνο ένας DB χρήστης που εκτελεί μία

Διαβάστε περισσότερα

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

Κεφάλαιο 13 Δοσοληψίες Κεφάλαιο 13 Δοσοληψίες Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις δοσοληψίες, την έννοια της σειριοποιησιμότητας και των διαφόρων επιπέδων απομόνωσης. Προαπαιτούμενη γνώση

Διαβάστε περισσότερα

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

Διαβάστε περισσότερα

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

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

Διαβάστε περισσότερα

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

Διαβάστε περισσότερα

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

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Βασικές έννοιες της δοσοληψίας Δοσοληψία είναι μία

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Το ευρετήριο (index) είναι ένα αντικείμενο δεδομένων μέσα στη βάση δεδομένων που καταγράφει τις γραμμές

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Τ. Σελλής ΦΘΙΝΟΠΩΡΟ 2008 Λύση ΑΣΚΗΣΗΣ

Διαβάστε περισσότερα

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Έλεγχος συγχρονικότητας Διάφορες

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών Βάσεις Δεδομένων ΙΙ Διάλεξη 1 η Επεξεργασία Δοσοληψιών Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Ορισμός Προβλήματος Σύστημα Επεξεργασίας Δοσοληψιών Συστήματα

Διαβάστε περισσότερα

PostgreSQL. Oracle. Εαρινό Εξάμηνο

PostgreSQL. Oracle. Εαρινό Εξάμηνο . - Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 - Table of contents 1 2 - Table of contents 1 2 3 - 1 2-3 - Καταγωγή από την

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Πρωτόκολλα βασισμένα σε γράφο

Διαβάστε περισσότερα

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

Διαβάστε περισσότερα

Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού

Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού Θεµατολόγιο Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Β) Εναλλακτικές Τεχνικές Αισιόδοξος έλεγχος ταυτοχρονισµού

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction) Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις

Διαβάστε περισσότερα

Προχωρημένα Θέματα Βάσεων Δεδομένων

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων 1ο Σετ Ασκήσεων ΕΡΩΤΗΜΑ 1 Ατομικότητα : Η ατομικότητα πρακτικά εξασφαλίζει ότι είτε όλες οι πράξεις μιας δοσοληψίας θα εκτελεστούν ή καμμιά από αυτές δεν θα εκτελεστεί.

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Δοσοληψιών (Transaction Processing) (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του

Διαβάστε περισσότερα

Η SQL ως γλώσσα τροποποίησης Δεδομένων

Η SQL ως γλώσσα τροποποίησης Δεδομένων Η SQL ως γλώσσα τροποποίησης Δεδομένων Τροποποίηση Βάσης Δεδομένων: Γλώσσα Χειρισμού Δεδομένων (ΓXΔ) Τροποποιήσεις 1. Διαγραφή 2. Εισαγωγή 3. Ενημέρωση Οι εντολές αυτές ΤΡΟΠΟΠΟΙΟΥΝ το στιγμιότυπο της βάσης

Διαβάστε περισσότερα

Τεχνικές Ελέγχου Συνδροµικότητας

Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Ο χρήστης δεν ασχολείται µε τη συνδροµικότητα Το Σ Β εξασφαλίζει «σωστή συνδροµικότητα», γενικά δροµολογεί τις πράξεις των δοσοληψιών ώστε

Διαβάστε περισσότερα

Δοσοληψίες. Κατανεμημένα Συστήματα

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

Τμήμα Διοίκησης Επιχειρήσεων

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4) ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα:

Διαβάστε περισσότερα

Δοσοληψίες. Κατανεμημένα Συστήματα

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών Βάσεις Δεδομένων ΙΙ Διάλεξη 3 η Tεχνικές Aνάκαμψης Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Επιθυμητές Ιδιότητες μιας Δοσοληψίας Ιδιότητες Δοσοληψιών Αtomicity

Διαβάστε περισσότερα

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 7 Γλώσσα Ερωτημάτων SQL Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Σχεσιακή

Διαβάστε περισσότερα

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αρχιτεκτονική Τριών Επιπέδων Χρήστες Βάσεων Δεδομένων Μοντέλα Δεδομένων και Γλώσσες

Διαβάστε περισσότερα

Εξεταστική Περίοδος Ιουνίου 2004

Εξεταστική Περίοδος Ιουνίου 2004 Aρχεία και Βάσεις εδοµένων Εξεταστική Περίοδος Ιουνίου 2004 ιαβάστε προσεκτικά όλες τις οδηγίες, τις εκφωνήσεις των ερωτηµάτων και τις όποιες οδηγίες υπάρχουν σε κάθε ερώτηµα. Η εξέταση πραγµατοποιείται

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

Διαβάστε περισσότερα

Διαχείριση Δοσοληψιών

Διαχείριση Δοσοληψιών Διαχείριση Δοσοληψιών Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης Βασική πηγή διαφανειών: Silberschatz

Διαβάστε περισσότερα

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

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό) Επανάκτηση δεδομένων (εμπλουτισμένο υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2 Επανάκτηση ηδεδομένων

Διαβάστε περισσότερα

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Εργαστηριακή Άσκηση 4 7/02/2012

Διαβάστε περισσότερα

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

Διαβάστε περισσότερα

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 1 Περιγραφή των Δεδομένων: Τα μοντέλα ενός ΣΔΒΔ Ένα μοντέλο δεδομένων είναι μια συλλογή από έννοιες που χρησιμοποιούνται για την περιγραφή δεδομένων

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

ΕΠΛ 342 Βάσεις εδοµένων

ΕΠΛ 342 Βάσεις εδοµένων ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 3 ο SQL - DML Ιωάννα Συρίµη syrimi@ucy.ac.cy Data Manipulation Language Εισαγωγή νέων Εγγραφών Insert Into ιαγραφή Εγγραφών Delete Αλλαγή υφιστάµενων Εγγραφών Update

Διαβάστε περισσότερα

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

DBTechNet. DBTech VET. SQL Transactions. Θεωρία και Ασκήσεις Πρακτικής Εφαρμογής. Στην ελληνική DBTechNet DBTech VET SQL Transactions Θεωρία και Ασκήσεις Πρακτικής Εφαρμογής Στην ελληνική This publication has been developed in the framework of the project DBTech VET Teachers (DBTech VET). Code: 2012-1-FI1-LEO05-09365.

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Σχεδίαση και Ανάπτυξη Ενιαίου και Ολοκληρωμένου Συστήματος

Διαβάστε περισσότερα

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος 2008-09

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος 2008-09 Βάσεις Δεδομένων 2 Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας Ημερ: 05/5/2009 Ακ.Έτος 2008-09 Θεωρία-Επανάληψη Δοσοληψία-ορισμός Το πρόβλημα της απώλειας των ενημερώσεων Το πρόβλημα της προσωρινής

Διαβάστε περισσότερα

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΛΙΛΙΤΣΗΣ ΠΡΟΔΡΟΜΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών Βάσεων

Διαβάστε περισσότερα

Transactions Management. (Διαχείριση Δοσοληψιών)

Transactions Management. (Διαχείριση Δοσοληψιών) Transactions Management (Διαχείριση Δοσοληψιών) Επισκόπηση διαλέξεων Αντιμετώπιση αστοχιών συστήματος (failure recovery) Χρήση ιστορικού/πρακτικού - Logging (Undo, Redo, Undo/Redo) Χρονοπρογράμματα Δοσοληψιών

Διαβάστε περισσότερα

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

Επαναφορά του Συστήματος (Μέρος Α') Επαναφορά του Συστήματος (Μέρος Α') Κεφάλαιο 18 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Επανάληψη: Οι ιδιότητες ACID A tomicity (Ατομικότητα):

Διαβάστε περισσότερα

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

Διαβάστε περισσότερα

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Εισαγωγή στη MySQL Νικόλαος Ζ. Ζάχαρης Τι είναι η MySql Είναι ένα Σχεσιακό Σύστημα Διαχείρισης

Διαβάστε περισσότερα

Τεχνολογία Πολιτισμικού Λογισμικού

Τεχνολογία Πολιτισμικού Λογισμικού Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 10: Γλώσσα Ερωτημάτων SQL Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Ακαδημαϊκό έτος 2009-10 ΣΥΓΦΡΟΝΑ ΘΔΜΑΤΑ ΒΑΣΔΩΝ ΓΔΓΟΜΔΝΩΝ 1 η ΔΡΓΑΣΙΑ ΔΞΑΜΗΝΟΥ ομάδες των 2-3 ατόμων Εισαγωγή Έστω η βάση δεδομένων μιας επιχείρησης (θα μπορούσε

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 1: Επεξεργασία Δοσοληψιών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων. Εξεταστική Περίοδος Σεπτεμβρίου 2007

Αρχεία και Βάσεις Δεδομένων. Εξεταστική Περίοδος Σεπτεμβρίου 2007 Aρχεία και Βάσεις Δεδομένων Εξεταστική Περίοδος Σεπτεμβρίου 2007 Διαβάστε προσεκτικά όλες τις οδηγίες, τις εκφωνήσεις των ερωτημάτων και τις όποιες οδηγίες υπάρχουν σε κάθε ερώτημα. Η εξέταση πραγματοποιείται

Διαβάστε περισσότερα

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε

Διαβάστε περισσότερα

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

Διαβάστε περισσότερα

Αποκατάσταση συστήματος Βάσεις Δεδομένων

Αποκατάσταση συστήματος Βάσεις Δεδομένων Αποκατάσταση συστήματος Βάσεις Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Κατηγοριοποίηση αποτυχιών Αποτυχία συναλλαγής (Transaction failure):

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Triggers

. Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Βάσεις Δεδομένων

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Βάσεις Δεδομένων ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Βάσεις Δεδομένων Υπολογιστικά συστήματα: Στρώματα 1 επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Βάσεις Δεδομένων 2

Διαβάστε περισσότερα

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία

Διαβάστε περισσότερα

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΓΙΑΝΝΗΣ ΑΓΑΘΑΓΓΕΛΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL SQL SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

Διαβάστε περισσότερα

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Σημεία ελέγχου (Checkpoints)

Σημεία ελέγχου (Checkpoints) Σημεία ελέγχου (Checkpoints) Από την στιγμή που γίνεται ένα σε ένα Undo Recovery θα μπορούσε κανείς να υποθέσει ότι τα πρακτικά της δοσοληψίας μέχρι το δεν είναι πλέον απαραίτητα για

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Τζικούλης Βασίλειος Credits:Γιάννης Μακρυδάκης Συναλλαγές Η ταυτόχρονες συναλλαγές (δοσοληψίες, transactions) µε µια

Διαβάστε περισσότερα

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

Διαβάστε περισσότερα

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

Διαβάστε περισσότερα

5 η Διάλεξη Python - Αρχεία

5 η Διάλεξη Python - Αρχεία 5 η Διάλεξη Python - Αρχεία Αρχεία Άνοιγμα Επεξεργασία Κλείσιμο Αρχεία Η python κάνει διάκριση μεταξύ αρχείων κειμένου (text) και δυαδικών αρχείων (binary) Τα δεδομένα στα αρχεία κειμένου χωρίζονται μεταξύ

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δημιουργία Πεδίων Ορισμού Πεδίο Ορισμού είναι συστατικό του σχήματος για τον ορισμό των μακροεντολών

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33 Περιεχόμενα Πρόλογος... 33 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων... 39 1 Μια βόλτα στις βάσεις δεδομένων... 41 1.1 Η πρώτη βάση δεδομένων... 42 1.1.1 Άλλοι τρόποι... 42 1.1.2 Απαιτήσεις της εφαρμογής...

Διαβάστε περισσότερα

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Β) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

Διαβάστε περισσότερα

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε Επιθυµητές Ιδιότητες µιας οσοληψίας Τεχνικές Ανάκαµψης Ιδιότητες οσοληψιών Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση)

Διαβάστε περισσότερα

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL) Βασικές Εντολές SQL Θεωρία & Εντολές SQL Γραμμή Εντολών MS-DOS (MySQL) Ο καλός σχεδιασμός μιας Β.Δ είναι σημαντικός για την ανάπτυξη μιας εφαρμογής με υψηλή απόδοση. Γι αυτό τον λόγο μια Β.Δ θα πρέπει

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για

Διαβάστε περισσότερα

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων

Διαβάστε περισσότερα