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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL Data Manipulation Language

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

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

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


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

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

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

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

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

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

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

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

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

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

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

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

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

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

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

Η Γλώσσα Βάσεων εδοµένων SQL

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

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

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

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

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

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

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

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

Εισαγωγή στην PostgreSQL Spatial 8.1

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

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

Αναλυτικές λειτουργίες ΣΓΠ

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

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

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

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

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

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

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

1 / 97

Ανάκτηση Δεδομένων (Information Retrieval)

Επεξεργασία Ερωτήσεων

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

1 / 87

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1


Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

Επεξεργασία Ερωτήσεων

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β :

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

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

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

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

Επεξεργασία Ερωτήσεων

Το εσωτερικό ενός Σ Β

Transcript:

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

Η γλώσσα SQL Εντολές γλώσσας ορισμού δεδομένων (DDL) CREATE TABLE (δημιουργία πίνακα) CREATE INDEX (δημιουργία ευρετηρίου) CREATE VIEW (δημιουργία όψης) DROP TABLE (διαγραφή πίνακα) DROP INDEX (διαγραφή ευρετηρίου) DROP VIEW (διαγραφή όψης) MODIFY (τροποποίηση της δομής των αντικειμένων της βάσης, δηλ, πινάκων, ευρετηρίων, όψεων) Η γλώσσα SQL Εντολές γλώσσας ορισμού δεδομένων (DDL) αράδειγμα δημιουργίας πίνακα: CREATE TABLE πίνακας (όνομα_στήλης τύπος_στήλης, ); π.χ.: CREATE TABLE ΔΙΚΑΙΩΜΑΤΑ (ΚΑΕΚ VARCHAR(16), ΔΙΚΑΙΟΧΟΣ VARCHAR(8), ΟΣΟΣΤΟ INTEGER, ΗΜΕΡΟΜΗΝΙΑ DATE); αράδειγμα δημιουργίας ευρετηρίου: CREATE INDEX ευρετήριο ON πίνακας (όνομα_στήλης); π.χ.: CREATE INDEX ΕΡ_ΔΙΚΑΙΟΧΩΝ ΟΝ ΔΙΚΑΙΟΧΟΙ (ΕΩΝΜΟ);

SQL Γλώσσα ορισμού δεδομένων: αραδείγματα λοποίηση του σχήματος ΒΔ του παραδείγματος TEACHERS TEACHERID TFNAME TLNAME EIDIKOTHTA SCHOOL NOMOS UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION PROVIDED_BY COURSE YEAR CREATE TABLE TEACHERS(TEACHERID INT, TFNAME TEXT(50), TLNAME TEXT(50), EIDIKOTHTA TEXT(0), SCHOOL TEXT(10), NOMOS TEXT(50)); CREATE TABLE UNIVERSITIES(UCODE TEXT(10), UNAME TEXT(50), USTUDENTS INT, USTAFF INT, LOCATION TEXT(50)); CREATE TABLE ( INT, TEXT(50), INT, TEXT(1)) CREATE TABLE PROVIDED_BY(COURSE INT, TEXT(10), YEAR TEXT(10)) Η γλώσσα SQL Εντολές γλώσσας χειρισμού δεδομένων (DΜL) SELECT (ανάκτηση δεδομένων από πίνακα) INSERT (εισαγωγή πλειάδων σε πίνακα) DELETE (διαγραφή πλειάδων από πίνακα) UPDATE (ενημέρωση στήλης πίνακα) COMMIT WORK (ολοκλήρωση διεργασίας) ROLLBACK WORK (κατάργηση διεργασίας, φέρει τη ΒΔ στην κατάσταση του τελευταίου COMMIT)

Η γλώσσα SQL Εντολές γλώσσας χειρισμού δεδομένων (DΜL) παράδειγμα ανάκτησης δεδομένων από πίνακες SELECT στήλη FROM πίνακας WHERE συνθήκη ; π.χ.: SELECT * FROM ΔΙΚΑΙΟΧΟΙ ; SELECT KAEK, ΕΜΒΑΔΟΝ FROM ΓΕΩΤΕΜΑΧΙΑ WHERE ΕΜΒΑΔΟΝ >.000 ; SELECT ΔΙΚΑΙΟΧΟΙ.ΕΩΝΜΟ, ΔΙΚΑΙΟΧΟΙ.ΟΝΟΜΑ FROM ΔΙΚΑΙΟΧΟΙ, ΔΙΚΑΙΩΜΑΤΑ WHERE ΔΙΚΑΙΩΜΑΤΑ.ΗΜΕΡΟΜΗΝΙΑ > 1/1/197 AND ΔΙΚΑΙΟΧΟΣ.ΚΩΔΙΚΟΣ = ΔΙΚΑΙΩΜΑΤΑ.ΔΙΚΑΙΟΧΟΣ ; Η γλώσσα SQL Εντολές γλώσσας χειρισμού δεδομένων (DΜL) Εισαγωγή γραμμών σε πίνακα INSERT INTO πίνακας [ (στήλη, ) ] VALUES (τιμή, ) ;.χ.: INSERT INTO ΔΙΚΑΙΟΧΟΙ VALUES ('56', 'ΑΟΣΤΟΛΟ', 'ΙΩΑΝΝΗΣ', 'ΑΛΣΟΣ, 78 ΔΑΦΝΗ') ; Διαγραφή γραμμών από πίνακα DELETE FROM πίνακας WHERE συνθήκη ; π.χ.: DELETE FROM ΔΙΚΑΙΟΧΟΙ WHERE ΚΩΔΙΚΟΣ = 56 ; Ενημέρωση στήλης πίνακα UPDATE πίνακας SET στήλη = τιμή WHERE συνθήκη ;.χ.: UPDATE ΓΕΩΤΕΜΑΧΙΑ SET ΕΜΒΑΔΟΝ =.580 WHERE ΚΑΕΚ = 01.00.0.0.00 ;

SELECT - βασική μορφή εντολής select A1, A,..., An from r1, r,..., rm where P Τα Ai αναπαριστούν κατηγορήματα/πεδία Τα ri αναπαριστούν σχέσεις/πίνακες Η P είναι μια συνθήκη Ισοδύναμη έκφραση σχεσιακής άλγεβρας: A1, A,..., An ( σ P (r1 1 x r x... x rm) ) Τελεστές που συνδυάζονται με τη SELECT * όλα τα πεδία της σχέσης που αναφέρεται στο FROM DISTINCT παραλείπει τις διπλές εγγραφές ΡΟΣΟΧΗ! Η SQL δεν απαλείφει αυτόματα τις διπλοεγγραφές SELECT - βασική μορφή εντολής select A1, A,..., An from r1, r,..., rm where P Η πρόταση FROM Αντιστοιχεί στην πράξη καρτεσιανού γινομένου της σχεσιακής άλγεβρας Η πρόταση WHERE Αντιστοιχεί στην πράξη επιλογής της σχεσιακής άλγεβρας Τελεστές συνθήκης >, <, <>, >=, <=, = AND, NOT, OR LIKE IS [NOT] NULL ισότητας λογικοί σύγκρισης συμβολοσειρών αναζήτησης [μη] κενών τιμών 5

SELECT - βασική μορφή : αραδείγματα Εστω η ΒΔ TEACHERS TEACHERID TFNAME FLNAME EIDIKOTHTA SCHOOL NOMOS 1 ΑΝΔΡΕΑΣ ΑΝΔΡΕΟ ΦΣΙΚΟΣ ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟ ΒΟΙΩΤΙΑ ΒΑΣΙΛΕΙΟΣ ΒΑΣΙΛΕΙΟ Η ΘΕΣΣΑΛΟΝΙΚΗ ΕΤΡΟ ΕΤΡΟΣ ΚΑΤΕΡΙΝΗ 5 ΔΗΜΗΤΡΙΟ ΔΗΜΗΤΡΙΟΣ Η 6 ΕΛΕΘΕΡΙΟ ΕΛΕΘΕΡΙΟΣ ΤΟΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 9 ΑΝΑΓΙΩΤΟ ΑΝΑΓΙΩΤΗΣ Η ΘΡΑΚΗ UNIVERSITIES PROVIDED_BY UCODE UNAME USTUDENTS USTAFF LOCATION COURSE YEAR ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 8900 50 ΘΕΣΣΑΛΟΝΙΚΗ 1980-1981 ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ 5000 89 ΘΡΑΚΗ 1981-198 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 10000 1000 198-198 ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ 000 100 0-1 1-1985-1986 9-0 - ΜΑΘΗΜΑΤΙΚΑ 1-9-0 ΒΔ 0-1 01 ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η 1- SELECT - βασική μορφή : αραδείγματα SELECT * from TEACHERS; TEACHERID TFNAME FLNAME EIDIKOTHTA SCHOOL NOMOS 1 5 ΑΝΔΡΕΑΣ ΓΕΩΡΓΙΟΣ ΒΑΣΙΛΕΙΟΣ ΕΤΡΟ ΔΗΜΗΤΡΙΟ ΑΝΔΡΕΟ ΓΕΩΡΓΙΟ ΒΑΣΙΛΕΙΟ ΕΤΡΟΣ ΔΗΜΗΤΡΙΟΣ ΦΣΙΚΟΣ Η Η ΒΟΙΩΤΙΑ ΘΕΣΣΑΛΟΝΙΚΗ ΚΑΤΕΡΙΝΗ ΔΩΣΕ ΜΟ ΟΛΑ ΤΑ ΣΤΟΙΧΕΙΑ ΤΩΝ ΚΑΘΗΓΗΤΩΝ 6 ΕΛΕΘΕΡΙΟ ΕΛΕΘΕΡΙΟΣ ΤΟΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 9 ΑΝΑΓΙΩΤΟ ΑΝΑΓΙΩΤΗΣ Η ΘΡΑΚΗ SELECT TFNAME, TLNAME, SCHOOL FROM TEACHERS; TFNAME TLNAME SCHOOL ΑΝΔΡΕΑΣ ΑΝΔΡΕΟ ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟ ΒΑΣΙΛΕΙΟΣ ΕΤΡΟ ΔΗΜΗΤΡΙΟ ΕΛΕΘΕΡΙΟ ΑΝΑΓΙΩΤΟ ΒΑΣΙΛΕΙΟ ΕΤΡΟΣ ΔΗΜΗΤΡΙΟΣ ΕΛΕΘΕΡΙΟΣ ΑΝΑΓΙΩΤΗΣ ΔΩΣΕ ΜΟ ΤΟ ΟΝΟΜΑ, ΤΟ ΕΩΝΜΟ ΚΑΙ ΤΟ ΑΝΕΙΣΤΗΜΙΟ ΓΙΑ ΟΛΟΣ ΤΟΣ ΚΑΘΗΓΗΤΕΣ 6

SELECT - βασική μορφή : αραδείγματα SELECT DISTINCT EIDIKOTHTA FROM TEACHERS; EIDIKOTHTA Η ΤΟΟΓΡΑΦΟΣ ΦΣΙΚΟΣ ΟΙΕΣ ΕΙΔΙΚΟΤΗΤΕΣ ΚΑΘΗΓΗΤΩΝ ΗΡΕΤΟΝ ΣΤΑ ΑΝΕΙΣΤΗΜΙΑ; SELECT UCODE, UNAME FROM UNIVERSITIES WHERE LOCATION=' '; UCODE UNAME ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΟΙΑ ΑΝΕΙΣΤΗΜΙΑ ΕΧΟΝ ΕΔΡΑ ΤΗΝ ; ΟΙΑ ΡΟΑΙΡΕΤΙΚΑ ΜΑΘΗΜΑΤΑ ΜΟΡΟΝ ΝΑ ΔΙΔΑΞΟΝ ΟΙ ΚΑΘΗΓΗΤΕΣ; SELECT * FROM TEACHERS, WHERE.=''; '; TEACHERID TFNAME TLNAME EIDIKOTHTA SCHOOL NOMOS 1 ΑΝΔΡΕΑΣ ΑΝΔΡΕΟ ΦΣΙΚΟΣ ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟ ΒΟΙΩΤΙΑ ΒΑΣΙΛΕΙΟΣ ΒΑΣΙΛΕΙΟ Η ΘΕΣΣΑΛΟΝΙΚΗ ΕΤΡΟ ΕΤΡΟΣ ΚΑΤΕΡΙΝΗ 5 ΔΗΜΗΤΡΙΟ ΔΗΜΗΤΡΙΟΣ Η 6 ΕΛΕΘΕΡΙΟ ΕΛΕΘΕΡΙΟΣ ΤΟΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 9 ΑΝΑΓΙΩΤΟ ΑΝΑΓΙΩΤΗΣ Η ΘΡΑΚΗ SELECT - γενική μορφή select A1, A,..., An,f(A, f(a), from r1, r,..., rm where P group by A1, A,..., An having Q order by Ax,.., AyA f(a) είναι μια συνάρτηση συνάθροισης (aggregate function) Q είναι μια συνθήκη που αφορά το GROUP BY 7

SELECT - γενική μορφή Διάταξη αποτελεσμάτων (order by) select A1, A,..., An from r1, r,..., rm where P order by Ax,.., Ay ASC or DESC αράδειγμα SELECT * FROM TEACHERS, WHERE.='' ORDER BY NOMOS, SCHOOL; TEACHERID TFNAME TLNAME EIDIKOTHTA SCHOOL NOMOS 5 ΔΗΜΗΤΡΙΟ ΔΗΜΗΤΡΙΟΣ Η 1 ΑΝΔΡΕΑΣ ΑΝΔΡΕΟ ΦΣΙΚΟΣ ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟ ΒΟΙΩΤΙΑ ΒΑΣΙΛΕΙΟΣ ΒΑΣΙΛΕΙΟ Η ΘΕΣΣΑΛΟΝΙΚΗ 9 ΑΝΑΓΙΩΤΟ ΑΝΑΓΙΩΤΗΣ Η ΘΡΑΚΗ ΕΤΡΟ ΕΤΡΟΣ ΚΑΤΕΡΙΝΗ 6 ΕΛΕΘΕΡΙΟ ΕΛΕΘΕΡΙΟΣ ΤΟΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ SELECT - γενική μορφή Ομαδοποίηση αποτελεσμάτων (group by) select A1, A,..., An,f(A, f(a), from r1, r,..., rm where P group by A1, A,..., An having Q Ομαδοποιεί τα αποτελέσματα εφαρμόζοντας τη συνάρτηση f(a) σε κάθε ομάδα χωριστά. Η πρότασηhaving καθορίζει συνθήκη αναζήτησης για τις ομάδες Συναρτήσεις συνάθροισης (aggregate functions) AVG(A) μέσος όρος τιμών του Α SUM(A) άθροισμα τιμών του Α MIN(A) ηελάχιστητωντιμώντουα MAX(A) ημέγιστητωντιμώντουα COUNT(A) το πλήθος των τιμών του Α 8

SELECT - γενική μορφή: αραδείγματα SELECT Avg() FROM WHERE.=''; 01 ΜΑΘΗΜΑΤΙΚΑ 1 ΒΔ ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η Expr1000,66666666666667 SELECT Avg() AS AV_HOURS FROM WHERE.=''; ΟΙΟΣ ΕΙΝΑΙ Ο ΜΕΣΟΣ ΟΡΟΣ ΕΒΔΟΜΑΔΙΑΙΩΝ ΩΡΩΝ ΔΙΔΑΣΚΑΛΙΑΣ ΟΛΩΝ ΤΩΝ ΟΧΡΕΩΤΙΚΩΝ ΜΑΘΗΜΑΤΩΝ; AV_HOURS,66666666666667 SELECT, Avg() AS AV_HOURS FROM GROUP BY ; ΟΙΟΙ ΕΙΝΑΙ ΟΙ ΜΕΣΟΙ AV_HOURS ΟΡΟΙ ΤΩΝ ΕΒΔΟΜΑΔΙΑΙΩΝ ΩΡΩΝ,66666666666667 ΔΙΔΑΣΚΑΛΙΑΣ ΟΛΩΝ ΤΩΝ ΤΩΝ ΜΑΘΗΜΑΤΩΝ; SELECT - γενική μορφή: αραδείγματα Θα δουλέψουμε με το ακόλουθο στιγμιότυπο της ΒΔ UNIVERSITIES PROVIDED_BY UCODE UNAME USTUDENTS USTAFF LOCATION COURSE YEAR ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 8900 50 ΘΕΣΣΑΛΟΝΙΚΗ 1980-1981 ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ 5000 89 ΘΡΑΚΗ 1981-198 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 10000 1000 198-198 ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ 000 100 0-1 1-1985-1986 9-0 - ΜΑΘΗΜΑΤΙΚΑ 1-9-0 ΒΔ 0-1 01 ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η 1-9

SELECT - γενική μορφή: αραδείγματα SELECT., PROVIDED_BY. FROM, PROVIDED_BY; Επιστρέφει ολόκληρο το γινόμενο των πινάκων ΜΑΖΙ με τις διπλές εγγραφές! 01 01 01... 01 01 01... SELECT - γενική μορφή: αραδείγματα SELECT DISTINCT., PROVIDED_BY. FROM, PROVIDED_BY; Επιστρέφει το καρτεσιανό γινόμενο των πινάκων (χωρίς διπλές εγγραφές) 01 01 01 01 10

SELECT - γενική μορφή: αραδείγματα SELECT DISTINCT., PROVIDED_BY. FROM, PROVIDED_BY WHERE.=PROVIDED_BY.COURSE; PROVIDED_BY COURSE YEAR 1980-1981 ΟΙΑ ΜΑΘΗΜΑΤΑ ΕΧΟΝ ΔΙΔΑΧΤΕΙ ΣΕ ΚΑΘΕ ΑΝΕΙΣΤΗΜΙΟ; 1981-198 198-198 0-1 1-1985-1986 9-0 - - 9-0 0-1 1- ΜΑΘΗΜΑΤΙΚΑ 1 ΒΔ 01 ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η SELECT - γενική μορφή: αραδείγματα SELECT DISTINCT., PROVIDED_BY., UNIVERSITIES.UNAME FROM, PROVIDED_BY, UNIVERSITIES WHERE.=PROVIDED_BY.COURSE AND PROVIDED_BY.=UNIVERSITIES.UCODE; PROVIDED_BY COURSE UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 8900 50 ΘΕΣΣΑΛΟΝΙΚΗ ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ 5000 89 ΘΡΑΚΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 10000 1000 ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ 000 100 YEAR 1980-1981 1981-198 198-198 0-1 1-1985-1986 9-0 ΜΑΘΗΜΑΤΙΚΑ 1 ΒΔ - - 9-0 0-1 1-01 ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η UNAME ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 11

SELECT - γενική μορφή: αραδείγματα SELECT DISTINCT., PROVIDED_BY., UNIVERSITIES.UNAME FROM, PROVIDED_BY, UNIVERSITIES WHERE.=PROVIDED_BY.COURSE AND PROVIDED_BY.=UNIVERSITIES.UCODE; PROVIDED_BY COURSE UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 8900 50 ΘΕΣΣΑΛΟΝΙΚΗ ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ 5000 89 ΘΡΑΚΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 10000 1000 ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ 000 100 YEAR 1980-1981 1981-198 198-198 0-1 1-1985-1986 9-0 ΜΑΘΗΜΑΤΙΚΑ 1 ΒΔ - - 9-0 0-1 1-01 ΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η UNAME ΔΗΜΟΚΡΙΤΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ ΧΑΡΟΚΟΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΕΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΟΛΤΕΧΝΕΙΟ 1