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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ. Πρόκειται για μία μη-διαδικαστική γλώσσα τέταρτης γενιάς, στην οποία ο χρήστης διατυπώνει διάφορα αιτήματα και το ΣΔΒΔ αναλαμβάνει να τα ικανοποιήσει. Η SQL δίνει τη δυνατότητα στο χρήστη να δημιουργήσει, να τροποποιήσει και να ενημερώσει τους πίνακες της βάσης, καθώς και να αναζητήσει πληροφορίες από τη βάση εφαρμόζοντας σύνθετα κριτήρια αναζήτησης. Η γνώση της SQL είναι απαραίτητη ακόμη κι αν χρησιμοποιούμε ένα ΣΔΒΔ με γραφικό περιβάλλον (όπως η Access), καθώς πολλά συστήματα ΒΔ της μορφής πελάτηεξυπηρετητή (client-server) έχουν SQL server. Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. DDL (Data Definition Language): Γλώσσα ορισμού δεδομένων Αποτελείται από τις εντολές με τις οποίες καθορίζουμε τη λογική οργάνωση των δεδομένων της βάσης, δηλ. δημιουργούμε τους πίνακες και τις μεταξύ τους σχέσεις. DΜL (Data Manipulation Language): Γλώσσα χειρισμού δεδομένων Αποτελείται από τις εντολές με τις οποίες ενημερώνουμε τα δεδομένα της βάσης και δημιουργούμε ερωτήματα για ανάκληση πληροφοριών από τη βάση. Πρότυπα της SQL Τα περισσότερα σχεσιακά ΣΔΒΔ (συμπεριλαμβανομένης και της Microsoft Access 2000) χρησιμοποιούν το πρότυπο ANSI / ISO SQL-92, υπάρχει όμως και το νέο πρότυπο ANSI / ISO SQL-99 που χρησιμοποιείται κυρίως από αντικειμενοστρεφή ΣΔΒΔ. 5.2 Access και SQL Για να πληκτρολογήσουμε μία εντολή SQL μέσα από το περιβάλλον της Access 2000, δημιουργούμε ένα νέο ερώτημα για τη ΒΔ που μας ενδιαφέρει (βλ. ενότητα 8.2) και αφού μεταβούμε στην Προβολή σχεδίασης, στη συνέχεια επιλέγουμε την Προβολή SQL από το μενού ή το εικονίδιο της Προβολής. 1

2 Αφού πληκτρολογήσουμε την εντολή μας μπορούμε να την εκτελέσουμε κανονικά, όπως και ένα ερώτημα σε γραφικό περιβάλλον, από το εικονίδιο της Εκτέλεσης ή μέσω του μενού Ερώτημα. Επίσης, αν δημιουργήσουμε ένα ερώτημα χρησιμοποιώντας το γραφικό περιβάλλον της Access, μπορούμε επιλέγοντας την Προβολή SQL, να δούμε τον κώδικα SQL που δημιουργεί η Access για να εκτελέσει το ερώτημά μας. Οι τύποι δεδομένων της SQL που υποστηρίζει η Access 2000 είναι οι ακόλουθοι: CHAR(n) Αλφαριθμητικό με n χαρακτήρες (n = 0 έως 255) TEXT Κείμενο μέχρι 2.14GB BYTE Ακέραιος από 0 έως 255 SMALLINT Ακέραιος μέχρι 0(10 5 ) INTEGER Ακέραιος μέχρι 0(10 9 ) REAL Πραγματικός μέχρι 0(10 38 ) FLOAT Πραγματικός διπλής ακρίβειας μέχρι 0( ) DECIMAL(n, m) Δεκαδικός συνολικά με n ψηφία, m από αυτά, δεκαδικά MONEY Μεγάλος δεκαδικός 0(10 15 ) με 4 δεκαδικά ψηφία COUNTER Αυτόματη αρίθμηση DATETIME Ημερομηνία ή ώρα BIT Yes ή No IMAGE Αρχείο οποιασδήποτε μορφής μέχρι 2.14GB Στη συνέχεια παρουσιάζουμε μόνο τις εντολές SQL που μπορούν να εκτελεστούν μέσα από το περιβάλλον της Access Σε όλες τις ενότητες που ακολουθούν, οι δεσμευμένες λέξεις της SQL γράφονται με κεφαλαία γράμματα, ενώ τα ονόματα των πεδίων, των πινάκων κλπ γράφονται με πεζά, χωρίς όμως αυτός ο κανόνας να είναι υποχρεωτικός κατά τη σύνταξη εντολών SQL. Προσοχή: Οι αγκύλες δηλώνουν τα προαιρετικά τμήματα των εντολών και δεν αποτελούν μέρος των εντολών. 5.3 Εντολές για τη διαχείριση της δομής της ΒΔ Με τις εντολές που ακολουθούν διαχειριζόμαστε τη δομή της ΒΔ, δηλαδή δημιουργούμε, τροποποιούμε και διαγράφουμε τους πίνακες, τα πεδία και τις μεταξύ τους συσχετίσεις. Είναι προτιμότερο, τέτοιου είδους εντολές να χρησιμοποιούνται μόνο κατά τον αρχικό σχεδιασμό, όταν η βάση είναι κενή δεδομένων. Αν είναι απαραίτητο να γίνουν αλλαγές στη δομή κατά τη διάρκεια της λειτουργίας της βάσης, αυτές πρέπει να γίνουν με ιδιαίτερη προσοχή. α) Δημιουργία πίνακα Για να δημιουργήσουμε τη δομή ενός καινούργιου πίνακα, χρησιμοποιούμε την εντολή: CREATE TABLE Πίνακας 1 (Πεδίο 1 Τύπος 1, Πεδίο 2 Τύπος 2,..., Πεδίο Ν Τύπος Ν, 2

3 [CONSTRAINT Περιορισμός 1 PRIMARY KEY (Πεδίο i, Πεδίο j, )], [CONSTRAINT Περιορισμός 2 NOT NULL (Πεδίο i, Πεδίο j, )], [CONSTRAINT Περιορισμός 3 UNIQUE (Πεδίο i, Πεδίο j, )], [CONSTRAINT Περιορισμός 4 FOREIGN KEY (Πεδίο i ) REFERENCES Πίνακας 2 (Πεδίο k )] ); Στις παραμέτρους Πίνακας, Πεδίο, Περιορισμός δίνουμε κάποιο όνομα. Τα ονόματα μπορούν να αποτελούνται και από ελληνικούς χαρακτήρες, καλύτερα κεφαλαίους για να αποφεύγονται οι τόνοι. Δεν πρέπει να περιέχουν κενά. Στην παράμετρο Τύπος δηλώνουμε έναν τύπο από αυτούς που περιγράψαμε στην ενότητα 5.2. Οι περιορισμοί (CONSTRAINTS) είναι προαιρετικοί. Ο περιορισμός PRIMARY KEY δηλώνει το πρωτεύον κλειδί, ο NOT NULL δηλώνει τα πεδία που δεν επιτρέπεται να μένουν κενά, ενώ ο UNIQUE δηλώνει τα πεδία που δεν επιτρέπεται να έχουν δύο ίδιες τιμές. Ο περιορισμός FOREIGN KEY δηλώνει ότι το Πεδίο i είναι ξένο κλειδί και συγκεκριμένα είναι το πρωτεύον κλειδί Πεδίο k του πίνακα Πίνακας 2, όπως δηλώνει η δεσμευμένη λέξη REFERENCES. Με τον τρόπο αυτό καθορίζουμε τη συσχέτιση που υπάρχει ανάμεσα στους πίνακες Πίνακας 1 και Πίνακας 2. Παράδειγμα Έστω ότι θέλουμε να δημιουργήσουμε μία ΒΔ για τα μουσικά CD της προσωπικής μας συλλογής και τα τραγούδια που περιέχει το καθένα. Υποθέτουμε ότι ένα τραγούδι χαρακτηρίζεται μοναδικά από το συνδυασμό του τίτλου του, των ερμηνευτών του και του CD στο οποίο ανήκει (καθώς μπορεί το ίδιο τραγούδι να εμφανίζεται σε περισσότερα από ένα CD). Μ' αυτή την υπόθεση, χρειάζονται μόνο δύο πίνακες για να υλοποιήσουμε τη ΒΔ: CD ΚΩΔΙΚΟΣ ΤΙΤΛΟΣ ΕΤΑΙΡΕΙΑ ΕΤΟΣ Πρωτεύον κλειδί ΤΡΑΓΟΥΔΙΑ ΤΙΤΛΟΣ ΕΡΜΗΝΕΥΤEΣ ΚΩΔΙΚΟΣ_CD Π ρ ω τ ε ύ ο ν κ λ ε ι δ ί Για τη δημιουργία των παραπάνω πινάκων, θα χρησιμοποιήσουμε τις εντολές SQL: 3

4 CREATE TABLE CD ( ΚΩΔΙΚΟΣ CHAR(10), ΤΙΤΛΟΣ CHAR(50), ΕΤΑΙΡΕΙΑ CHAR(50), ΕΤΟΣ INTEGER, CONSTRAINT ΚΛΕΙΔΙ PRIMARY KEY (ΚΩΔΙΚΟΣ) ); CREATE TABLE ΤΡΑΓΟΥΔΙΑ ( ΤΙΤΛΟΣ CHAR(50), ΕΡΜΗΝΕΥΤEΣ CHAR(60), ΚΩΔΙΚΟΣ_CD CHAR(10), CONSTRAINT ΣΥΝΘΕΤΟ_ΚΛΕΙΔΙ PRIMARY KEY (ΤΙΤΛΟΣ, ΕΡΜΗΝΕΥΤEΣ, ΚΩΔΙΚΟΣ_CD), CONSTRAINT ΞΕΝΟ_ΚΛΕΙΔΙ FOREIGN KEY (ΚΩΔΙΚΟΣ_CD) REFERENCES CD (ΚΩΔΙΚΟΣ) ); β) Τροποποίηση της δομής πίνακα Με τις παρακάτω εντολές η SQL μας δίνει τη δυνατότητα προσθήκης ενός πεδίου στα δεξιά του πίνακα, αφαίρεσης κάποιου πεδίου, αλλαγής του τύπου του πεδίου, προσθήκης ή αφαίρεσης περιορισμού αντίστοιχα. ALTER TABLE Πίνακας 1 ADD COLUMN Πεδίο 1 Τύπος 1 ; ALTER TABLE Πίνακας 1 DROP COLUMN Πεδίο 1 ; ALTER TABLE Πίνακας 1 ALTER COLUMN Πεδίο 1 Τύπος 2 ; ALTER TABLE Πίνακας 1 ADD CONSTRAINT Περιορισμός 1. (όπως και η εντολή δημιουργίας περιορισμού) ALTER TABLE Πίνακας 1 DROP CONSTRAINT Περιορισμός 1 ; Παράδειγμα Έστω ότι θέλουμε να προσθέσουμε στον πίνακα ΤΡΑΓΟΥΔΙΑ μία στήλη που περιγράφει τη χρονική διάρκεια του κάθε τραγουδιού σε λεπτά: ALTER TABLE ΤΡΑΓΟΥΔΙΑ ADD COLUMN ΔΙΑΡΚΕΙΑ INTEGER; Παρατήρηση: Όταν πρόκειται για αφαίρεση ή τροποποίηση κάποιου στοιχείου της δομής του πίνακα χρειάζεται ιδιαίτερη προσοχή, γιατί συνήθως χάνονται κάποια δεδομένα. Καλό είναι τέτοιου είδους αλλαγές να γίνονται μόνο όταν ο πίνακας είναι κενός δεδομένων. γ) Διαγραφή πίνακα Η εντολή αυτή θέλει επίσης ιδιαίτερη προσοχή γιατί διαγράφει ολόκληρο τον πίνακα με τα δεδομένα του. DROP TABLE Πίνακας 1 ; 4

5 5.4 Εντολές για τη διαχείριση των δεδομένων της ΒΔ Με τις επόμενες εντολές διαχειριζόμαστε τα δεδομένα της βάσης, εφόσον έχει ήδη καθοριστεί η δομή της. α) Εισαγωγή δεδομένων INSERT INTO Πίνακας 1 ( Πεδίο i, Πεδίο j,... ) VALUES ( Τιμή i, Τιμή j,... ); Μία εντολή INSERT μπορεί να προσθέσει μία μόνο γραμμή στο τέλος του πίνακα. Η INSERT μας επιτρέπει να βάλουμε επιλεκτικά τιμές μόνο σε ορισμένα από τα πεδία. της τελευταίας γραμμής. Τα υπόλοιπα μπορούν να μείνουν κενά. Για πεδία χαρακτήρων οι τιμές δίνονται μέσα σε απλά εισαγωγικά (π.χ. 'Κώστας') ενώ για πεδία ημερομηνίας δίνονται μέσα σε # (π.χ. #25/3/2000#). Παράδειγμα INSERT INTO CD (ΚΩΔΙΚΟΣ, ΤΙΤΛΟΣ) VALUES (' ', 'Harvest'); Παρατήρηση: Η εντολή INSERT σπάνια χρησιμοποιείται στην πράξη, καθώς δεν επιτρέπει τη μαζική εισαγωγή δεδομένων. Η εισαγωγή δεδομένων γίνεται πολύ πιο εύκολα από ένα γραφικό περιβάλλον (π.χ. της Access) και μέσω των φορμών εισαγωγής δεδομένων (βλ. ενότητες 10.2, 10.3). β) Τροποποίηση δεδομένων UPDATE Πίνακας 1 SET Πεδίο i =Τιμή i, Πεδίο j =Τιμή j,... WHERE Συνθήκη; Ως Τιμή μπορεί να μπει και μία αριθμητική παράσταση (π.χ. Πεδίο i = Πεδίο k +100) Η Συνθήκη μπορεί να περιέχει τελεστές σύγκρισης (>, <, =, κλπ) και λογικούς τελεστές (ΝΟΤ, AND, OR). Επίσης μπορεί να περιέχει τους τελεστές IS, IN, BETWEEN AND και LIKE (βλ. ενότητα 5.5). Μ' αυτό τον τρόπο μπορούμε να μεταβάλλουμε επιλεκτικά τα δεδομένα ενός πίνακα. Παράδειγμα UPDATE CD SET ΕΤΑΙΡΕΙΑ='Pendragon', ΕΤΟΣ=1999 WHERE ΤΙΤΛΟΣ='Harvest'; γ) Διαγραφή γραμμών DELETE FROM Πίνακας 1 [WHERE Συνθήκη]; 5

6 Αν δεν υπάρχει η επιλογή WHERE διαγράφονται όλες οι γραμμές του πίνακα. Δεν μπορούμε να διαγράφουμε επιλεκτικά τιμές από ορισμένα πεδία του πίνακα Παράδειγμα DELETE FROM CD WHERE ΤΙΤΛΟΣ IS NULL; 5.5 Ερωτήματα επιλογής δεδομένων Με την εντολή SELECT που ακολουθεί, δε μεταβάλλουμε τα δεδομένα της βάσης, αλλά επιλέγουμε να εμφανίσουμε κάποια από αυτά με βάση κάποια κριτήρια. Κατά την επιλογή μπορούν να γίνουν πράξεις πάνω στα δεδομένα, ή να γίνει ομαδοποίηση των δεδομένων και να εξαχθούν κάποια συγκεντρωτικά στοιχεία. Όπως θα διαπιστώσουμε στη συνέχεια από τα παραδείγματα αυτής και της επόμενης ενότητας, η SELECT μπορεί να είναι πολύ χρήσιμη για τη λήψη αποφάσεων με χρήση των δεδομένων της βάσης. Η γενική της σύνταξη είναι η ακόλουθη: SELECT [DISTINCT] [TOP n] * ή Πίνακας 1.Πεδίο i [AS Όνομα i ], Πίνακας 1.Πεδίο j [AS Όνομα j ],, Πίνακας 2.Πεδίο k [AS Όνομα k ],, ή Παράσταση i με κάποια πεδία [AS Όνομα i ] FROM Πίνακας 1, Πίνακας 2, [WHERE Συνθήκη 1 ] [GROUP BY Πίνακας 1.Πεδίο j, Πίνακας 2.Πεδίο k, ] [HAVING Συνθήκη 2 ] [ORDER BY Πίνακας 1.Πεδίο i [DESC], Πίνακας 2.Πεδίο k [DESC], ]; α) Κύριο τμήμα της SELECT Είναι το απαραίτητο κομμάτι της SELECT που περιλαμβάνει τις δεσμευμένες λέξεις SELECT και FROM. Η επιλογή DISTINCT δηλώνει ότι δε θέλουμε στο αποτέλεσμα της SELECT να εμφανιστούν δύο ίδιες γραμμές. Η επιλογή TOP n δηλώνει ότι θέλουμε το αποτέλεσμα της SELECT να περιέχει μόνο τις πρώτες n γραμμές που προκύπτουν από την αναζήτηση που κάναμε (συνήθως συνδυάζεται με κάποιου είδους ταξινόμηση, δηλ. με την εντολή ORDER BY - βλ. παράδ. 4). Το αποτέλεσμα της SELECT θα έχει τόσες στήλες όσα και τα πεδία, εκφράσεις κλπ που δηλώνουμε στο κύριο τμήμα της SELECT. Ο χαρακτήρας * αντί των διαφόρων πεδίων, δηλώνει ότι στο αποτέλεσμα της SELECT θα εμφανιστούν όλα τα πεδία των πινάκων που δηλώνουμε στη FROM. 6

7 Με τη δεσμευμένη λέξη FROM δηλώνουμε τους πίνακες που θα χρησιμοποιηθούν για τη λήψη των δεδομένων. Όταν δηλώνουμε περισσότερους από έναν πίνακες, είναι απαραίτητο, μπροστά από τα ονόματα των πεδίων που χρησιμοποιούμε σε οποιοδήποτε τμήμα της SELECT, να γράφουμε και το όνομα του πίνακα στον οποίο ανήκει το κάθε πεδίο, ακολουθούμενο από τελεία π.χ. Πίνακας 1.Πεδίο j, Πίνακας 2.Πεδίο k (βλ. παράδ. 6, 7). Αν όμως χρησιμοποιούμε στοιχεία από ένα μόνο πίνακα, μπορούμε να αναφερόμαστε στα πεδία του μόνο με το όνομά τους. Η επιλογή AS Όνομα i χρησιμοποιείται μόνο αν θέλουμε στο αποτέλεσμα της SELECT, το συγκεκριμένο πεδίο ή παράσταση να εμφανιστεί με άλλο όνομα από αυτό που έχει στον πίνακα. Το Όνομα i ονομάζεται ψευδώνυμο (alias) του πεδίου ή της παράστασης. Η AS είναι πολύ χρήσιμη όταν πρόκειται για μία παράσταση πεδίων, γιατί σ' αυτήν την περίπτωση το όνομα που δίνει η SQL στη στήλη που προκύπτει είναι συνήθως δυσνόητο. Με την επιλογή AS μπορούμε να δώσουμε στην παράσταση ό,τι όνομα επιθυμούμε (βλ. παραδείγματα 8-12). Μία παράσταση πεδίων μπορεί να περιέχει, εκτός από αριθμητικές πράξεις (αν τα πεδία είναι αριθμητικά), συναρτήσεις που αφορούν μία ή περισσότερες τιμές ενός πεδίου. Παραδείγματα τέτοιων συναρτήσεων είναι οι ABS και YEAR, που εφαρμόζονται σε κάθε μία από τις τιμές ενός αριθμητικού πεδίου ή πεδίου ημερομηνίας/ώρας αντίστοιχα, ενώ υπάρχουν και οι συναρτήσεις ομαδοποίησης δεδομένων, για τις οποίες θα μιλήσουμε παρακάτω. Παραδείγματα Έστω η βάση για τα μουσικά CD που δημιουργήσαμε και τροποποιήσαμε στην ενότητα 5.3. CD ΚΩΔΙΚΟΣ ΤΙΤΛΟΣ ΕΤΑΙΡΕΙΑ ΕΤΟΣ Πρωτεύον κλειδί ΤΡΑΓΟΥΔΙΑ ΤΙΤΛΟΣ ΕΡΜΗΝΕΥΤΕΣ ΚΩΔΙΚΟΣ_CD ΔΙΑΡΚΕΙΑ Π ρ ω τ ε ύ ο ν κ λ ε ι δ ί 1) Στο ερώτημα: "Ποιες εταιρείες είναι καταχωρημένες στη βάση;" η απάντηση δίνεται εκτελώντας την εντολή: SELECT DISTINCT ΕΤΑΙΡΕΙΑ FROM CD; 2) Να εμφανιστούν τα στοιχεία των τραγουδιών της βάσης: SELECT * FROM ΤΡΑΓΟΥΔΙΑ; 7

8 β) Ταξινόμηση Μπορούμε να ταξινομήσουμε τα αποτελέσματα μιας SELECT ως προς ένα ή περισσότερα πεδία, χρησιμοποιώντας τη δεσμευμένη λέξη ORDER BY. Η ORDER BY ταξινομεί τα αποτελέσματα της αναζήτησης σε αύξουσα σειρά, με βάση τη σειρά των πεδίων που δηλώνονται σ' αυτήν. Π.χ. η ORDER BY ΕΠΩΝΥΜΟ, ΟΝΟΜΑ ταξινομεί πρώτα κατά αύξουσα σειρά επωνύμου, και μόνο αν βρεθούν δύο ή περισσότερες γραμμές με το ίδιο ΕΠΩΝΥΜΟ, αυτές ταξινομούνται σε αύξουσα σειρά ονόματος. Αν θέλουμε φθίνουσα σειρά στην ταξινόμηση με βάση ένα πεδίο, τότε δεξιά του ονόματός του προσθέτουμε τη δεσμευμένη λέξη DESC (είναι το αντίστοιχο του ASC (αύξουσα σειρά), που συνήθως παραλείπεται). Παραδείγματα 3) Να εμφανιστούν οι τίτλοι των CD, η εταιρεία και η χρονολογία, ταξινομημένα από το πιο πρόσφατο CD ως το πιο παλιό και με αλφαβητική σειρά πρώτα εταιρείας και κατόπιν τίτλου. SELECT ΤΙΤΛΟΣ, ΕΤΑΙΡΕΙΑ, ΕΤΟΣ FROM CD ORDER BY ΕΤΟΣ DESC, ΕΤΑΙΡΕΙΑ, ΤΙΤΛΟΣ; 4) Να βρεθεί το τραγούδι με τη μικρότερη διάρκεια SELECT TOP 1 ΤΙΤΛΟΣ, ΔΙΑΡΚΕΙΑ FROM ΤΡΑΓΟΥΔΙΑ ORDER BY ΔΙΑΡΚΕΙΑ; γ) Συνθήκες επιλογής γραμμών Ενώ στο κύριο τμήμα της SELECT επιλέγουμε τις στήλες των πινάκων που μας ενδιαφέρουν, χρησιμοποιώντας την επιλογή WHERE ή HAVING επιλέγουμε ορισμένες μόνο γραμμές από τις παραπάνω στήλες. Οι γραμμές αυτές θα πρέπει να πληρούν τα κριτήρια (Συνθήκες) που θέτουμε στη WHERE ή τη HAVING. Η HAVING χρησιμοποιείται μόνο σε συνδυασμό με συναρτήσεις ομαδοποίησης και την επιλογή GROUP BY, γι' αυτό θα αναφερθούμε σ' αυτήν παρακάτω. Η Συνθήκη 1 της WHERE είναι λογική συνθήκη που μπορεί να περιέχει οποιαδήποτε από τα πεδία των πινάκων που εμφανίζονται στη FROM, τελεστές πράξεων (+,-,*,/), τελεστές σύγκρισης (>, <, =, κλπ) αλλά και λογικούς τελεστές (ΝΟΤ, AND, OR). Όταν η σύγκριση γίνεται με την κενή τιμή (NULL), δε χρησιμοποιείται ο τελεστής ''=" αλλά ο τελεστής IS. Μία συνθήκη μπορεί επίσης να περιέχει τους τελεστές IN, BETWEEN AND και LIKE, που χρησιμοποιούνται ως εξής: Πεδίο i IN (Τιμή 1,Τιμή 2,,Τιμή Ν ) Πεδίο i BETWEEN Τιμή 1 AND Τιμή 2 Πεδίο i LIKE Αλφαριθμητικό 8

9 όπου το Αλφαριθμητικό περιέχει τους χαρακτήρες "wildcards" (μπαλαντέρ) * ή?. Ο χαρακτήρας * αντικαθιστά οποιοδήποτε αριθμό χαρακτήρων (ή και 0 χαρακτήρες), ενώ ο χαρακτήρας? αντικαθιστά ακριβώς 1 χαρακτήρα. π.χ. ΕΠΩΝΥΜΟ LIKE 'Ι*' σημαίνει επώνυμο που αρχίζει από Ι, ενώ ΕΠΩΝΥΜΟ LIKE '*ΟΠΟΥΛΟ*' σημαίνει επώνυμο που περιέχει τους χαρακτήρες 'ΟΠΟΥΛΟ'. Τέλος, ΚΩΔΙΚΟΣ LIKE '???' σημαίνει ότι ο κωδικός αποτελείται από ακριβώς τρεις χαρακτήρες. Αν δεν υπάρχει η WHERE τότε εμφανίζονται όλες οι τιμές των στηλών που έχουμε δηλώσει στο κύριο τμήμα της SELECT. Χρειάζεται όμως προσοχή στην περίπτωση που στη FROM έχουμε δηλώσει περισσότερους του ενός πίνακες: συνήθως οι πίνακες αυτοί έχουν κάποιο κοινό πεδίο που δηλώνει τη μεταξύ τους συσχέτιση. Η ταύτιση των δύο πεδίων πρέπει να δηλωθεί στη WHERE, αλλιώς το αποτέλεσμα θα είναι το καρτεσιανό γινόμενο των αντίστοιχων τμημάτων των δύο πινάκων! (βλ. παράδ. 6). Παραδείγματα 5) Να εμφανιστούν τα τραγούδια που έχουν διάρκεια μεταξύ 3' και 4' SELECT ΤΙΤΛΟΣ, ΔΙΑΡΚΕΙΑ FROM ΤΡΑΓΟΥΔΙΑ WHERE ΔΙΑΡΚΕΙΑ BETWEEN 3 AND 4 ORDER BY ΔΙΑΡΚΕΙΑ; 6) Να εμφανιστούν οι τίτλοι όλων των CD στα οποία υπάρχουν τραγούδια του ερμηνευτή "Sting" SELECT CD.ΤΙΤΛΟΣ, ΤΡΑΓΟΥΔΙΑ.ΕΡΜΗΝΕΥΤΕΣ FROM CD, ΤΡΑΓΟΥΔΙΑ WHERE CD. ΚΩΔΙΚΟΣ=ΤΡΑΓΟΥΔΙΑ.ΚΩΔΙΚΟΣ_CD AND ΤΡΑΓΟΥΔΙΑ.ΕΡΜΗΝΕΥΤΕΣ LIKE '* Sting *'; (με την επιλογή LIKE '* Sting *' εντοπίζουμε και όλα τα τραγούδια που ερμηνεύει ο "Sting" μαζί με άλλους ερμηνευτές). Παρατήρηση: Αν στην παραπάνω συνθήκη της WHERE είχε παραλειφθεί η συνθήκη CD.ΚΩΔΙΚΟΣ=ΤΡΑΓΟΥΔΙΑ.ΚΩΔΙΚΟΣ_CD η οποία δηλώνει τη συσχέτιση των πινάκων CD και ΤΡΑΓΟΥΔΙΑ, θα παίρναμε ως αποτέλεσμα το καρτεσιανό γινόμενο (δηλαδή όλους τους δυνατούς συνδυασμούς) των τιμών του πεδίου CD.ΤΙΤΛΟΣ επί εκείνες τις τιμές του πεδίου ΤΡΑΓΟΥΔΙΑ.ΕΡΜΗΝΕΥΤΕΣ, που περιέχουν τη συμβολοσειρά 'Sting'. Έτσι θα εμφανίζονταν όλοι οι τίτλοι των CD που υπάρχουν στη βάση, και όχι μόνο αυτοί που σχετίζονται με το συγκεκριμένο ερμηνευτή. 1) Να εμφανιστούν τα τραγούδια που περιέχει το CD με τίτλο "Harvest" SELECT ΤΡΑΓΟΥΔΙΑ.ΤΙΤΛΟΣ FROM CD, ΤΡΑΓΟΥΔΙΑ WHERE CD.ΚΩΔΙΚΟΣ=ΤΡΑΓΟΥΔΙΑ.ΚΩΔΙΚΟΣ_CD AND CD.ΤΙΤΛΟΣ='Harvest'; 9

10 δ) Ομαδοποίηση γραμμών Συχνά είναι απαραίτητο να εξάγουμε κάποια συγκεντρωτικά στοιχεία από τους πίνακες της βάσης μας, όπως αθροίσματα, μέσους όρους, μέγιστες ή ελάχιστες τιμές, πλήθος δεδομένων κλπ. Για το σκοπό αυτό η SQL διαθέτει τις συναρτήσεις ομαδοποίησης SUM, AVG, MIN, MAX και COUNT. Οι συναρτήσεις αυτές δεν εφαρμόζονται μεμονωμένα σε μία τιμή, αλλά σε ομάδες τιμών ενός πεδίου του πίνακα. Για κάθε ομάδα τιμών, η συνάρτηση ομαδοποίησης επιστρέφει μία μόνο τιμή (το άθροισμα των τιμών της ομάδας, το μέσο όρο των τιμών, την ελάχιστη τιμή, τη μέγιστη τιμή, ή το πλήθος των τιμών της ομάδας αντίστοιχα). Από τις παραπάνω συναρτήσεις διαφοροποιείται λίγο η συνάρτηση COUNT, καθώς δεν αναφέρεται σε συγκεκριμένο πεδίο αλλά στην ουσία μετράει το πλήθος των γραμμών της κάθε ομάδας. Γι' αυτό συνήθως χρησιμοποιείται χωρίς να περιέχει για όρισμα ένα συγκεκριμένο πεδίο, αλλά ως COUNT(*). Ο καθορισμός των ομάδων των γραμμών πάνω στις οποίες θα εφαρμοστεί μία συνάρτηση ομαδοποίησης γίνεται με την επιλογή GROUP BY. Αν δεν υπάρχει η GROUP BY, τότε ολόκληρη η στήλη στην οποία εφαρμόζεται η συνάρτηση ομαδοποίησης λαμβάνεται σα μία ομάδα. Έτσι π.χ. στη βάση με τα μουσικά CD, αν ζητάμε το άθροισμα της χρονικής διάρκειας όλων των τραγουδιών που υπάρχουν στη βάση, αρκεί να χρησιμοποιήσουμε τη συνάρτηση SUM στο πεδίο ΔΙΑΡΚΕΙΑ του πίνακα ΤΡΑΓΟΥΔΙΑ. Αν όμως θέλουμε το άθροισμα της διάρκειας των τραγουδιών κάθε CD χωριστά, θα πρέπει να χωρίσουμε τις γραμμές του πίνακα ΤΡΑΓΟΥΔΙΑ σε ομάδες ανάλογα με τον κωδικό του CD στον οποίο ανήκει το κάθε τραγούδι και να εφαρμόσουμε τη συνάρτηση SUM σε κάθε μία από αυτές τις ομάδες. Αυτό επιτυγχάνεται βάζοντας το πεδίο ΚΩΔΙΚΟΣ_CD μέσα στη GROUP BY (βλ. παράδ. 8-9). Μπορούμε να δηλώσουμε περισσότερα από ένα πεδία μέσα στη GROUP BY. Αυτό σημαίνει ότι μία ομάδα γραμμών, αποτελείται από εκείνες τις γραμμές του πίνακα που έχουν τον ίδιο συνδυασμό τιμών σε όλα τα πεδία που δηλώνονται στη GROUP BY. Έτσι, όσο πιο πολλά πεδία δηλώνουμε στη GROUP BY, τόσο περισσότερες (και μικρότερες) ομάδες δημιουργούμε. Αν χρησιμοποιήσουμε τη GROUP BY χωρίς να έχουμε συνάρτηση ομαδοποίησης, τότε απλά ταξινομούμε σε αύξουσα σειρά τον πίνακα, με βάση τα πεδία που είναι δηλωμένα στη GROUP BY (δηλ. η GROUP BY αντικαθιστά την ORDER BY). Η εντολή HAVING χρησιμοποιείται μόνο εφόσον έχει προηγηθεί η GROUP BY και επιλέγει κάποιες από τις ομάδες γραμμών που έχουν δημιουργηθεί με τη GROUP BY, ανάλογα με τη Συνθήκη 2. Στη Συνθήκη 2 περιέχονται συναρτήσεις ομαδοποίησης. Ο λόγος που η Συνθήκη 2 δεν μπορεί να ενσωματωθεί σε μία WHERE, είναι γιατί η WHERE εκτελείται πριν από τη GROUP BY. Έτσι δεν είναι γνωστό στη WHERE αν υπάρχουν ομάδες γραμμών και ποιες είναι. Για παράδειγμα, αν θέλαμε να εμφανίσουμε μόνο τα CD που έχουν διάρκεια μεγαλύτερη από 1 ώρα, τη συνθήκη αυτή θα έπρεπε να τη δηλώσουμε στη HAVING και όχι στη WHERE, καθώς περιέχει τη συνάρτηση SUM (βλ. παραδ ). 10

11 Παραδείγματα 8) Να βρεθεί ο μέσος όρος διάρκειας όλων των τραγουδιών της βάσης SELECT INT(AVG (ΔΙΑΡΚΕΙΑ)) AS ΜΕΣΗ_ΔΙΑΡΚΕΙΑ FROM ΤΡΑΓΟΥΔΙΑ; (H συνάρτηση INT επιστρέφει το ακέραιο μέρος του αριθμού) 9) Να βρεθεί ο μέσος όρος διάρκειας των τραγουδιών κάθε CD SELECT ΚΩΔΙΚΟΣ_CD, INT(AVG (ΔΙΑΡΚΕΙΑ)) AS ΜΕΣΗ_ΔΙΑΡΚΕΙΑ_ΤΡΑΓΟΥΔΙΩΝ FROM ΤΡΑΓΟΥΔΙΑ GROUP BY ΚΩΔΙΚΟΣ_CD; 10) Να βρεθεί το CD με το μεγαλύτερο αριθμό τραγουδιών SELECT TOP 1 ΚΩΔΙΚΟΣ_CD, COUNT(ΚΩΔΙΚΟΣ_CD) AS ΑΡΙΘΜΟΣ_ΤΡΑΓΟΥΔΙΩΝ FROM ΤΡΑΓΟΥΔΙΑ GROUP BY ΚΩΔΙΚΟΣ_CD ORDER BY COUNT(ΚΩΔΙΚΟΣ_CD) DESC; 11) Να βρεθούν τα CD με διάρκεια μεγαλύτερη από 50' SELECT ΚΩΔΙΚΟΣ_CD, SUM(ΔΙΑΡΚΕΙΑ) AS ΔΙΑΡΚΕΙΑ_CD FROM ΤΡΑΓΟΥΔΙΑ GROUP BY ΚΩΔΙΚΟΣ_CD HAVING SUM(ΔΙΑΡΚΕΙΑ)>50; 12) Να βρεθούν οι ερμηνευτές που είναι καταχωρημένοι σε περισσότερα από δύο τραγούδια της βάσης SELECT ΕΡΜΗΝΕΥΤΕΣ, COUNT(*) AS ΑΡΙΘΜΟΣ_ΤΡΑΓΟΥΔΙΩΝ FROM ΤΡΑΓΟΥΔΙΑ GROUP BY ΕΡΜΗΝΕΥΤΕΣ HAVING COUNT(*)>2; ε) Σειρά εκτέλεσης των ενεργειών επιλογής Συνολικά η σειρά με την οποία γίνονται ενέργειες επιλογής στα δεδομένα με βάση τα διάφορα τμήματα της εντολής SELECT είναι η ακόλουθη: FROM (επιλέγουμε τους σχετικούς πίνακες) WHERE (επιλέγουμε ορισμένες γραμμές) GROUP BY (ομαδοποιούμε αυτές τις γραμμές) HAVING (επιλέγουμε κάποιες από τις παραπάνω ομάδες γραμμών) SELECT (επιλέγουμε μόνο τις στήλες που μας ενδιαφέρουν) ORDER BY (ταξινομούμε τις παραπάνω στήλες) DISTINCT (αφαιρούμε τα διπλότυπα) TOP n (από τις γραμμές που προκύπτουν, κρατάμε τις πρώτες n) 11

12 5.6 Σύνθετα ερωτήματα επιλογής Συχνά οι ανάγκες ενός ερωτήματος είναι τέτοιες ώστε χρειάζεται να χρησιμοποιηθούν περισσότερες από μία εντολές SELECT, φωλιασμένες η μία μέσα στην άλλη. Η δεύτερη SELECT ενσωματώνεται μέσα στη συνθήκη του τμήματος WHERE (ή HAVING) της πρώτης SELECT. Η δεύτερη SELECT μπαίνει σε παρένθεση και ακολουθεί έναν από τους τελεστές >, <, =,, IN. Π.χ: SELECT Πεδίο 1, Πεδίο 2, FROM Πίνακας 1 WHERE Πεδίο i IN (SELECT Πεδίο j FROM Πίνακας 2 WHERE Συνθήκη) Απαραίτητη προϋπόθεση είναι τα πεδία Πεδίο i και Πεδίο j να είναι του ίδιου τύπου. Σημειώνουμε ότι οι τελεστές σύγκρισης (<, >, = κλπ) μπορούν να χρησιμοποιηθούν μόνο αν η δεύτερη SELECT επιστρέφει μία μοναδική τιμή (π.χ. αν είναι SELECT MAX(Πεδίο j ) FROM ή SELECT TOP 1 Πεδίο j FROM ). Συνήθως όμως, περιμένουμε να πάρουμε από τη δεύτερη SELECT ένα πλήθος τιμών. Σ' αυτές τις περιπτώσεις χρησιμοποιούνται οι τελεστές σύγκρισης σε συνδυασμό με τους τελεστές ALL και SOME (ή ANY). Π.χ: SELECT Πεδίο 1, Πεδίο 2, FROM Πίνακας 1 WHERE Πεδίο i > ALL (SELECT Πεδίο j FROM Πίνακας 2 WHERE Συνθήκη) δηλαδή το Πεδίο i είναι μεγαλύτερο από όλα τα αποτελέσματα της δεύτερης SELECT. Αν αντί για ALL γράφαμε SOME (ή ANY), τότε για να αληθεύει η συνθήκη της πρώτης WHERE, θα έπρεπε το Πεδίο i να είναι μεγαλύτερο από τουλάχιστον ένα από τα αποτελέσματα της δεύτερης SELECT. Παραδείγματα 1) Να βρεθούν τα τραγούδια που έχουν διάρκεια μεγαλύτερη από το μέσο όρο διάρκειας όλων των τραγουδιών της βάσης SELECT ΤΙΤΛΟΣ, ΔΙΑΡΚΕΙΑ FROM ΤΡΑΓΟΥΔΙΑ WHERE ΔΙΑΡΚΕΙΑ > (SELECT AVG(ΔΙΑΡΚΕΙΑ) FROM ΤΡΑΓΟΥΔΙΑ); 2) Ποιοι ερμηνευτές εμφανίζονται στα CD της εταιρείας "Pendragon"; SELECT DISTINCT ΕΡΜΗΝΕΥΤEΣ FROM ΤΡΑΓΟΥΔΙΑ WHERE ΚΩΔΙΚΟΣ_CD IN (SELECT ΚΩΔΙΚΟΣ FROM CD WHERE ETAΙΡΕΙΑ='Pendragon'); 3) Υπάρχουν στη βάση CD που δεν έχουν κανένα τραγούδι καταχωρημένο; SELECT ΚΩΔΙΚΟΣ FROM CD WHERE ΚΩΔΙΚΟΣ<> ALL (SELECT ΚΩΔΙΚΟΣ_CD FROM ΤΡΑΓΟΥΔΙΑ); 12

13 Τέλος, αναφέρουμε ότι δύο SELECT μπορούν να χρησιμοποιηθούν ταυτόχρονα και χωρίς να είναι φωλιασμένες, αλλά με την πράξη της ένωσης, υπό την προϋπόθεση ότι τα αντίστοιχα πεδία των δύο SELECT είναι του ίδιου τύπου: (SELECT Πεδίο i, Πεδίο j, FROM Πίνακας 1 WHERE Συνθήκη 1 ) UNION [ALL] (SELECT Πεδίο i, Πεδίο j, FROM Πίνακας 2 WHERE Συνθήκη 2 ) Τα αποτελέσματα της δεύτερης SELECT μπαίνουν μετά από αυτά της πρώτης SELECT, γι' αυτό πρέπει τα αντίστοιχα πεδία των δύο SELECT να είναι συμβατά. Η επιλογή ALL δηλώνει ότι συμπεριλαμβάνονται και διπλότυπες γραμμές που μπορεί να προκύψουν από τις δύο SELECT. Χωρίς την ALL, τα διπλότυπα αφαιρούνται. Παράδειγμα Από τους πίνακες ΠΕΛΑΤΕΣ_Α και ΠΕΛΑΤΕΣ_Β της ενότητας 3.4, αν θέλουμε να εμφανίσουμε όλους τους πελάτες της Θεσσαλονίκης, χωρίς διπλότυπα: (SELECT ΕΠΩΝΥΜΟ, ΟΝΟΜΑ FROM ΠΕΛΑΤΕΣ_Α WHERE ΠΟΛΗ='Θεσ/κη') UNION (SELECT ΕΠΩΝΥΜΟ, ΟΝΟΜΑ FROM ΠΕΛΑΤΕΣ_Β WHERE ΠΟΛΗ='Θεσ/κη') Παρατήρηση: Αν Πίνακας 1 =Πίνακας 2, τότε η ένωση των δύο SELECT μπορεί να αντικατασταθεί από μία SELECT ως εξής: SELECT Πεδίο i, Πεδίο j, FROM Πίνακας 1 WHERE (Συνθήκη 1 OR Συνθήκη 2 ); 5.7 Ασκήσεις Για τη βάση με τα μουσικά CD που περιγράφεται στην ενότητα 5.5 να δημιουργήσετε ερωτήματα SQL που να εκφράζουν τα παρακάτω: 1) Να εμφανιστούν μόνο οι τίτλοι των CD και τα αντίστοιχα τραγούδια που έχουν στον τίτλο τους (είτε των CD είτε των τραγουδιών) τη λέξη 'Blues' 2) Να βρεθούν οι τίτλοι όλων των CD στα οποία εμφανίζεται το συγκρότημα 'Dire Straits' (να γίνει με φωλιασμένες SELECT) Έστω οι δύο πίνακες πελατών ΠΕΛΑΤΕΣ_Α και ΠΕΛΑΤΕΣ_Β που περιγράφονται στην ενότητα ) Να υλοποιηθεί το παράδειγμα για τη διαφορά σχέσεων (δηλαδή να βρεθούν οι πελάτες οι αποκλειστικοί της εταιρείας Α) με φωλιασμένες SELECT. 4) Να υλοποιηθεί το παράδειγμα για την τομή σχέσεων (δηλαδή να βρεθούν οι κοινοί πελάτες των δύο εταιρειών) με φωλιασμένες SELECT. 13

14 5) Με χρήση της εντολής SELECT, να υλοποιηθεί το παράδειγμα της ενότητας 3.4 για το γινόμενο σχέσεων. 6) Με χρήση της εντολής SELECT, να υλοποιηθεί το παράδειγμα της ενότητας 3.4 για την προβολή σχέσεων. 7) Με χρήση της εντολής SELECT, να υλοποιηθεί το παράδειγμα της ενότητας 3.4 για την επιλογή από σχέση. 8) Με χρήση της εντολής SELECT, να υλοποιηθεί το παράδειγμα της ενότητας 3.4 για τη συνένωση σχέσεων. Έστω η βάση ΚΑΘΗΓΗΤΗΣ-ΜΑΘΗΜΑ-ΔΙΔΑΣΚΕΙ που περιγράφεται στην ενότητα ) Να γραφούν οι εντολές SQL για τη δημιουργία των τριών πινάκων. 10) Να γραφούν οι εντολές SQL για τη δημιουργία των τριών πινάκων και των μεταξύ τους συσχετίσεων. 11) Με την κατάλληλη εντολή SQL να προστεθεί στον πίνακα ΜΑΘΗΜΑ το πεδίο ΔΙΔΑΚΤΙΚΕΣ_ΜΟΝΑΔΕΣ Να δημιουργηθούν τα παρακάτω ερωτήματα σε γλώσσα SQL: 12) Να εμφανιστούν όλοι οι διαφορετικοί Τομείς στους οποίους ανήκουν οι καθηγητές 13) Ποιοι καθηγητές δίδασκαν στο Τμήμα Μαθηματικών κατά το έτος ; 14) Να βρεθεί το πλήθος όλων των μαθημάτων του Τμήματος. 15) Να βρεθεί το πλήθος όλων των μαθημάτων του κάθε Τομέα. 16) Να εμφανιστούν οι Τομείς που έχουν πλήθος μαθημάτων >

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL Data Manipulation Language

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

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

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 Εισαγωγή, γενικές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 1η

Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 1η ε ένα.δ.β.δ. ο χειρισμός των δεδομένων της βάσης γίνεται με τη χρήση της Δομημένης Γλώσσας Ερωτήσεων (SQL). Ο Βασικός σκοπός της SQL είναι η υποβολή ερωτήσεων (Queries) στα στοιχεία της βάσης δεδομένων.

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

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

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

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

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

Βάσεις Δεδομένων Η γλώσσα 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) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

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

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

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

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

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

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (3) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 12Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 7.1: Structured Query Language - 1 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 7.1: Structured Query Language - 1 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 7.1: Structured Query Language - 1 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

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

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

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

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

1 / 97

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

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 03 SQL Μέρος 1 ο Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Γιατί SQL; Η SQL είναι γλώσσα πολύ υψηλού επιπέδου Επιτρέπει να λέμε εύκολα τι θέλουμε να κάνουμε

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

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL 1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL Τύποι στην MySQL Κείμενο Αριθμοί Ημερομηνίες και ώρες Επιλογή του τύπου Στήλες ονομάτων τύπος κειμένου Στήλες ποσών ή ποσοτήτων Αριθμητικός τύπος Στήλες ημερομηνιών τύπος ημερομηνίας

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

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

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

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

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

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

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

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

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

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

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

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

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

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

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

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

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

DELETE, UPDATE, INSERT.

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας Structured Query Language (SQL) Δρ. Καρβούνης Ευάγγελος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα

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

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

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

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

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

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

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

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 Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ Βάςεισ Δεδομζνων Ι Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql Δρ. Σςιμπίρθσ Αλκιβιάδθσ Άδειεσ Χρήςησ Σο παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ,

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

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

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

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

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

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

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

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

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

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

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

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

SQL: Συναρτήσεις Συνάθροισης

SQL: Συναρτήσεις Συνάθροισης SQL: Συναρτήσεις Συνάθροισης Συναρτήσεις Συνάθροισης (Aggregate Functions) Εφαρμόζονται πάνω σε σύνολα τιμών γνωρισμάτων. count, max, min, avg, sum Περιορισμοί: η συνάρτηση count μπορεί να εφαρμοστεί σε

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

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

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ (Κατασκευή ΒΔ με τη ΓΛΩΣΣΑ MySQL) ΕΙΣΑΓΩΓΗ Βάση δεδομένων-βδ (Data Base-DB) είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα

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

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

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

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

Κεφάλαιο 3. Ερωτήματα SQL

Κεφάλαιο 3. Ερωτήματα SQL Κεφάλαιο 3. Ερωτήματα SQL Σύνοψη Σ αυτό το κεφάλαιο θα παρουσιάσουμε βασικά και σύνθετα ερωτήματα της SQL. Τα ερωτήματα θα υποβληθούν στην βάση δεδομένων DVDclub που δημιουργήθηκε στο προηγούμενο κεφάλαιο.

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

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

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

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

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

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

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

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

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

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