ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

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

Download "ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL"

Transcript

1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

2 Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Επίκουρος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00)

3 Προτεινόμενα Βιβλία 3 Σχεσιακές βάσεις δεδομένων, 2η Έκδοση, Κεχρής Ευάγγελος, Εκδόσεις Κριτική Συστήματα Βάσεων Δεδομένων 6η Έκδοση, Abraham Silberschatz,Henry F. Korth,S. Sudarshan Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes Θεμελιώδεις αρχές συστημάτων βάσεων δεδομένων, Elmasri Ramez,Navathe Shamkant B. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ, ΤΑΜΠΑΚΑΣ ΒΑΣΙΛΕΙΟΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ SQL: ΜΙΑ ΠΡΑΚΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ, ΑΘΑΝΑΣΙΟΣ ΣΤΑΥΡΑΚΟΥΔΗΣ ΣΥΣΤΗΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ (ΣΕ ΕΝΑΝ ΤΟΜΟ), GARCIA- MOLINA, ULLMAN, WIDOM Βάσεις Δεδομένων: Σύγχρονη Διαχείριση, 11 Έκδοση, Hoffer J., Ramesh V., Topi H., Μιχαήλ Βαΐτης - Ευαγγελία Καβακλή (επιμέλεια)

4 Περιεχόμενο Μαθήματος 4 Τι είναι η SQL Ιστορικό της SQL Εντολές της SQL Δημιουργία πίνακα Παραβίαση της ακεραιότητας αναφοράς Καταστροφή πίνακα Εισαγωγή δεδομένων με την SQL Διαγραφή δεδομένων με την SQL

5 Η γλώσσα SQL 5 Υπάρχει μία κοινή γλώσσα για όλα τα σχεσιακά ΣΔΒΔ: η γλώσσα SQL Κάθε σχεσιακό ΣΔΒΔ έχει τη δυνατότητα να δεχθεί και να εκτελέσει εντολές της γλώσσας SQL H SQL χρησιμοποιείται σε οποιοδήποτε σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων

6 Σύντομο ιστορικό της SQL 6 Η γλώσσα SQL (Structured Query Language Γλώσσα Δομημένων Ερωτημάτων) αναπτύχθηκε από το 1974 από τον D. Chamberlin, ο οποίος εργαζόταν στην IBM και αρχικά χρησιμοποιήθηκε σε ΣΔΒΔ της IBM. Στα τέλη της δεκαετίας του 70, η γνωστή εταιρεία ORACLE δημιούργησε το δικό της σχεσιακό ΣΔΒΔ, υιοθέτησε την SQL. Σύντομα ακολούθησαν και άλλες εταιρείες λογισμικού που ανέπτυξαν τα δικά τους συστήματα τα οποία υιοθέτησαν την SQL.

7 Σύντομο ιστορικό της SQL 7 Η ευρεία διάδοση της SQL οφείλεται στο γεγονός ότι τόσο το Αμερικανικό Ινστιτούτο Τυποποίησης (American National Standards Institute ANSI) όσο και ο Παγκόσμιος Οργανισμός Τυποποίησης (International Organisation for Standardisation ISO) όρισαν την SQL ως την κοινή γλώσσα των σχεσιακών ΣΔΒΔ.

8 Πρότυπα της SQL 8 Παρά τις σημαντικές προσπάθειες που καταβλήθηκαν από τους διεθνείς οργανισμούς, ο στόχος των προτύπων της SQL δεν επιτεύχθηκε απόλυτα: Τα σχεσιακά ΣΔΒΔ υποστηρίζουν εκδοχές της SQL που ο κεντρικός τους πυρήνας είναι αυτός του προτύπου, παρέχοντας όμως πολλές δυνατότητες (επεκτάσεις) που δεν συμπεριλαμβάνονται στο πρότυπο.

9 Εντολές SQL από χρήστη και ενσωματωμένες σε πρόγραμμα 9 Οι εντολές της γλώσσας SQL μπορεί να πληκτρολογηθούν από το χρήστη και να υποβληθούν προς άμεση εκτέλεση στο σχεσιακό ΣΔΒΔ. Στην περίπτωση αυτή, τα αποτελέσματα των εντολών SQL εμφανίζονται στην οθόνη του χρήστη. Η SQL είναι μία γλώσσα για τη διαχείριση δεδομένων δεν είναι μία πλήρης γλώσσα προγραμματισμού όπως η C++ ή η Java Πολλές φορές είναι απαραίτητο η SQL να ενσωματωθεί μέσα στον κώδικα μίας άλλης γλώσσας προγραμματισμού. Τότε, η SQL αναφέρεται ως ενσωματωμένη SQL (embedded SQL). Στην περίπτωση αυτή, τα αποτελέσματα των SQL εντολών γνωστοποιούνται στο πρόγραμμα που είναι γραμμένο στη γενική γλώσσα προγραμματισμού, το οποίο και τα χειρίζεται.

10 Εισαγωγικά για τις εντολές SQL 10 Οι εντολές της SQL θυμίζουν έντονα απλές προτάσεις της Αγγλικής γλώσσας άλλωστε έγινε προσπάθεια γι αυτό, ώστε να είναι εύκολη η εκμάθησή της. Κάθε εντολή περιέχει ένα σύνολο δεσμευμένων λέξεων, δηλαδή λέξεων που έχουν συγκεκριμένο νόημα που δεν μπορεί να αλλάξει και ένα σύνολο λέξεων που ορίζονται από το χρήστη. Ο τρόπος γραφής μίας εντολής SQL είναι αυστηρά καθορισμένος και ακολουθεί συγκεκριμένους συντακτικούς κανόνες. Στην περίπτωση που οι κανόνες αυτοί παραβιάζονται, η εντολή δεν μπορεί να γίνει κατανοητή από το ΣΔΒΔ.

11 Δημιουργία πίνακα στην πιο απλή μορφή 11 Με την πιο απλή μορφή της εντολής CREATE TABLE: δημιουργείται ένας πίνακας δίνεται όνομα στον πίνακα αυτόν δηλώνονται τα ονόματα και οι τύποι δεδομένων των στηλών που περιέχει ο πίνακας

12 Παράδειγμα δημιουργίας πίνακα στην απλή μορφή 12 ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα ΗμερΠρόσληψης Για τη δημιουργία του πίνακα ΟΔΗΓΟΣ πληκτρολογούμε την εντολή: CREATE TABLE ΟΔΗΓΟΣ ( ΑρΔιπλώματος INTEGER NOT NULL, Επώνυμο CHAR (50), Όνομα CHAR (50), ΗμερΠρόσληψης DATE );

13 Επεξήγηση εντολής δημιουργίας πίνακα στην απλή μορφή 13 Γραμμή SQL εντολής Ερμηνεία της γραμμής SQL CREATE TABLE ΟΔΗΓΟΣ Δημιούργησε έναν πίνακα και ονόμασέ τον ΟΔΗΓΟΣ ( Στο σημείο αυτό ξεκινάει η περιγραφή του πίνακα ΑρΔιπλώματος INTEGER NOT Τη στήλη ΑρΔιπλώματος που NULL, παίρνει ακέραιες τιμές και η οποία δεν μπορεί να πάρει την τιμή NULL Επώνυμο CHAR (50), Τη στήλη Επώνυμο που παίρνει ως τιμές 50 χαρακτήρες Όνομα CHAR (50), Τη στήλη Όνομα που παίρνει ως τιμές 50 χαρακτήρες ΗμερΠρόσληψης DATE Τη στήλη ΗμερΠρόσληψης που παίρνει ως τιμή μία ημερομηνία. ) Στο σημείο αυτό ολοκληρώνεται η περιγραφή του πίνακα

14 Δημιουργία πίνακα με ταυτόχρονη δήλωση του πρωτεύοντος κλειδιού 14 Μία στήλη ενός πίνακα που αποτελεί το (απλό) πρωτεύον κλειδί του πίνακα δηλώνεται μέσα στην παρένθεση που ακολουθεί τις λέξεις PRIMARY KEY.

15 Παράδειγμα δημιουργίας πίνακα στην απλή μορφή 15 ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα ΗμερΠρόσληψης Για τη δημιουργία του πίνακα ΟΔΗΓΟΣ με ταυτόχρονη δήλωση του πρωτεύοντος κλειδιού: CREATE TABLE ΟΔΗΓΟΣ ( ) ΑρΔιπλώματος INTEGER NOT NULL, Επώνυμο CHAR (50), Όνομα CHAR (50), ΗμερΠρόσληψης DATE, PRIMARY KEY (ΑρΔιπλώματος)

16 Παράδειγμα δημιουργίας πίνακα στην απλή μορφή 16 ΑΥΤΟΚΙΝΗΤΟ ΑρΚυκλοφορίας ΩφέλιμοΦορτίο ΗμερομηνίαΑγοράς Για τη δημιουργία του πίνακα ΑΥΤΟΚΙΝΗΤΟ με ταυτόχρονη δήλωση του πρωτεύοντος κλειδιού : CREATE TABLE ΑΥΤΟΚΙΝΗΤΟ ( ) ΑρΚυκλοφορίας CHAR (7) NOT NULL, ΩφέλιμοΦορτίο DECIMAL (3,1), ΗμερομηνίαΑγοράς DATE, PRIMARY KEY (ΑρΚυκλοφορίας)

17 Δήλωση σύνθετου πρωτεύοντος κλειδιού 17 OΔΗΓOI_ΑΥΤOΚΙΝΗΤΩΝ ΑρΔιπλώματος ΑρΚυκλοφορίας Ημερομηνία Για να δημιουργηθεί αυτός ο πίνακας με ταυτόχρονη δήλωση του σύνθετου πρωτεύοντος κλειδιού του, το οποίο αποτελείται από τις στήλες ΑρΔιπλώματος και ΑρΚυκλοφορίας, πρέπει να δοθεί η εντολή: CREATE TABLE OΔΗΓOI_ΑΥΤOΚΙΝΗΤΩΝ ( ) ΑρΔιπλώματος INTEGER NOT NULL, ΑρΚυκλοφορίας CHAR (7) NOT NULL, Ημερομηνία DATE, PRIMARY KEY (ΑρΔιπλώματος,ΑρΚυκλοφορίας)

18 Δημιουργία πίνακα με ταυτόχρονη δήλωση των ξένων κλειδιών του 18 Τα ξένα κλειδιά που περιλαμβάνονται σε έναν πίνακα και οι αναφορές των ξένων κλειδιών μπορούν να δηλωθούν κατά τη δημιουργία του πίνακα με χρήση της εντολής FOREIGN KEY.

19 Παράδειγμα δημιουργίας πίνακα με δήλωση των ξένων κλειδιών ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα ΗμερΠρόσληψης 19 ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ΑρΔιπλώμ ΑρΚυκλοφ Ημερομηνία ΑΥΤΟΚΙΝΗΤΟ ΑρΚυκλοφορίας ΩφέλιμοΦορτίο ΗμερομηνίαΑγοράς Θα δημιουργηθεί ο πίνακας ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ με το πρωτεύον κλειδί του και ταυτόχρονα θα δηλωθεί: Ο ΑριθμόςΔιπλώμ του πίνακα ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ως ξένο κλειδί που αναφέρεται στη στήλη ΑρΔιπλώματος του πίνακα ΟΔΗΓΟΣ Ο ΑρΚυκλοφ του πίνακα ΟΔΗΓΟΙ_ ΑΥΤΟΚΙΝΗΤΩΝ ως ξένο κλειδί που αναφέρεται στη στήλη ΑρΚυκλοφορίας του πίνακα ΑΥΤΟΚΙΝΗΤΟ

20 Παράδειγμα δημιουργίας πίνακα με δήλωση των ξένων κλειδιών του 20 ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα ΗμερΠρόσληψης ΑΥΤΟΚΙΝΗΤΟ ΑρΚυκλοφορίας ΩφέλιμοΦορτίο ΗμερομηνίαΑγοράς CREATE TABLE ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ( ΑρΔιπλώμ INTEGER NOT NULL, ΑρΚυκλοφ CHAR (7) NOT NULL, Ημερομηνία DATE, PRIMARY KEY (ΑρΔιπλώμ, ΑρΚυκλοφ), FOREIGN KEY (ΑρΔιπλώμ) REFERENCES ΟΔΗΓΟΣ (ΑρΔιπλώματος), FOREIGN KEY (ΑρΚυκλοφ) REFERENCES ΑΥΤΟΚΙΝΗΤΟ (ΑρΚυκλοφορίας) ) ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ΑρΔιπλώμ ΑρΚυκλοφ Ημερομηνία

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

22 Μετακύλιση της ενέργειας 22 Σύμφωνα με την προσέγγιση αυτή: Το ΣΔΒΔ εκτελεί την πράξη που παραβιάζει την ακεραιότητα αναφοράς Και αυτόματα εκτελεί αντίστοιχες πράξεις σε άλλους πίνακες της βάσης δεδομένων ώστε να διατηρηθεί η ακεραιότητα αναφοράς.

23 Παράδειγμα μετακύλισης της ενέργειας σε περίπτωση διαγραφής ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα Ημερ Πρόσληψης Αρίστου Ανέστης 7/10/ Βασίλης Βασιλείου 10/9/2010 ΑΥΤΟΚΙΝΗΤΟ ΑρΚυκλοφορίας ΩφέλιμοΦορτίο ΗμερομηνίαΑγοράς ΑΑΑ ,5 3/6/2009 ΒΒΒ ,2 5/7/2010 ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ΑρΔιπλώμ ΑρΚυκλο φ Ημερομηνία ΑΑΑ /5/ ΒΒΒ /5/ ΑΑΑ /5/2014 Ο χρήστης υποβάλλει εντολή διαγραφής της εγγραφής από τον πίνακα ΟΔΗΓΟΣ. Σύμφωνα με τη μετακύλιση της ενέργειας: αφού διαγραφεί η εγγραφή, αυτόματα, διαγράφεται και η αντίστοιχη εγγραφή του πίνακα ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ώστε να διατηρηθεί η ακεραιότητα αναφοράς. 23

24 Παράδειγμα μετακύλισης της ενέργειας σε περίπτωση τροποποίησης 24 ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ Ημερ ΑρΔιπλώμ ΑρΚυκλο Πρόσληψης φ Ημερομηνία Αρίστου Ανέστης 7/10/ ΑΑΑ /5/ Βασίλης Βασιλείου 10/9/ ΒΒΒ /5/2014 ΑΥΤΟΚΙΝΗΤΟ ΑΑΑ /5/2014 ΑρΚυκλοφορίας ΩφέλιμοΦορτίο ΗμερομηνίαΑγοράς ΑΑΑ ,5 3/6/2009 ΒΒΒ ,2 5/7/2010 Ο χρήστης υποβάλλει εντολή τροποποίησης της εγγραφής και αλλάζει τον ΑρΚυκλοφορίας από ΑΑΑ 1234 στην τιμή ΑΑΑ Σύμφωνα με τη μετακύλιση ενέργειας: μετά την αλλαγή της εγγραφής, αυτόματα τροποποιούνται και οι αντίστοιχες εγγραφές και στη νέα τιμή ΑΑΑ 4444, έτσι ώστε να διατηρηθεί η ακεραιότητα αναφοράς.

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

26 3η εναλλακτική ενέργεια: ενέργεια κενού 26 Σύμφωνα με την προσέγγιση αυτή: το ΣΔΒΔ εκτελεί την πράξη που προκάλεσε την παραβίαση της ακεραιότητας αναφοράς αυτόματα αλλάζει τις τιμές που παραβιάζουν την ακεραιότητα αναφοράς στην τιμή NULL

27 Δήλωση της ενέργειας σε περίπτωση παραβίασης της ακεραιότητας της αναφοράς 27 Κατά τη δημιουργία του πίνακα ΟΔΗΓΟΙ ΑΥΤΟΚΙΝΗΤΩΝ, μπορούμε να δηλώσουμε την απόρριψη της διαγραφής και τη μετακύληση της τροποποίησης ως ενέργειες που αυτόματα θα εκτελεί το ΣΔΒΔ σε περίπτωση παραβίασης της ακεραιότητας αναφοράς: CREATE TABLE ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ ( ΑρΔιπλώμ INTEGER NOT NULL, ΑρΚυκλοφ CHAR (7) NOT NULL, Ημερομηνία DATE, PRIMARY KEY (ΑρΔιπλώμ, ΑρΚυκλοφ), FOREIGN KEY (ΑρΔιπλώμ) REFERENCES ΟΔΗΓΟΣ (ΑρΔιπλώματος) ON DELETE NO ACTION ON UPDATE CASCADE, FOREIGN KEY (ΑρΚυκλοφ) REFERENCES ΑΥΤΟΚΙΝΗΤΟ (ΑρΚυκλοφορίας) ON DELETE NO ACTION ON UPDATE CASCADE )

28 Καταστροφή πίνακα 28 Ένας πίνακας που δημιουργήθηκε με την εντολή CREATE TABLE μπορεί να καταστραφεί (δηλαδή να διαγραφεί από τον κατάλογο του ΣΔΒΔ) με την εντολή DROP TABLE. Η εντολή DROP TABLE ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ καταστρέφει τον πίνακα ΟΔΗΓΟΙ_ΑΥΤΟΚΙΝΗΤΩΝ.

29 Εισαγωγή δεδομένων με την SQL 29 Η εισαγωγή δεδομένων στην SQL γίνεται με την εντολή INSERT, η οποία εισάγει σε έναν πίνακα μία ολόκληρη εγγραφή. Συντακτικό της εντολής: INSERT INTO όνομα_πίνακα VALUES (λίστα_τιμών)

30 30 ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα Ημερ Πρόσληψης Για να εισαχθούν στον πίνακα ΟΔΗΓΟΣ οι τιμές για τον οδηγό Ανέστη Αρίστου με αριθμό διπλώματος και ημερομηνία πρόσληψης τις 7/10/2010 δίνεται η εντολή: INSERT INTO ΟΔΗΓΟΣ VALUES (100001, 'Αρίστου', 'Ανέστης', 7/10/2010 ) Μετά την εκτέλεση της εντολής αυτής ο πίνακας έχει μία γραμμή: ΟΔΗΓΟΣ ΑρΔιπλώματος Επώνυμο Όνομα Ημερ Πρόσληψης Αρίστου Ανέστης 7/10/2010

31 Παρατηρήσεις για την εντολή insert 31 Τα δεδομένα που θα εισαχθούν στον πίνακα να χωρίζονται μεταξύ τους με κόμμα (,). Ο αριθμός των δεδομένων που υπάρχουν μέσα στην παρένθεση της εντολής INSERT πρέπει να είναι ίδιος με τον αριθμό των στηλών του πίνακα στον οποίο θα εισαχθούν οι τιμές. Η σειρά με την οποία δίνονται τα δεδομένα θα πρέπει να αντιστοιχεί στη σειρά με την οποία ορίσθηκαν οι στήλες του πίνακα κατά στη δημιουργία του πίνακα με την εντολή CREATE TABLE. Οι τύποι των δεδομένων που εισάγονται πρέπει να συμφωνούν με τους τύπους των δεδομένων όπως ορίστηκαν κατά τη δημιουργία του πίνακα. Τα δεδομένα με τύπο δεδομένων συμβολοσειράς (δηλ. τα αυτά που δηλώθηκαν ως τύπου CHAR ή VARCHAR στην εντολή δημιουργίας πίνακα CREATE TABLE) πρέπει να περικλείονται μέσα σε απλά εισαγωγικά.

32 Insert και η τιμή null 32 Στην περίπτωση που η τιμή μίας στήλης δεν είναι γνωστή, μπορεί να δοθεί σε αυτήν η τιμή NULL εφόσον: η στήλη δεν είναι πρωτεύον κλειδί του πίνακα και δεν έχει οριστεί με την επιλογή NOT NULL στην εντολή CREATE TABLE. Για παράδειγμα, για να εισαχθούν στον πίνακα ΟΔΗΓΟΙ οι τιμές για τον οδηγό Δημητριάδη Δημήτριο με αριθμό διπλώματος , για τον οποίο δεν γνωρίζουμε την ημερομηνία πρόσληψης, δίνεται η εντολή: INSERT INTO ΟΔΗΓΟΣ VALUES (400004, 'Δημητριάδης', 'Δημήτριος', NULL)

33 Διαγραφή δεδομένων με την SQL 33 Η διαγραφή των δεδομένων από έναν πίνακα γίνεται με την εντολή DELETE, η οποία έχει το παρακάτω συντακτικό: DELETE όνομα πινακα [WHERE συνθήκη] Στην απλή μορφή της η εντολή DELETE δεν περιλαμβάνει την δεύτερη γραμμή WHERE συνθήκη η οποία είναι προαιρετική. Στην μορφή αυτή η εντολή DELETE διαγράφει όλες τις εγγραφές του πίνακα. Στην σύνθετη μορφή της η εντολή περιέχει και γραμμή WHERE συνθήκη. Στην μορφή αυτή η εντολή διαγράφει μόνο τις εγγραφές του πίνακα που ικανοποιούν την συνθήκη.

34 Παραδείγματα διαγραφής εγγραφών 34 ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Ανέστης Αρίστου Ανθέων 53 Σέρρες 124 Βασίλης Βελισαρίου Ηρώων 20 Σέρρες 125 Γιάννης Γεωργίου Κήπων 4 Βόλος 126 Κωνσταντίνα Δημητρίου Εγνατία 123 Βόλος DELETE ΦΟΙΤΗΤΕΣ DELETE ΦΟΙΤΗΤΕΣ WHERE Κωδικός = 123 DELETE ΦΟΙΤΗΤΕΣ WHERE Πόλη = Βόλος ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 124 Βασίλης Βελισαρίου Ηρώων 20 Σέρρες 125 Γιάννης Γεωργίου Κήπων 4 Βόλος 126 Κωνσταντίνα Δημητρίου Εγνατία 123 Βόλος ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Ανέστης Αρίστου Ανθέων 53 Σέρρες 124 Βασίλης Βελισαρίου Ηρώων 20 Σέρρες

35 Συνθήκες με αριθμητικές στήλες στην SQL 35 Στην προηγούμενη εντολή DELETE, η παράσταση που ακολουθεί τη δεσμευμένη λέξη WHERE καθορίζει τις γραμμές του πίνακα που διαγράφονται. Όσες γραμμές έχουν τιμές που ικανοποιούν την παράσταση που περιγράφει η συνθήκη, διαγράφονται με την εκτέλεση της εντολής.

36 Τελεστές σύγκρισης 36 Η συνθήκη που ακολουθεί τη δεσμευμένη λέξη WHERE δημιουργείται με τη βοήθεια των τελεστών σύγκρισης: = ίσο > μεγαλύτερο < μικρότερο >= μεγαλύτερο ή ίσο <= μικρότερο ή ίσο <> διάφορο

37 Παραδείγματα διαγραφής εγγραφών με απλή συνθήκη σε αριθμητικό πεδίο 37 ΠΡΟΪΟΝΤΑ Εγγραφή Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία Στυλό Μολύβι Μαρκαδόρ ος Δισκέτα , CD ROM CD Audio Ενέργεια Εντολή SQL Διαγράφονται οι εγγραφές Διαγραφή των προϊόντων με απόθεμα μεγαλύτερο του 150 DELETE ΠΡΟΪΟΝΤΑ WHERE Απόθεμα > 150 1, 2, 5 Διαγραφή των προϊόντων με απόθεμα μικρότερο ή ίσο του 125 DELETE ΠΡΟΪΟΝΤΑ WHERE Απόθεμα <= 125 4, 6 Διαγραφή των προϊόντων με τιμή αγοράς μικρότερη του 1 DELETE ΠΡΟΪΟΝΤΑ WHERE ΤιμήΑγοράς < 1 1, 4 Διαγραφή όλων των προϊόντων που ανήκουν στην κατηγορία 2 DELETE ΠΡΟΪΟΝΤΑ WHERE Κατηγορία= 2 4, 5, 6

38 Λογικοί τελεστές 38 Περισσότερο σύνθετες συνθήκες μπορούν να διαμορφωθούν με την χρήση των λογικών τελεστών: AND (λογικό και) OR (λογικό ή) και NOT (λογική άρνηση). Οι λογικοί τελεστές χρησιμοποιούνται για να συνδυαστούν λογικά δύο απλές συνθήκες. Για παράδειγμα, τα προϊόντα που είναι στην κατηγορία 2 και έχουν τιμή αγοράς μικρότερη του 1 περιγράφονται από τη συνθήκη: κατηγορία = 2 AND Τιμή Αγοράς < 1.

39 Παραδείγματα με σύνθετη συνθήκη σε αριθμητικά πεδία 39 ΠΡΟΪΟΝΤΑ Εγγραφή Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία Στυλό Μολύβι Μαρκαδόρο ς Δισκέτα 3, CD ROM CD Audio Ενέργεια Διαγραφή των προϊόντων με απόθεμα μεγαλύτερο του 150 και ανήκουν στην κατηγορία 2 Διαγραφή των προϊόντων της κατηγορίας 2 με απόθεμα μικρότερο ή ίσο του 125 Διαγραφή των προϊόντων της κατηγορίας 1 με απόθεμα μικρότερο ή ίσο του 125 Εντολή SQL DELETE ΠΡΟΪΟΝΤΑ WHERE Κωδικός >150 AND Κατηγορία = 2 DELETE ΠΡΟΪΟΝΤΑ WHERE Απόθεμα <=125 AND Κατηγορία = 2 DELETE ΠΡΟΪΟΝΤΑ WHERE Απόθεμα <=125 AND Κατηγορία = 1 Διαγράφονται οι εγγραφές 5 4,6 καμία

40 Παραδείγματα με σύνθετη συνθήκη σε αριθμητικά πεδία 40 ΠΡΟΪΟΝΤΑ Εγγραφή Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία Στυλό Μολύβι Μαρκαδόρο ς Δισκέτα 3, CD ROM CD Audio Ενέργεια Διαγραφή των προϊόντων που είτε έχουν τιμή αγοράς κάτω του 1, είτε ανήκουν στην κατηγορία 2 Διαγραφή των προϊόντων που έχουν τιμή αγοράς μεγαλύτερη του 0.5 και μικρότερη του 1.2 Εντολή SQL DELETE ΠΡΟΪΟΝΤΑ WHERE ΤιμήΑγοράς < 1 OR Κατηγορία = 2 DELETE ΠΡΟΪΟΝΤΑ WHERE ΤιμήΑγοράς >0.5 AND ΤιμήΑγοράς <1.2 Διαγράφονται οι εγγραφές 1, 4, 5,6 1,2, 4,5

41 Συνθήκες με στήλες τύπου συμβολοσειράς 41 Στην περίπτωση που στη συνθήκη συμμετέχει μία στήλη τύπου συμβολοσειράς (δηλ. μία στήλη που έχει δηλωθεί στην εντολή CREATE TABLE ως CHAR ή VARCHAR), η συνθήκη σχηματίζεται με χρήση ενός εκ των δύο τελεστών του τελεστή της ισότητας (=) και του τελεστή LIKE Ο τελεστής της ισότητας (=) χρησιμοποιείται όταν η στήλη πρέπει έχει μία απολύτως συγκεκριμένη τιμή. Για παράδειγμα, η έκφραση πόλη = Καβάλα' σημαίνει ότι η πόλη πρέπει να έχει ακριβώς την τιμή Καβάλα.

42 Ο τελεστής LIKE 42 Ο τελεστής LIKE χρησιμοποιείται όταν οι τιμές της στήλης πρέπει να ακολουθούν ένα σύνολο τιμών που ακολουθούν ένα συγκεκριμένο πρότυπο. Το πρότυπο περιγράφεται εισάγοντάς το σε απλά εισαγωγικά ('). Συνήθως, ο τελεστής LIKE χρησιμοποιείται σε συνδυασμό με το σύμβολο επί τοις εκατό (%), το οποίο αντιπροσωπεύει ένα οποιοδήποτε σύνολο χαρακτήρων. Παράδειγμα: η έκφραση Επώνυμο like 'Παπα%' σημαίνει ότι το επώνυμο πρέπει να αρχίζει με τα γράμματα Παπα και να ακολουθείται από οποιοδήποτε σύνολο χαρακτήρων. Άρα, η έκφραση αυτή περιγράφει όλα τα ονόματα που αρχίζουν από Παπα, όπως Παπαθασιλείου, Παπαγεωργίου, Παπαντωνίου, κ.λπ.

43 Παραδείγματα συνθηκών που περιέχουν συμβολοσειρά 43 ΠΡΟΜΗΘΕΥΤΕΣ Εγγραφή Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη Αρίστος Παπαβασιλείου Ανθέων 53 Σέρρες Βελισαρίων Παπαντωνίου Ηρώων 20 Σέρρες Γεώργιος Γεωργίου Κήπων 4 Βόλος Γεωργία Δημητρίου Ανθέων 123 Βόλος Ενέργεια Εντολή SQL Διαγράφονται οι εγγραφές Διαγραφή των προμηθευτών που έχουν ως πόλη τις Σέρρες Διαγραφή των προμηθευτών που μένουν σε οδό Ανθέων (ανεξαρτήτως πόλεως) Διαγραφή των προμηθευτών με Επώνυμο που αρχίζει από Παπα Διαγραφή των προμηθευτών με όνομα που τελειώνει σε ος Διαγραφή όλων των προμηθευτών που το όνομά τους περιέχει τον συνδυασμό γραμμάτων ρί DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Πόλη ='Σέρρες DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Οδός = 'Ανθέων' DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Επώνυμο LIKE 'Παπα%' DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Όνομα LIKE '%ος' DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Όνομα LIKE '%ρί%' 1, 2 1, 4 1 (Παπαβασιλείου) 2 (Παπαντωνίου) 1 (Αρίστος) 3 (Γεώργιος) 1 (Αρίστος), 2 (Βελισαρίων)

44 Παραδείγματα σύνθετων συνθηκών με συμβολοσειρές 44 ΠΡΟΜΗΘΕΥΤΕΣ Εγγραφή Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη Αρίστος Παπαβασιλείου Ανθέων 53 Σέρρες Βελισαρίων Παπαντωνίου Ηρώων 20 Σέρρες Γεώργιος Γεωργίου Κήπων 4 Βόλος Γεωργία Δημητρίου Ανθέων 123 Βόλος Ενέργεια Εντολή SQL Διαγράφονται οι εγγραφές Διαγραφή των προμηθευτών που έχουν ως πόλη τις Σέρρες και το όνομά τους περιέχει τον συνδυασμό γραμμάτων ρί Διαγραφή των προμηθευτών που μένουν στην οδό Ανθέων στον Βόλο Διαγραφή των προμηθευτών με Επώνυμο που αρχίζει από Παπα και έχουν κωδικό μεγαλύτερο ή ίσο του 124 DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Πόλη = Σέρρες AND Όνομα LIKE %ρί% DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Οδός = Ανθέων AND Πόλη = Βόλος DELETE ΠΡΟΜΗΘΕΥΤΕΣ WHERE Επώνυμο LIKE Παπα% AND Κωδικός >= 124 1, 2 4 2

45 Τροποποίηση δεδομένων με την SQL 45 Η τροποποίηση (ή αλλιώς ενημέρωση) των δεδομένων που έχουν αποθηκευτεί σε έναν πίνακα γίνεται με χρήση της εντολής UPDATE, η οποία έχει το παρακάτω συντακτικό: UPDATE όνομα_πίνακα SET όνομα_στήλης = τ ιμή [,... ] [WHERE συνθήκη] Η εντολή UPDATE εμφανίζεται σε δύο μορφές: Στην απλούστερη μορφή της δεν περιλαμβάνει τη γραμμή WHERE οπότε η εντολή τροποποιεί όλες τις εγγραφές του πίνακα. Στη σύνθετη μορφή της όταν περιέχει και τη γραμμή WHERE η εντολή τροποποιεί μόνο τις εγγραφές του πίνακα που ικανοποιούν τη συνθήκη.

46 Παραδείγματα τροποποίησης πίνακα 46 Για να ενταχθούν όλα τα προϊόντα (ανεξάρτητα της κατηγορίας που ανήκουν) στην κατηγορία 3, χρησιμοποιούμε την εντολή: ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Τιμή Αγοράς Κωδικός Περιγραφή Τιμή Αγοράς Απόθεμα Κατηγορία Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio UPDATE ΠΡΟΪΟΝΤΑ SET Κατηγορία = 3

47 Παραδείγματα τροποποίησης πίνακα 47 Για να αυξηθεί κατά 50 το απόθεμα όλων των προϊόντων, δίνεται η εντολή: ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Τιμή Αγοράς Κωδικός Περιγραφή Τιμή Αγοράς Απόθεμα Κατηγορία Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio UPDATE ΠΡΟΪΟΝΤΑ SET Απόθεμα = Απόθεμα +50

48 Παραδείγματα τροποποίησης πίνακα 48 Αύξηση της τιμής αγοράς όλων των προϊόντων κατά 2% επιτυγχάνεται με την εντολή: ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Τιμή Αγοράς Κωδικός Περιγραφή Τιμή Αγοράς Απόθεμα Κατηγορία Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio UPDATE ΠΡΟΪΟΝΤΑ SET ΤιμήΑγοράς = 1.02 * ΤιμήΑγοράς

49 Παραδείγματα τροποποίησης πίνακα 49 Για να αυξηθεί κατά 4% η τιμή αγοράς των προϊόντων της κατηγορίας 2 δίνεται η εντολή: ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Τιμή Αγοράς Κωδικός Περιγραφή Τιμή Αγοράς Απόθεμα Κατηγορία Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio UPDATE ΠΡΟΪΟΝΤΑ SET ΤιμήΑγοράς =1.04* ΤιμήΑγοράς WHERE Κατηγορία = 2

50 Παραδείγματα τροποποίησης πίνακα 50 Για να αυξηθεί κατά 30 το απόθεμα του προϊόντος με κωδικό 1003 και κατά 4% η τιμή αγοράς του (Εικόνα 6.10.ε) δίνεται η εντολή: ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Τιμή Αγοράς Κωδικός Περιγραφή Τιμή Αγοράς Απόθεμα Κατηγορία Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio UPDATE ΠΡΟΪΟΝΤΑ SET Απόθεμα = Απόθεμα + 30, ΤιμήΑγοράς = 1.04 * ΤιμήΑγοράς WHERE Κωδικός = 1003

51 Αναζήτηση δεδομένων με SQL 51 Η αναζήτηση των δεδομένων που έχουν αποθηκευτεί σε μία βάση δεδομένων και η ταυτόχρονη εμφάνισή τους σε μορφή πίνακα γίνεται με χρήση της εντολής SELECT. Η εντολή αυτή έχει μία ιδιαίτερα ισχυρή εκφραστική ικανότητα, αφού συνδυάζει πολλές πράξεις της σχεσιακής άλγεβρας. Η εντολή SELECT έχει το παρακάτω συντακτικό: SELECT [DINSTICT ALL] {* [έκφραση_στήλης] [,...]} FROM όνομα_πίνακα [συνώνυμο] [,...] [WHERE συνθήκη] [GROUP BY στήλες] [ORDER BY στήλες]

52 Εμφάνιση όλων των γραμμών και όλων των στηλών ενός πίνακα 52 Στην πιο απλή της μορφή, η εντολή SELECT χρησιμοποιείται για την εμφάνιση όλων των γραμμών και όλων των στηλών ενός πίνακα και έχει τη μορφή: SELECT * FROM όνομα_πίνακα Ο αστερίσκος (*) μετά τη δεσμευμένη λέξη SELECT αναπαριστάνει όλες τις στήλες ενός πίνακα. Παράδειγμα: SELECT * FROM ΠΡΟΪΟΝΤΑ

53 Εμφάνιση συγκεκριμένων στηλών ενός πίνακα 53 Ορισμένες φορές είναι επιθυμητή η εμφάνιση ορισμένων μόνο στηλών ενός πίνακα και όχι όλων. Στην περίπτωση αυτή, μετά τη δεσμευμένη λέξη SELECT δεν χρησιμοποιείται ο αστερίσκος, αλλά δηλώνονται με το όνομά τους οι στήλες που ζητείται να εμφανιστούν, χωρισμένες με κόμμα (,). Στην περίπτωση αυτή, το συντακτικό της SELECT είναι: SELECT [έκφραση_στήλης][,...] FROM όνομα_πίνακα

54 Για να εμφανιστεί ο κωδικός, η περιγραφή και το απόθεμα όλων των προϊόντων πρέπει να δοθεί η εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT Κωδικός, Περιγραφή, Απόθεμα FROM ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Απόθεμα 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio 84

55 55 Για να εμφανιστεί ο κωδικός όλων των προϊόντων πρέπει να δοθεί η εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT Κωδικός FROM ΠΡΟΪΟΝΤΑ ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Απόθεμα 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio 84

56 Εμφάνιση συγκεκριμένων στηλών και συγκεκριμένων γραμμών ενός πίνακα 56 Η επιλογή και εμφάνιση συγκεκριμένων γραμμών ενός πίνακα γίνεται με χρήση της δεσμευμένης λέξης where, η οποία ακολουθείται από μία συνθήκη: SELECT [έκφραση_στήλης][,...] FROM όνομα_πίνακα WHERE συνθήκη Η μορφή αυτή της SELECT, εμφανίζει όσες στήλες δηλώνονται μετά τη δεσμευμένη λέξη SELECT και όσες γραμμές του πίνακα ικανοποιούν τη συνθήκη.

57 ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio Για να εμφανιστεί ο κωδικός, η περιγραφή και το απόθεμα των προϊόντων που είναι της κατηγορίας 2, χρησιμοποιείται η εντολή: SELECT Κωδικός, Περιγραφή, Απόθεμα FROM ΠΡΟΪΟΝΤΑ WHERE Κατηγορία = 2 ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Απόθεμα 1004 Δισκέτα 3, CD ROM CD Audio 84

58 Για να εμφανιστεί ο κωδικός, η περιγραφή, η τιμή αγοράς και η κατηγορία των προϊόντων που έχουν απόθεμα μικρότερο των 160, χρησιμοποιείται η εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT Κωδικός, Περιγραφή, ΤιμήΑγοράς, Κατηγορία FROM ΠΡΟΪΟΝΤΑ WHERE Απόθεμα < 160 ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Απόθεμα Κατηγορία 1003 Μαρκαδόρος Δισκέτα 3, CD Audio 84 2

59 Για να εμφανιστούν όλες οι στήλες του πίνακα ΠΡΟΪΟΝΤΑ που έχουν κωδικό μεγαλύτερο ή ίσο του 1003 και μικρότερο ή ίσο του 1005, χρησιμοποιείται η εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT * FROM ΠΡΟΪΟΝΤΑ WHERE Κωδικός >=1003 AND Κωδικός <= 1005 ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1003 Μαρκαδόρος Δισκέτα 3, CD ROM

60 Συνθήκη που περιέχει ένα εύρος τιμών 60 Στην περίπτωση που μία συνθήκη εκφράζει ένα εύρος τιμών, η συνθήκη μπορεί να περιγράφει και με χρήση των δεσμευμένων λέξεων BETWEEN... AND. Το προηγούμενο παράδειγμα μπορεί να γραφεί ως: SELECT * FROM ΠΡΟΪΟΝΤΑ WHERE Κωδικός BETWEEN 1003 AND 1005

61 Συνθήκη που περιέχει ένα σύνολο διακεκριμένων τιμών 61 Όταν η συνθήκη περιέχει ένα συγκεκριμένο σύνολο τιμών, τότε η συνθήκη μπορεί να εκφραστεί με τη βοήθεια του λογικού OR. Ωστόσο, είναι πιο βολικό να χρησιμοποιήσουμε τη δυνατότητα ορισμού ενός συνόλου που δίνει η SQL με τη δεσμευμένη λέξη IN. Τα στοιχεία του συνόλου εμφανίζονται μετά τη λέξη IN μέσα σε παρενθέσεις και χωρίζονται μεταξύ τους με ένα κόμμα (,),

62 Παράδειγμα συνθήκης που περιέχει σύνολο διακεκριμένων τιμών Για να εμφανιστούν όλες οι στήλες του πίνακα που αφορούν τους φοιτητές με κωδικούς 123, 125 και 126, μπορούμε να χρησιμοποιήσουμε την εντολή: 62 ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 124 Βελισαρίου Παπαντωνίου Ηρώων 20 Λαμία 125 Γεωργίου Γεωργίου Κήπων 4 Βόλος 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς SELECT * FROM ΦΟΙΤΗΤΕΣ WHERE Κωδικός IN (123, 125, 126) ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 125 Γεωργίου Γεωργίου Κήπων 4 Βόλος 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς

63 Παράδειγμα συνθήκης που περιέχει σύνολο διακεκριμένων τιμών 63 Η ισοδύναμη εντολή με χρήση του λογικού OR είναι: ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 124 Βελισαρίου Παπαντωνίου Ηρώων 20 Λαμία 125 Γεωργίου Γεωργίου Κήπων 4 Βόλος 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς SELECT * FROM ΦΟΙΤΗΤΕΣ WHERE Κωδικός = 123 OR Κωδικός = 125 OR Κωδικός = 126 ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 125 Γεωργίου Γεωργίου Κήπων 4 Βόλος 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς

64 Παράδειγμα συνθήκης που περιέχει σύνολο διακεκριμένων τιμών 64 Για να εμφανιστούν όλες οι στήλες του πίνακα ΦΟΙΤΗΤΕΣ που αφορούν τους φοιτητές οι οποίοι είναι από τις Σέρρες ή το Κιλκίς, χρησιμοποιείται η εντολή: ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 124 Βελισαρίου Παπαντωνίου Ηρώων 20 Λαμία 125 Γεωργίου Γεωργίου Κήπων 4 Βόλος 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς SELECT * FROM ΦΟΙΤΗΤΕΣ WHERE Πόλη IN ('Σέρρες', 'Κιλκίς') ΦΟΙΤΗΤΕΣ Κωδικός Όνομα Επώνυμο Οδός Αριθμός Πόλη 123 Αρίστου Παπαβασιλείου Ανθέων 53 Σέρρες 126 Γεωργία Δημητρίου Ανθέων 123 Κιλκίς

65 Εμφάνιση εγγραφών με συγκεκριμένη σειρά 65 Ορισμένες φορές είναι επιθυμητό τα αποτελέσματα μίας εντολής SELECT να εμφανιστούν με μία συγκεκριμένη σειρά. Η σειρά εμφάνισης καθορίζεται με χρήση των δεσμευμένων λέξεων ORDER BY, οι οποίες ακολουθούνται από τη στήλη σύμφωνα με την οποία θα γίνει η ταξινόμηση και τον τρόπο ταξινόμησης. Η αύξουσα σειρά δηλώνεται με τη δεσμευμένη λέξη ASC, ενώ η φθίνουσα σειρά δηλώνεται με τη δεσμευμένη λέξη DESC.

66 Για να εμφανιστούν όλα τα δεδομένα του πίνακα ΠΡΟΪΟΝΤΑ κατά αύξουσα σειρά αποθεμάτων, χρησιμοποιούμε την εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT * FROM ΠΡΟΪΟΝΤΑ ORDER BY Απόθεμα ASC ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1006 CD Audio Δισκέτα 3, Μαρκαδόρος Στυλό Μολύβι CD ROM

67 Για να εμφανιστούν όλα τα δεδομένα του πίνακα ΠΡΟΪΟΝΤΑ κατά φθίνουσα σειρά τιμής αγοράς, χρησιμοποιούμε την εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT * FROM ΠΡΟΪΟΝΤΑ ORDER BY ΤιμήΑγοράς DESC ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1003 Μαρκαδόρος CD Audio Μολύβι CD ROM Δισκέτα 3, Στυλό

68 Για να εμφανίσουμε τον κωδικό, την περιγραφή και το απόθεμα των προϊόντων που είναι της κατηγορίας 2, κατά φθίνουσα σειρά του αποθέματος, χρησιμοποιούμε την παρακάτω εντολή: ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή ΤιμήΑγοράς Απόθεμα Κατηγορία 1001 Στυλό Μολύβι Μαρκαδόρος Δισκέτα 3, CD ROM CD Audio SELECT Κωδικός, Περιγραφή, Απόθεμα FROM ΠΡΟΪΟΝΤΑ WHERE Κατηγορία = 2 ORDER BY Απόθεμα DESC ΠΡΟΪΟΝΤΑ Κωδικός Περιγραφή Απόθεμα 1005 CD ROM Δισκέτα 3, CD Audio 84

69 Εμφάνιση στήλης με άλλο όνομα 69 Τα αποτελέσματα μίας εντολής SELECT εμφανίζονται πάντοτε σε μορφή πίνακα. Τα ονόματα των στηλών του πίνακα αποτελεσμάτων είναι ίδια με τα ονόματα των στηλών του πίνακα από τον οποίο προέρχονται τα δεδομένα. Μπορούμε να αλλάξουμε τα ονόματα των στηλών του πίνακα αποτελεσμάτων, χρησιμοποιώντας τη δεσμευμένη λέξη AS όπως φαίνεται στην παρακάτω εντολή: SELECT Κωδικός AS ΚωδΠροϊόντος, Απόθεμα AS ΑπόθΠροιόντος FROM ΠΡΟΪΟΝΤΑ

70 Υπολογισμοί απλών παραστάσεων 70 Η SQL επιτρέπει τον υπολογισμό μαθηματικών παραστάσεων που δηλώνονται μετά τη δεσμευμένη λέξη SELECT. Οι απλές μαθηματικές παραστάσεις περιέχουν τις συνηθισμένες αριθμητικές πράξεις και χρησιμοποιούν τα γνωστά αριθμητικά σύμβολα: + για την πρόσθεση - για την αφαίρεση * για τον πολλαπλασιασμό / για την διαίρεση

71 Παραδείγματα υπολογισμού απλής αριθμητικής παράστασης 71 Ας υποθέσουμε ότι θέλουμε να εμφανίσουμε για το προϊόν που έχει κωδικό 1003, την τωρινή τιμή αγοράς του καθώς και την τιμή αγοράς του αυξημένης κατά 5%. Για την εμφάνιση αυτών των δεδομένων χρησιμοποιείται η εντολή: SELECT ΤιμήΑγοράς, ΤιμήΑγοράς * 1.05 AS ΝέαΤιμή FROM ΠΡΟΪΟΝΤΑ WHERE Κωδικός = 1003

72 Παραδείγματα υπολογισμού απλής αριθμητικής παράστασης 72 Για τον υπολογισμό του συνολικού ποσού που διατέθηκε για την αγορά του αποθέματος του προϊόντος με κωδικό 1001 χρησιμοποιείται η παρακάτω εντολή SQL: SELECT Κωδικός, ΤιμήΑγοράς * Απόθεμα AS ΣυνολικόΚόστος FROM ΠΡΟΪΟΝΤΑ WHERE Κωδικός = 1001

73 Παράδειγμα αριθμητικού υπολογισμού για πολλές εγγραφές ταυτόχρονα 73 Η SQL παρέχει τη δυνατότητα αριθμητικών υπολογισμών για πολλές εγγραφές ταυτόχρονα. Έτσι, ο υπολογισμός του συνολικού ποσού που διατέθηκε για την αγορά των αποθεμάτων για καθένα από τα προϊόντα που ανήκουν στην κατηγορία 2 γίνεται με την παρακάτω εντολή SQL: SELECT Κωδικός, ΤιμήΑγοράς * Απόθεμα AS ΣυνολικόΚόστος FROM ΠΡΟΪΟΝΤΑ WHERE Κατηγορία = 2

74 Υπολογισμοί με συγκεντρωτικές συναρτήσεις 74 Περισσότερο σύνθετες αριθμητικές παραστάσεις μπορούν να δημιουργηθούν με χρήση ορισμένων ειδικών συναρτήσεων που παρέχει η SQL και οι οποίες είναι γνωστές με τον όρο συγκεντρωτικές συναρτήσεις (aggregate functions). Οι συγκεντρωτικές συναρτήσεις είναι οι εξής: COUNT: απαριθμεί το πλήθος των εγγραφών SUM: υπολογίζει το άθροισμα μίας στήλης ή μίας αριθμητικής παράστασης ΜΙΝ: υπολογίζει το ελάχιστο μίας αριθμητικής στήλης MAX: υπολογίζει το μέγιστο μίας αριθμητικής στήλης AVG: υπολογίζει τη μέση τιμή μίας αριθμητικής στήλης

75 ΣΥΝΤΗΡΗΣΗ Παραδείγματα χρήσης συγκεντρωτικών συναρτήσεων 75 Ο παρακάτω πίνακας δείχνει τα χρήματα που ξοδεύτηκαν για συντήρηση των αυτοκινήτων για όλη την προηγούμενη χρονιά ΑριθμόςΚυκλοφορίας ΕτήσιοΚόστος ΕΡΗ ΥΑΑ ΕΡΗ ΚΖΑ ΡΗΖ SELECT AVG(ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ AVG(ΕτήσιοΚόστος) 2562 Ο μέσος όρος το κόστους της συντήρησης SELECT ΜΙΝ (ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ SELECT SUM(ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ MIN(ΕτήσιοΚόστος) 900 SUM(ΕτήσιοΚόστος) Το ελάχιστο κόστους της συντήρησης Το συνολικό κόστος συντήρησης SELECT COUNT (ΑριθμόςΚυκλοφορίας) FROM ΣΥΝΤΗΡΗΣΗ WHERE ΕτήσιοΚόστος > 3000 COUNT(ΑριθμόςΚυκλοφορίας) 2 Το πλήθος των αυτοκινήτων με κόστος συντήρησης πάνω από 3000

76 Υπολογισμοί σε ομάδες 76 εγγραφών Πολλές φορές είναι απαραίτητο να θεωρήσουμε έναν πίνακα ως αποτελούμενο από ομάδες εγγραφών (γραμμών).

77 Παράδειγμα ομαδοποίησης 77 ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Ο πίνακας ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ δείχνει τις πωλήσεις σε κάθε προϊόν που έκανε ο καθένας από τους πωλητές μίας εταιρείας στη διάρκεια του προηγούμενου μήνα. Θεωρούμε ότι ο πίνακας αυτός αποτελείται από δύο ομάδες εγγραφών: η α ομάδα περιλαμβάνει τις πωλήσεις του πωλητή με κωδικό 1 (ομάδα Α), ενώ η β άλλη ομάδα περιλαμβάνει τις πωλήσεις του πωλητή με κωδικό 2 (ομάδα Β). Στην περίπτωση αυτή ο χωρισμός σε ομάδες γίνεται ανάλογα με την τιμή που έχει η στήλη ΚωδικόςΠωλητή.

78 Ομαδοποίηση με το Group by 78 ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Κωδικός Πωλητή Επίδοση SELECT ΚωδικόςΠωλητή, SUM (Πωλήσεις) AS Επίδοση FROM ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ GROUP BY ΚωδικόςΠωλητή Στην SQL είναι δυνατό οι συγκεντρωτικές συναρτήσεις να υπολογιστούν για κάθε ομάδα χωριστά. Αυτό γίνεται με χρήση των δεσμευμένων λέξεων GROUP BY με τη βοήθεια των οποίων δηλώνονται οι διάφορες ομάδες του πίνακα. Έτσι, το σύνολο των πωλήσεων για κάθε πωλητή χωριστά υπολογίζεται από την παραπάνω εντολή

79 Παράδειγμα ομαδοποίησης 79 ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ Κωδικός Πωλητή Οι εγγραφές ενός πίνακα μπορούν να ομαδοποιηθούν με διάφορους τρόπους, ανάλογα με τον υπολογισμό που απαιτείται. Έτσι, πίνακας ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ μπορεί να θεωρηθεί ότι αποτελείται από τρεις ομάδες εγγραφών: η α ομάδα αφορά τις πωλήσεις του προϊόντος 1001 (ομάδα 1), Κωδικός Προϊόντος Πωλήσεις η β ομάδα αφορά τις πωλήσεις του προϊόντος 1002 (ομάδα 2) και η γ ομάδα αφορά τις πωλήσεις του προϊόντος 1003 (ομάδα 3).

80 Παράδειγμα ομαδοποίησης 80 ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Κωδικός Προϊόντος ΠωλήσειςΠΡ SELECT ΚωδικόςΠροΐόντος, SUM (Πωλήσεις) AS ΠωλήσειςΠΡ FROM ΕΠΙΔΟΣΕΙΣΠΩΛΗΤΩΝ GROUP BY ΚωδικόςΠροιόντος Τώρα, η ομαδοποίηση γίνεται ανάλογα με την τιμή που έχει η στήλη ΚωδικόςΠροΐόντος. Αυτή η ομαδοποίηση είναι απαραίτητη όταν θέλουμε να υπολογίσουμε το σύνολο των πωλήσεων για κάθε προϊόν. Η εντολή SQL που δίνει τον υπολογισμό αυτόν φαίνεται παραπάνω

81 ΤΕΛΟΣ ΕΝΟΤΗΤΑΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία 3 Σχεσιακές

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ. Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Επίκουρος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00

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

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

ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία 3 Σχεσιακές

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

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3: Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

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

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

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

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

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

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 3ο Μάθημα: Εισαγωγή στην SQL Δρ. Κωνσταντίνος Χ. Γιωτόπουλος SQL Background SQL Structured Query Language Standard query γλώσσα για

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι 8. Ερωτήματα (B) Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

Βάσεις Δεδομένων Ι 8. Ερωτήματα (B) Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας Βάσεις Δεδομένων Ι 8 Ερωτήματα (B) Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Λογικά κριτήρια σε κείμενο Ίσο = " _" Διάφορο " _ " ή

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη 1 3 η ενότητα: Εισαγωγή στις Βάσεις Δεδομένων και στην MySQL

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

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

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

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

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

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Εισαγωγή στη χρήση της γλώσσας SQL και στον προγραμματισμό εφαρμογών βάσεων δεδομένων Θα χρησιμοποιήσουμε το Σχεσιακό Σύστημα (προϊόν)

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

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

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

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

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

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

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

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

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

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

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων ΗΓλώσσαSQL Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων Εισαγωγή Η δομημένη γλώσσα ερωτημάτων SQL (Structured Query Language) χρησιμοποιείται για τους χρήστες του ΣΔΒΔ

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

SQL Data Manipulation Language

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

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

DELETE, UPDATE, INSERT.

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

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

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

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΔΕΣΠΟΙΝΑ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ dpap@unipi.gr 2 ΤΙ ΕΙΝΑΙ Η SQL? (1/2) Η SQL (Structured Query Language) αποτελεί μια πρότυπη

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

DELETE, UPDATE, INSERT

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

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

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

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

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

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

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

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

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

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 6: Γλώσσα Structured Query Language -SQL Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

Τμήμα Πληροφορικής ΑΠΘ 2013-2014

Τμήμα Πληροφορικής ΑΠΘ 2013-2014 Βάσεις Δεδομένων Εργαστήριο V Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 5 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων τροποποίησης δομής / δεδομένων η μελέτη σύνθετων ερωτημάτων

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

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

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

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

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

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

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

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 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

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

Οι εντολές 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 Περιεχόμενα

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Επιμέλεια: Καρβούνης Ευάγγελος, PhD, Επιστημονικός Συνεργάτης του Τμήματος Αντωνιάδης Νικόλαος, Καθηγητής Οκτώβριος

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

Βάσεις Περιβαλλοντικών Δεδομένων

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ Σύβακας Σταύρος ΠΕ19,MSc. IT Εισαγωγή Τα ερωτήματα (queries) είναι μία από τις πιο σημαντικές δυνατότητες που προφέρει ένα Σ%Β% αφού επιτρέπουν: Ανάκτηση και ανάλυση των δεδομένων στην επιθυμητή μορφή

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

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Θέλουµε να φτιάξουµε µια βάση στην οποία θα καταχωρούνται οι φοιτητές του τµήµατος Μαθηµατικών,

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Χειμερινό Εξ. 2013-14 Επιμέλεια: Καρβούνης Ευάγγελος Οκτώβριος 2013 Περιεχόμενα 1 Σχεδιασμός Βάσης...

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα - ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastnamevarchar(25)

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

Οι εντολές 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 Δημιουργία πινάκων με την

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

ΣΠΟΥΔΑΣΤΕΣ ΑριθμόςΜητρώου Ονομα Επίθετο Ηλικία

ΣΠΟΥΔΑΣΤΕΣ ΑριθμόςΜητρώου Ονομα Επίθετο Ηλικία 241 242 243 ΣΠΟΥΔΑΣΤΕΣ ΑριθμόςΜητρώου Ονομα Επίθετο Ηλικία 244 ΣΠΟΥΔΑΣΤΕΣ ΑριθμόςΜητρώου Ονομα Επίθετο Ηλικία 1500 Γεώργιος Πετρίδης 20 ΣΠΟΥΔΑΣΤΕΣ ΑριθμόςΜητρώου Ονομα Επίθετο Ηλικία 1500 Γεώργιος Πετρίδης

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση του DBDesigner Γιώργος Πυρουνάκης - forky@di.uoa.gr Δομή Διαλέξεων Εισαγωγή στο DBDesigner Εφαρμογή στη ΒΔ Προμηθευτής-Προϊόντα Παραδείγματα μοντελοποίησης και

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

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 10η: SQL Μέρος 3ο Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών SQL Data Manipulation Language Τελεστής union συνδυάζει subselects

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

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

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

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

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και

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

Εργαστήριο 10o. Συγκεντρωτικά Ερωτήματα Ερωτήματα Διασταύρωσης Ερωτήματα Ενεργειών. Ευάγγελος Γ. Καραπιδάκης

Εργαστήριο 10o. Συγκεντρωτικά Ερωτήματα Ερωτήματα Διασταύρωσης Ερωτήματα Ενεργειών. Ευάγγελος Γ. Καραπιδάκης Εργαστήριο 10o Συγκεντρωτικά Ερωτήματα Ερωτήματα Διασταύρωσης Ερωτήματα Ενεργειών Συγκεντρωτικά ερωτήματα Με τα συγκεντρωτικά ερωτήματα μπορούμε να ομαδοποιήσουμε τα δεδομένα μας και να υπολογίσουμε για

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

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

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

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

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016 Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος Τμήμα Πληροφορικής ΑΠΘ 2015-2016 2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής

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

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

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

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

Πατώντας το πλήκτρο Enter ή το κουμπί Enter από την γραμμή τύπων εκτελείται η μαθηματική πράξη και παρουσιάζει το αποτέλεσμα του κελιού.

Πατώντας το πλήκτρο Enter ή το κουμπί Enter από την γραμμή τύπων εκτελείται η μαθηματική πράξη και παρουσιάζει το αποτέλεσμα του κελιού. ΜΑΘΗΜΑ 4 ΣΤΟΧΟΙ: 1. Δημιουργία Μαθηματικών Τύπων 2. Τελεστές (Operators) 3. Τιμές (Value) 4. Τιμές Σφάλματος 5. Συναρτήσεις 6. Συνάρτηση Sum 7. Συνάρτηση Max 8. Συνάρτηση Min 9. Συνάρτηση Average 10. Συνάρτηση

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα -ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25)

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 3 ο (26/11/2008) Εισαγωγή στην Mysql SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες.

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL 3.1 Εντολή επιλογής δεδομένων Η εντολή επιλογής δεδομένων select έχει την γενική μορφή SELECT FROM [WHERE ] [GROUP BY ]

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

Κεφάλαιο 9 Συναθροίσεις

Κεφάλαιο 9 Συναθροίσεις Κεφάλαιο 9 Συναθροίσεις Σύνοψη Στο παρόν κεφάλαιο θα παρουσιαστούν ερωτήματα συνάθροισης χρησιμοποιώντας τις βασικές συναρτήσεις MAX, MIN, AVG, SUM και COUNT. Θα παρουσιαστεί η χρήση της ομαδοποίησης εγγραφών

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές. Σχολή Διοίκησης και Οικονομίας (ΣΔΟ) Τμήμα Λογιστικής και Χρηματοοικονομικής Διδάσκων: Δρ. Γκόγκος Χρήστος Μάθημα: Πληροφορική ΙI (εργαστήριο) Ακαδημαϊκό έτος 2013-2014 εαρινό εξάμηνο ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΑΡΙΘΜΟΣ

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

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

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

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