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

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

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

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

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

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


Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ


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

Βάρειπ Δεδξμέμωμ. Εξγαζηήξην ΙΙI. Τκήκα Πιεξνθνξηθήο ΑΠΘ

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

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

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

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

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

SQL Data Manipulation Language

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

Βάσεις Δεδομένων Σύνθετα SQL queries

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

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

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

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

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

SQL Data Manipulation Language

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

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

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα


Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 5. Διαφάνεια 1. Κάπαρης Αναστάσιος

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

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

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

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

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

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

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

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

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

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

Βελτιστοποίηση επερωτημάτων

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

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

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

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

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

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

Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server

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

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

Lecture 14: SQL DML I

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

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

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

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

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

Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

1 / 97

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

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

1 / 87

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

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

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

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

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

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

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

Κεφάλαιο 8 Εμφωλευμένα Ερωτήματα

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

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

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

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

Αν χ >= 0 ΚΑΙ χ <= 9 τότε Εμφάνισε Θετικός Μονοψήφιος Τέλος_αν Αν Χ <= 99 τότε

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

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

Transcript:

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

2 Σκοπός του 3 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων επιλογής, προβολής και απλών συνδέσεων σε δύο ή περισσότερες σχέσεις η μελέτη τελεστών συνόλων η μελέτη εμφωλευμένων ερωτημάτων

3 SQL ερωτήματα με δύο ή περισσότερες σχέσεις Η επιλογή δεδομένων από δύο ή περισσότερες σχέσεις είναι δυνατή με τη δήλωσή τους στο τμήμα FROM. Το τμήμα WHERE μπορεί να περιέχει παραπάνω από μία συνθήκη. Γενική Σύνταξη:

Ερώτημα με δύο ή περισσότερες σχέσεις στον SQL Server 2012 (1/2) Να δοθεί για κάθε συντελεστή (όνομα), οι ρόλοι με τους οποίους έχει συμμετάσχει σε ταινίες: SELECT Όνομα, Ρόλος FROM ΣΥΝΤΕΛΕΣΤΗΣ, ΤΣ WHERE ΣΥΝΤΕΛΕΣΤΗΣ.ID = ΤΣ.IDΣυντελεστή 4

5 Ερώτημα με δύο ή περισσότερες σχέσεις στον SQL Server 2012 (2/2) Να δοθούν οι κωδικοί των ταινιών στις οποίες έχει συμμετάσχει ο Alfred Hitchcock: SELECT IDΤαινίας FROM ΤΣ, ΣΥΝΤΕΛΕΣΤΗΣ WHERE ΤΣ.IDΣυντελεστή = ΣΥΝΤΕΛΕΣΤΗΣ.ID AND ΣΥΝΤΕΛΕΣΤΗΣ.Όνομα = Alfred Hitchcock

6 SQL ερωτήματα στον SQL Server 2012 Δοκιμάστε να εκφράσετε σε SQL τα ερωτήματα: Να δοθούν οι τύποι DVD που είναι διαθέσιμοι στο dvd club για την ταινία Psycho. Να βρεθεί, για κάθε πελάτη (ονοματεπώνυμο) από πότε μέχρι πότε έχει νοικιάσει ένα DVD.

7 Πράξεις συνόλων (1/2)

8 Πράξεις συνόλων (2/2) Οι σχέσεις που συμμετέχουν στις πράξεις πρέπει να είναι συμβατές, δηλαδή να έχουν παρόμοιο σύνολο ιδιοτήτων (ίσο πλήθος, ίδιος τύπος σε κάθε αντίστοιχη ιδιότητα). Οι πράξεις union, intersect και except απαλείφουν αυτόματα τα διπλότυπα. Αν θέλουμε να διατηρήσουμε όλα τα διπλότυπα χρησιμοποιούμε τη λέξη all μετά από κάθε τελεστή.

9 Ερώτημα με τελεστή ένωσης στον SQL Server 2012 Να βρεθούν οι τίτλοι των ταινιών που γυρίστηκαν το 1959 ή των ταινιών όπου ο τύπος dvd είναι 3D : SELECT Τίτλος FROM ΤΑΙΝΙΑ WHERE Χρονιά = 1959 union SELECT Τίτλος FROM ΤΑΙΝΙΑ, DVD WHERE TAINIA.ID = DVD.IDΤαινίαςAND ί Τύπος = 3D

10 Ερώτημα με τελεστή τομής στον SQL Server 2012 Να βρεθούν οι τίτλοι των ταινιών που το δεύτερο γράμμα είναι το e και που γυρίστηκαν το 1954: SELECT Τίτλος FROM ΤΑΙΝΙΑ WHERE Τίτλος like _e% intersect SELECT Τίτλος FROM ΤΑΙΝΙΑ WHERE Χρονιά = 1954 (ό δύ ή έ ίδ έ θ ύ (όταν τα δύο υποερωτήματα αναφέρονται στην ίδια σχέση, θα μπορούσαμε να χρησιμοποιήσουμε ένα πιο σύνθετο πεδίο WHERE με τον τελεστή AND)

11 Ερώτημα με τελεστή εξαίρεσης στον SQL Server 2012 Να βρεθούν οι τίτλοι των ταινιών που το δεύτερο γράμμα είναι το e, εκτός από αυτές που γυρίστηκαν το 1954: SELECT Τίτλος FROM ΤΑΙΝΙΑ WHERE Τίτλος like _e% except SELECT Τίτλος FROM ΤΑΙΝΙΑ WHERE Χρονιά = 1954

12 Εμφωλευμένα ερωτήματα (1/2) Τα εμφωλευμένα ερωτήματα χαρακτηρίζονται ως: ανεξάρτητα εκτελούνται ανεξάρτητα από τα ερωτήματα που τα καλούν εξαρτημένα παίρνουν ως είσοδο πλειάδες από τα ερωτήματα που τα καλούν και εκτελούνται το ένα μετά το άλλο. Ένα υποερώτημα είναι μία παράσταση selectfrom-where, όπου είναι εμφωλευμένο μέσα σε ένα άλλο ερώτημα.

13 Εμφωλευμένα ερωτήματα (2/2) Τα εμφωλευμένα ερωτήματα χρησιμοποιούνται για: να εκτελούν ελέγχους για το αν κάποιες πλειάδες ανήκουν σε ένα σύνολο να κάνουν συγκρίσεις συνόλων να προσδιορίζουν το αν ένα σύνολο είναι κενό ή όχι

14 Ο έλεγχος μέλους ενός συνόλου Με τη λέξη in ελέγχουμε εάν μία εγγραφή είναι μέλος ενός συνόλου. Το σύνολο είναι μία συλλογή από τιμές που παράγονται από μία SELECT. i Η φράση not in ελέγχει εάν κάποια εγγραφή δεν είναι μέλος σε ένα σύνολο.

15 Ερώτημα εμφωλευμένο ερώτημα in στον SQL Server 2012 Να βρεθούν οι πελάτες που έχουν νοικιάσει τουλάχιστον ένα DVD: SELECT Επίθετο FROM ΠΕΛΑΤΗΣ WHERE ID IN (SELECT IDΠελάτη FROM ΕΝΟΙΚΙΑΣΗ) (υπάρχει ισοδύναμο ερώτημα (υπάρχει ισοδύναμο ερώτημα με μία σύνδεση)

16 Η σύγκριση συνόλων (1/2) Η φράση «μεγαλύτερο / μικρότερο τουλάχιστον από ένα» αντιστοιχεί στη δομή > some. Στην SQL επιτρέπονται οι εξής συγκρίσεις: <some <= some >=some = some είναι το ίδιο με το in <>some δεν είναι το ίδιο με το not in H δομή some είναι συνώνυμη με την any.

17 Η σύγκριση συνόλων (2/2) Η φράση «μεγαλύτερη / μικρότερη από όλα» αντιστοιχεί στη δομή > all. Στην SQL επιτρέπονται οι εξής συγκρίσεις: <all <= all >= all = all <> all είναι το ίδιο με το not in

18 Ερώτημα εμφωλευμένο ερώτημα all στον SQL Server 2012 Να βρεθεί ο κωδικός του πελάτη που έκανε την πρώτη ενοικίαση: SELECT IDΠελάτη FROM ΕΝΟΙΚΙΑΣΗ WHERE Από <= ALL (SELECT Από FROM ΕΝΟΙΚΙΑΣΗ)

19 Ο έλεγχος για κενές σχέσεις Η δομή exists επιστρέφει την τιμή true αν το όρισμα του υποερωτήματος δεν είναι κενό. Για να ελέγξουμε τη μη ύπαρξη εγγραφών ενός υποερωτήματος χρησιμοποιούμε τη φράση not exists.

20 Ερώτημα εμφωλευμένο ερώτημα exists στον SQL Server 2012 Να βρεθούν τα επίθετα των πελατών που έχουν κάνει μία τουλάχιστον ενοικίαση (επιπλέον της λύσης στη δ. 15): SELECT Επίθετο FROM ΠΕΛΑΤΗΣ WHERE EXISTS (SELECT IDΠελάτη η FROM ΕΝΟΙΚΙΑΣΗ WHERE IDΠελάτη = ΠΕΛΑΤΗΣ.ID)

21 SQL ερωτήματα στον SQL Server 2012 Δοκιμάστε να εκφράσετε σε SQL τα ερωτήματα: Να δοθούν όλες οι ημερομηνίες είτε ενοικίασης είτε επιστροφής DVD (Union) Να δοθούν οι ημερομηνίες που έχουν δηλωθεί και ως ημερομηνίες ενοικίασης και ως επιστροφής (Intersect) Να δοθούν όλες οι ημερομηνίες μη ενοικίασης εκτός και αν έχουν δηλωθεί και ως ημερομηνίες επιστροφής (Except) Να δοθούν οι τίτλοι ταινιών, των οποίων τα DVD είναι τα ακριβότερα (Συνθήκη σύνδεσης και All)