Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις

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

Download "Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις"

Transcript

1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-1 Κεφάλαιο 8 SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and Shamkant B. Navathe 1

2 Ορισμός Δεδομένων, Περιορισμοί, και Αλλαγές Σχήματος Οι CREATE, DROP, και ALTER χρησιμοποιούνται για αλλαγές της περιγραφής των πινάκων (σχέσεων) μιας βάσης δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-3 CREATE TABLE Ορίζει μια νέα βασική σχέση δίνοντας της ένα όνομα και ορίζοντας κάθε γνώρισμα και τον τύπο δεδομένων του γνωρίσματος (INTEGER, FLOAT, DECIMAL(i,j), CHAR(n), VARCHAR(n)) Σε ένα γνώρισμα μπορεί να ορισθεί ένας περιορισμός NOT NULL CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩΔ_ ΤΜΗΜ INTEGER NOT NULL, ΔΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9) ); Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-4 2

3 CREATE TABLE Στην SQL2, μπορούμε να χρησιμοποιήσουμε την εντολή CREATE TABLE για τον προσδιορισμό των γνωρισμάτων του πρωτεύοντος κλειδιού, των δευτερευόντων κλειδιών, και των αναφορικών περιορισμών ρ ακεραιότητας (ξένα κλειδιά). Τα γνωρίσματα κλειδιού προσδιορίζονται με τις προτάσεις PRIMARY KEY and UNIQUE. CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩΔ_ΤΜΗΜ INTEGER NOT NULL, ΔΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9), PRIMARY KEY (ΚΩΔ_ΤΜΗΜ), UNIQUE (Τ_ΟΝΟΜΑ), FOREIGN KEY (ΔΙΕΥΘΥΝΤΗΣ) REFERENCES ΕΡΓΑΖΟΜΕΝΟΣ ); Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-5 DROP TABLE Χρησιμοποιείται για τη διαγραφή μιας σχέσης (βασικός πίνακας) και του ορισμού του Η σχέση δεν μπορεί να χρησιμοποιηθεί περαιτέρω σε ερωτήσεις, ενημερώσεις, ή οποιαδήποτε άλλη εντολή αφού δεν υπάρχει ο ορισμός της Παράδειγμα: DROP TABLE ΕΞΑΡΤΩΜΕΝΟΣ; Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-6 3

4 ALTER TABLE Χρησιμοποιείται για την προσθήκη ενός γνωρίσματος σε μια από τις βασικές σχέσεις Το νέο γνώρισμα θα έχει τιμές NULL σε όλες τις πλειάδες της σχέσης μετά την εκτέλεση της εντολής επομένως, δεν επιτρέπεται ο περιορισμός NOT NULL για το γνώρισμα αυτό Παράδειγμα: ALTER TABLE ΕΡΓΑΖΟΜΕΝΟΣ ADD ΕΡΓΑΣΙΑ VARCHAR(12); Οι χρήστες της βάσης δεδομένων πρέπει πάλυ να εισάγουν μια τιμή για το νέο γνώρισμα ΕΡΓΑΣΙΑ για κάθε πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ. Αυτό μπορεί να επιτευχθεί με την εντολή UPDATE. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-7 Πρόσθετα χαρακτηριστικά της SQL2 και της SQL-99 Create schema Επιλογές Αναφορικής Ακεραιότητας Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-8 4

5 CREATE SCHEMA Ορίζει το σχήμα μιας νέας βάσης δεδομένων δίνοντας της ένα όνομα. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-9 ΕΠΙΛΟΓΕΣ ΑΝΑΦΟΡΙΚΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ Στου αναφορικούς περιορισμούς ακεραιότητας (ξένα κλειδιά) μπορούμε να προσδιορίσουμε τις RESTRICT, CASCADE, SET NULL ή SET DEFAULT CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩΔ_ΤΜΗΜ INTEGER NOT NULL, ΔΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9), PRIMARY KEY (ΚΩΔ_ΤΜΗΜ), UNIQUE (Τ_ΟΝΟΜΑ), FOREIGN KEY (ΔΙΕΥΘΥΝΤΗΣ) REFERENCES ΕΡΓΑΖΟΜΕΝΟΣ ON DELETE SET DEFAULT ON UPDATE CASCADE); Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

6 ΕΠΙΛΟΓΕΣ ΑΝΑΦΟΡΙΚΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ (συνέχεια) CREATE TABLE ΕΡΓ( E_ ΟΝΟΜΑ VARCHAR(30) NOT NULL, E_ΑΡΤΑΥΤ CHAR(9), ΗΜ_ΓΕΝ DATE, ΑΡΙΘ_Τ INTEGER DEFAULT 1, ΠΡΟΙΣΤΑΜΕΝΟΣ CHAR(9), PRIMARY KEY (E_ΑΡΤΑΥΤ), FOREIGN KEY (ΑΡΙΘ_Τ) REFERENCES ΤΜΗΜΑ ON DELETE SET DEFAULT ON UPDATE CASCADE, FOREIGN KEY (ΠΡΟΙΣΤΑΜΕΝΟΣ) REFERENCES ΕΡΓ ON DELETE SET NULL ON UPDATE CASCADE); Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-11 Πρόσθετοι τύποι δεδομένων των SQL2 και SQL-99 Έχει τους τύους δεδομένων DATE, TIME, and TIMESTAMP DATE: Σχηματίζετε από τα year-month-day σε μορφή yyyy-mm-dd TIME: Σχηματίζετε από:minute:second σε μορφή hh:mm:ss TIME(i): Σχηματίζετε από hour:minute:second με επιπλέον ψηφία που ορίζουν δέκατα δευτερολέπτου ή μορφή είναι hh:mm:ss:ii...i Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

7 Πρόσθετοι τύποι δεδομένων των SQL2 και SQL-99(συνεχ.) TIMESTAMP: Έχει και τις δύο, DATE και TIME συνιστώσες INTERVAL: Προσδιορίζει μια σχετική τιμή παρά σαν απόλυτη τιμή. Μπορεί να είναι διαστήματα DAY/TIME ή YEAR/MONTH Μπορεί να είναι θετική ή αρνητική όταν προστεθεί ή αφαιρεθεί από μια απόλυτη τιμή, το αποτέλεσμα είναι μι απόλυτη τιμή Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-13 Ερωτήσεις ανάκτησης στην SQL Η SQL έχει μια βασική εντολή για ανάκτηση πληροφοριών από μια βάση δεδομένων την εντολή SELECT Δεν είναι ίδια με την πράξη SELECT (επιλογή) της σχεσιακής άλγεβρας Σημαντική διαφορά μεταξύ της SQL και του τυπικού σχεσιακού μοντέλου: Η SQL επιτρέπει σε ένα πίνακα (σχέση) να έχει δύο ή περισσότερες ταυτόσημες πλειάδες (ίδια τιμή σε όλα τους τα γνωρίσματα) Επομένως, μια SQL σχέση (πίνακας) είναι ένα πολυ-σύνολο (ονομάζεται και bag) από πλειάδες δεν είναι ένα σύνολοαπό πλειάδες Οι σχέσεις της SQL μπορούν να περιορισθούν σε σύνολα με προσδιορισμό γνωρισμάτων PRIMARY KEY ή UNIQUE, ή χρησιμοποιώντας την επιλογή DISTINCT σε μια ερώτηση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

8 Ερωτήσεις Ανάκτησης στην SQL (συν.) Ένα bag ή πολυ-σύνολο μοιάζει με σύνολο, αλλά ένα στοιχείο μπορεί να εμφανισθεί περισσότερες από μια φορές. Παράδειγμα το: {A, B, C, A} είναι bag. Το {A, B, C} είναι επίσης bag που είναι και σύνολο. Τα bags μοιάζουν με λίστες, αλλά στο bag δεν ενδιαφέρει η σειρά. Παράδειγμα: {A, B, A} = {B, A, A} είναι bags Ωστόσο, τα [A, B, A] και [B, A, A] δεν ίσα σαν λίστες Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-15 Ερωτήσεις Ανάκτησης στην SQL (συν.) Η βασική μορφή της SQL εντολής SELECT ονομάζεται μια απεικόνιση ή ένα SELECT-FROM-WHERE μπλοκ SELECT FROM WHERE <λίστα γνωρισμάτων> <λίστα πινάκων> <συνθήκη> < λίστα γνωρισμάτων > είναι μια λίστα ονομάτων γνωρισμάτων που η τιμή τους πρέπει να ανακτηθεί από την ερώτηση < λίστα πινάκων > είναι μια λίστα από ονόματα σχέσεων που απαιτούνται για επεξεργασία της ερώτησης <συνθήκη> είναι μια έκφραση συνθήκης (Boolean) που προσδιορίζει τις πλειάδες που θα ανακτηθούν από την ερώτηση. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

9 Σχεσιακό σχήμα βάσης δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-17 Βάση με δεδομένα Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

10 Απλές SQL Ερωτήσεις Οι βασικές SQL ερωτήσεις αντιστοιχούν στη χρήση των παρακάτω πράξεων της σχεσιακής άλγεβρας: SELECT PROJECT JOIN Όλα τα παραδείγματα δί που ακολουθούν χρησιμοποιούν τη βάση δεδομένων ΕΤΑΙΡΕΙΑ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-19 Απλές SQL Ερωτήσεις(συν.) Παράδειγμα απλής ερώτησης σε μια σχέση Ερώτηση 0: Nα βρεθεί η ημερομηνία γέννησης και η διεύθυνση του εργαζόμενου που το όνομα του είναι John B. Smith Q0: SELECT ΗΜ_ΓΕΝ, ΔΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΟΝΟΜΑ='John' AND ΑΡΧ_ΠΑΤ='B AND ΕΠΙΘΕΤΟ='Smith Μοιάζει με ένα ζεύγος SELECT-PROJECT πράξεων της σχεσιακής άλγεβρας: Η πρόταση SELECT- προσδιορίζει τα γνωρίσματα της προβολής και η πρόταση WHERE- προσδιορίζει την συνθήκη επιλογής Ωστόσο, το αποτέλεσμα της ερώτησης μπορεί να περιέχει διπλότυπες πλειάδες Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

11 Απλές SQL Ερωτήσεις(συν.) Ερώτηση 1: Nα βρεθούν το όνομα και η διεύθυνση όλων των εργαζομένων στο τμήμα Research. SELECT FROM WHERE ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ ΕΡΓΑΖΟΜΕΝΟΣΤΜΗΜΑ Τ_ΟΝΟΜΑ='Research' AND ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ Παρόμοια με μια ακολουθία SELECT-PROJECT-JOIN πράξεων της σχεσιακής άλγεβρας (Τ_ΟΝΟΜΑ='Research') είναι μια συνθήκη επιλογής (αντιστοιχεί σε μια πράξη επιλογής στη σχεσιακή άλγεβρα) (ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ) είναι μια συνθήκη επιλογής (αντιστοιχεί σε μια πράξη JOIN της σχεσιακής άλγεβρας) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-21 Απλές SQL Ερωτήσεις(συν.) Ερώτηση 2: Για κάθε έργο στο Stafford να βρεθεί ο κωδικός του έργου, ο κωδικός του τμήματος που το ελέγχει και το επίθετο, η διεύθυνση και η ημερομηνία γέννησης του διευθυντή του τμήματος. SELECT ΚΩΔ_ΕΡΓΟΥ, Κ_ΤΜΗΜΑ, ΕΠΙΘΕΤΟ, ΗΜ_ΓΕΝ, ΔΙΕΥΘΥΝΣΗ FROM ΕΡΓΟ, ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜ AND ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ AND ΤΟΠ_ΕΡΓΟΥ='Stafford' Στην ερώτηση, δύο συνθήκες συνένωσης Η συνθήκη συνένωσης Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜ συσχετίζει ένα έργο με το τμήμα που το ελέγχει Η συνθήκη συνένωσης ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ συσχετίζει το τμήμα που ελέγχει με τον εργαζόμενο που το διευθύνει Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

12 Ψευδώνυμα, * και DISTINCT, Κενή πρόταση WHERE Στην SQL, μπορούμε να χρησιμοποιήσουμε το ίδιο όνομα για ένα (ή περισσότερα) γνωρίσματα αν τα γνωρίσματα είναι σε διαφορετικές σχέσεις Μια ερώτηση που αναφέρεται σε ένα ή περισσότερα γνωρίσματα με το ίδιο όνομα πρέπει να χαρακτηρίζει το όνομα του γνωρίσματος με το όνομα της σχέσης προτάσσοντας το όνομα της σχέσης στο όνομα του γνωρίσματος Παράδειγμα: ΕΡΓΑΖΟΜΕΝΟΣ.ΕΠΙΘΕΤΟ, ΤΜΗΜΑ.Τ_ΟΝΟΜΑ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-23 Ψευδώνυμα Μερικές ερωτήσεις χρειάζεται να αναφερθούν στην ίδια σχέση δύο φορές Στην περίπτωση αυτή, δίνονται ψευδώνυμα στη σχέση αυτή Ερώτηση 8: Για κάθε εργαζόμενο να βρεθούν το όνομα και το επίθετό του, καθώς και το όνομα και το επίθετο του άμεσου προϊσταμένου του. Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ ES WHERE E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ Στην Ε8, τα εναλλακτικά ονόματα E και S της σχέσης ονομάζονται ψευδώνυμα ή μεταβλητές πλειάδες για τη σχέση ΕΡΓΑΖΟΜΕΝΟΣ Οι E και S μπορούν να θεωρηθούν σαν δύο διαφορετικά αντίγραφα της ΕΡΓΑΖΟΜΕΝΟΣ η E αντιπροσωπεύει εργαζόμενους σε ρόλο υφισταμένων και η S αντιπροσωπεύει εργαζόμενους σε ρόλο προϊσταμένων. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

13 Ψευδώνυμα (συνεχ.) Για ευκολία μπορούν να χρησιμοποιηθούν ψευδώνυμα σε οποιαδήποτε SQL ερώτηση Για τον προσδιορισμό ψευδωνύμων μπορεί να χρησιμοποιηθεί επίσης η λέξη κλειδί AS Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E, ΕΡΓΑΖΟΜΕΝΟΣ AS S WHERE E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-25 ΜΗ ΥΠΑΡΞΗ ΠΡΟΤΑΣΗΣ WHERE Η μη ύπαρξη της πρότασης WHERE σημαίνει ότι δεν υπάρχει συνθήκη επομένως, επιλέγονται όλες οι πλειάδες από τις σχέσεις της πρότασης FROM Είναι ισοδύναμο με την συνθήκη WHERE TRUE Ερώτηση 9: Nα επιλεγούν όλοι οι AP_TAYT από την EPΓAZOMENOΣ. Ε9: SELECT ΑΡ_ΤΑΥΤ FROM ΕΡΓΑΖΟΜΕΝΟΣ Αν στην πρόταση FROM ορίζονται περισσότερες από μια σχέσεις και δεν υπάρχει συνθήκη συνένωσης, τότε επιλέγεται το ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ των πλειάδων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

14 ΜΗ ΥΠΑΡΞΗ ΠΡΟΤΑΣΗΣ WHERE (συν.) Παράδειγμα: Ε10: SELECT ΑΡ_ΤΑΥΤ, Τ_ΟΝΟΜΑ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ Είναι πολύ σημαντικό να μην παραβλεφθεί ο προσδιορισμός ρ οποιονδήποτε συνθηκών επιλογής και συνένωσης στην WHERE-πρόταση διαφορετικά, μπορεί να έχουμε λάθος αποτέλεσμα ή μεγάλες σχέσεις. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-27 ΧΡΗΣΗ ΤΟΥ * Για ανάκτηση τις τιμές όλων των γνωρισμάτων των επιλεγμένων πλειάδων χρησιμοποιείται ένας *, που σημαίνει για όλα τα γνωρίσματα Παραδείγματα: Ε1Γ: SELECT * FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ=5 Ε1Δ: SELECT * FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' AND ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

15 ΧΡΗΣΗ ΤΗΣ DISTINCT Η SQL δεν αντιμετωπίζει μια σχέση σαν ένα σύνολο μπορούν να εμφανισθούν διπλότυπες πλειάδες Για απαλοιφή διπλότυπων πλειάδων στο αποτέλεσμα μιας ερώτησης, χρησιμοποιείται η λέξη κλειδί DISTINCT Για παράδειγμα, το αποτέλεσμα της Ε11 μπορεί να περιέχει διπλότυπες τιμές ΜΙΣΘΟΣ ενώ η Ε11A δεν έχει διπλότυπες τιμές Ε11: SELECT ΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ Ε11A: SELECT DISTINCT ΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-29 ΠΡΑΞΕΙΣ ΣΥΝΟΛΩΝ Η SQL έχει άμεσα ενσωματωμένες κάποιες πράξεις συνόλων Υπάρχει η πράξη της ένωσης (UNION), και σε μερικές εκδόσεις της SQL υπάρχουν οι πράξεις της διαφοράς συνόλων (MINUS) και της τομής (INTERSECT) Οι σχέσεις που προκύπτουν από αυτές τις πράξεις συνόλων είναι σύνολα πλειάδων από το αποτέλεσμα απαλείφονται οι διπλότυπες πλειάδες Οι πράξεις των συνόλων εφαρμόζονται μόνο σε σχέσεις συμβατές προς την ένωση θα πρέπει οι δύο σχέσεις να έχουν τα ίδια γνωρίσματα και θα πρέπει τα γνωρίσματα να εμφανίζονται με την ίδια σειρά. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

16 ΠΡΑΞΕΙΣ ΣΥΝΟΛΩΝ(συν.) Ερώτηση 4: Bρείτε τη λίστα όλων των κωδικών έργων στα οποία εμφανίζονται εργαζόμενοι με επίθετο Smith, είτε ως απασχολούμενοι σε ένα έργο είτε ως διευθυντές του τμήματος που ελέγχει το έργο αυτό. Ε4: (SELECT DISTINCT ΚΩΔ_ΕΡΓΟΥ FROM ΕΡΓΟ, ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜ AND ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ AND ΕΠΙΘΕΤΟ='Smith') UNION (SELECT FROM WHERE DISTINCT KΩΔ_EPΓOY ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΑΖΟΜΕΝΟΣ KΩΔ_EPΓOY=K_EPΓO AND E_APTAYT=AP_TAYT AND ΕΠΙΘΕΤΟ='Smith') Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-31 ΕΜΦΩΛΕΥΣΗ ΕΡΩΤΗΣΕΩΝ Σε μια πρόταση WHERE μιας ερώτησης μπορεί να υπάρχει μια άλλη πλήρης SELECT ερώτηση, που ονομάζεται μια εμφωλευμένη ερώτηση, ενώ η ερώτηση στην οποία περικλείεται λέγεται εξωτερική ερώτηση Πολλές από τις μέχρι τώρα ερωτήσεις μπορούν εναλλάκτικά να γραφούν με χρήση εμφώλευσης Ερώτηση 1: Nα βρεθούν το όνομα και η διεύθυνση όλων των εργαζομένων στο τμήμα Research Ε1: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩΔ_ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

17 ΕΜΦΩΛΕΥΣΗ ΕΡΩΤΗΣΕΩΝ(συν.) Η εμφωλευμένη ερώτηση επιλέγει τον κωδικό του τμήματος 'Research. Η εξωτερική ερώτηση επιλέγει μια πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ αν η τιμή της ΑΡΙΘ_Τ είναι στο αποτέλεσμα της εμφωλευμένης Ο τελεστής σύγκρισης IN συγκρίνει μια τιμή v με ένα σύνολο (ή πολυσύνολο) τιμών V, και αποτιμάται σε TRUE αν το v είναι ένα από τα στοιχεία του V Γενικά, μπορούμε να έχουμε πολλά επίπεδα εμφωλευμένων ερωτήσεων Μια αναφορά σε ένα γνώρισμα σχέσης που δεν προσδιορίζεται αφορά την πιο εσωτερικά εμφωλευμένη ερώτηση Στο παράδειγμα αυτό, η εμφωλευμένη ερώτηση δεν συσχετίζεται με την εξωτερική ερώτηση. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-33 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ Αν μια συνθήκη στην WHERE-πρόταση μιας εμφωλευμένης ερώτησης αναφέρεται σε ένα γνώρισμα μιας σχέσης που ορίζεται στην εξωτερική ερώτηση, λέμε ότι οι δύο σχέσεις είναι συσσχετισμένες Το αποτέλεσμα μιας συσχετισμένης εμφωλευμένης ερώτησης είναι διαφορετικό για κάθε πλειάδα (ή συνδυασμό πλειάδων) της(των) σχέσης(ων) της εξωτερικής ερώτησης Ερώτηση 12: Να ανακτηθεί το όνομα και το επίθετο κάθε εργαζόμενου με ένα εξαρτώμενο μέλος με το ίδιο όνομα με τον εργαζόμενο. Ε12: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E WHERE E.ΑΡ_ΤΑΥΤ IN (SELECT Ε_ΑΡΤΑΥΤ FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE Ε_ΑΡΤΑΥΤ =E.ΑΡ_ΤΑΥΤ AND E.ΟΝΟΜΑ=ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

18 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Στην Ε12, η εμφωλευμένη ερώτηση έχει διαφορετικό αποτέλεσμα στην εξωτερική ερώτηση Μια εμφωλευμένη ερώτηση με SELECT... FROM... WHERE... μπλοκς και χρήση των τελεστών σύγκρισης = ή IN μπορεί πάντα να γραφεί σαν μια απλή ερώτηση ενός μπλοκ. Για παράδειγμα, η Ε12 μπορεί να γραφεί σαν Ε12A Ε12A: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ E, ΕΞΑΡΤΩΜΕΝΟΣ D WHERE E.ΑΡ_ΑΤΑΥΤ=D.ΑΡΤΑΥΤ AND E.ΟΝΟΜΑ=D.ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-35 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Η αρχική SQL όπως ορίστηκε για το SYSTEM R έχει και τον τελεστή σύγκρισης CONTAINS, που χρησιμοποιείται σε συνδυασμό με εμφωλευμένες συσχετισμένες ερωτήσεις Ο τελεστής αυτός εγκαταλείφτηκε από τη γλώσσα, πιθανόν λόγω δυσκολίας για αποτελεσματική υλοποίηση Οι περισσότερες υλοποιήσεις της SQL δεν υποστηρίζουν αυτόν τον τελεστή Ο τελεστής CONTAINS συγκρίνει δύο σύνολα τιμών, και αποτιμάται σε TRUE αν το ένα σύνολο περιέχει όλες τις τιμές του άλλου συνόλου Που θυμίζει την πράξη της διαίρεσης στην άλγεβρα Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

19 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Ερώτηση 3: Nα βρεθεί το ονοματεπώνυμο κάθε εργαζόμενου που εργάζεται σε όλα τα έργα που ελέγχονται από το τμήμα 5 Ε3: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ( (SELECT Κ_ΕΡΓΟ FROM ΑΠΑΣΧΟΛΗΣΗ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ) CONTAINS (SELECT ΚΩΔ_ΕΡΓΟΥ FROM ΕΡΓΟ WHERE Κ_ΤΜΗΜΑ=5) ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-37 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Στην Ε3, η δεύτερη εμφωλευμένη ερώτηση, που δεν συσχετίζεται με την εξωτερική ερώτηση, ανακτά τους κωδικούς όλων των έργων of all projects controlled by department 5 Η πρώτη εμφωλευμένη ερώτηση, που συσχετίζεται, τους κωδικούς των έργων που απασχολείται ο εργαζόμενος, που είναι διαφορετικοί για κάθε πλειάδα εργαζόμενου λόγω της συσχέτισης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

20 Η ΣΥΝΑΡΤΗΣΗ EXISTS Η EXISTS χρησιμοποιείται για να ελεγχθεί αν το αποτέλεσμα μιας συσχετισμένης εμφωλευμένης ερώτησης είναι κενό (δεν περιέχει πλειάδες) ή όχι Μπορούμε να γράψουμε της ερώτηση Ε12 με εναλλακτική μορφή που χρησιμοποιεί την EXISTS όπως η Ε12B Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-39 Η ΣΥΝΑΡΤΗΣΗ EXISTS(συν.) Ερώτηση 12: Να ανακτηθεί το όνομα και το επίθετο κάθε εργαζόμενου με ένα εξαρτώμενο μέλος με το ίδιο όνομα με τον εργαζόμενο. Ε12B: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE EXISTS (SELECT * FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ AND ΟΝΟΜΑ=ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

21 Η ΣΥΝΑΡΤΗΣΗ EXISTS(συν.) Ερώτηση 6: Να ανακτηθούν το όνομα και το επίθετο όσων δεν έχουν εξαρτώμενους. Ε6: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE NOT EXISTS (SELECT * FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ) Στην Ε6, η συσχετισμένη εμφωλευμένη ερώτηση ανακτά όλες τις πλειάδες ΕΞΑΡΤΩΜΕΝΟΣ που σχετίζονται με μια πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ. Αν δεν υπάρχουν, επιλέγεται η πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ Η EXISTS είναι απαραίτητη για τις εκφραστικές δυνατότητες της SQL Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-41 ΡΗΤΑ ΣΥΝΟΛΑ Είναι επίσης δυνατόν να χρησιμοποιηθεί ρητά (απαριθμήσιμο) σύνολο τιμών στην πρόταση WHERE αντί μιας εμφωλευμένης ερώτησης Ερώτηση 13: Να ανακτηθούν οι αριθμοί ταυτότητας όλων των εργαζομένων που απασχολούνται στα έργα με κωδικούς 1, 2, or 3. Ε13: SELECT DISTINCT E_ΑΡΤΑΥΤ FROM ΑΠΑΣΧΟΛΗΣΗ WHERE Κ_ΕΡΓΟ IN (1, 2, 3) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

22 ΤΙΜΕΣ NULL ΣΕ SQL ΕΡΩΤΗΣΕΙΣ Η SQL υποστηρίζει ερωτήσεις που ελέγχουν αν μια τιμή είναι NULL (δεν έχει καταγραφεί, ή δεν ορίζεται ή δεν ισχύει) Η SQL χρησιμοποιεί την IS ή την IS NOT για σύγκριση τιμών NULL επειδή θεωρεί κάθε NULL τιμή διακριτή από τις άλλες NULL τιμές, έτσι δεν είναι κατάλληλη η σύγκριση ισότητας. Ερώτηση 14: Να ανακτηθούν το όνομα και το επίθετο των εργαζομένων που δεν έχουν προϊσταμένους. Ε14: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΑΓΑΖΟΜΕΝΟΣ WHERE ΠΡΟΙΣΤΑΜΕΝΟΣ IS NULL Σημείωση: Αν ορίζεται μια συνθήκη συνένωσης, οι πλειάδες με τιμές NULL στα γνωρίσματα συνένωσης δεν συμπεριλαμβάνονται στο αποτέλεσμα. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-43 Σχέσεις Συνένωσης στην in SQL2 Μπορούμε να προσδιορίσουμε «μια σχέση συνένωσης" στην πρόταση FROM Μοιάζει με οποιαδήποτε άλλη σχέση αλλά είναι το αποτέλεσμα μιας συνένωσης Επιτρέπει στον χρήστη να ορίζει διαφορετικούς τύπους συνένωσης (κανονικές θήτα" JOIN, NATURAL JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN, κλπ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

23 Σχέσεις Συνένωσης στην in SQL2(συν.) Παραδείγματα: Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ E S WHERE E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ Μπορεί να γραφτεί: Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM (ΕΓΑΖΟΜΕΝΟΣ E LEFT OUTER JOIN ΕΡΓΑΖΟΜΕΝΟΣ ON E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-45 Σχέσεις Συνένωσης στην in SQL2(συν.) Παραδειγματα: Ε1: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' AND ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ Μπορεί να γραφεί ως: Ε1:SELECT FNAME, LNAME, A ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ FROM (ΕΡΓΑΖΟΜΕΝΟΣ JOIN ΤΜΗΜΑ ON ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ) WHERE Τ_ΟΝΟΜΑ='Research ή σαν: Ε1: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ FROM (ΕΡΓΑΖΟΜΕΝΟΣ NATURAL JOIN ΤΜΗΜΑ AS ΤΜΗΜ(Τ_ΟΝΟΜΑ, ΑΡΙΘ_Τ, ΔΙΕΥΘ, ΗΜΕΡ_ΕΝΑΡ) WHERE Τ_ΟΝΟΜΑ='Research Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

24 Σχέσεις Συνένωσης στην in SQL2(συν.) Άλλο παράδειγμα: Η Ε2 θα μπορούσε να γραφεί σαν εδώ έχουμε πολλαπλή συνένωση πινάκων Ε2: SELECT ΚΩΔ_ΕΡΓΟΥ, Κ_ΤΜΗΜΑ, ΕΠΙΘΕΤΟ, ΗΜ_ΓΕΝ, ΔΙΕΥΘΥΝΣΗ FROM (ΕΡΓΟ JOIN ΤΜΗΜΑ ON Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜ) JOIN ΕΡΓΑΖΟΜΕΝΟΣ ON ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΑΤΑΥΤ) ) WHERE ΤΟΠ_ΕΡΓΟΥ='Stafford Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-47 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Είναι οι COUNT, SUM, MAX, MIN, και AVG Ερώτηση 15: Να βρεθεί ο μέγιστος μισθός, ο ελάχιστος μισθός, και ο μέσος μισθός των εργαζομένων. Ε15: SELECT MAX(ΜΙΣΘΟΣ), MIN(ΜΙΣΘΟΣ), AVG(ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ Μερικές υλοποιήσεις της SQL μπορεί να μην επιτρέπουν περισσότερες από μια συναρτήσεις in στην SELECT-πρόταση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

25 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ(συν.) Ερώτηση 16: Να βρεθεί ο μέγιστος μισθός, ο ελάχιστος μισθός, και ο μέσος μισθός των εργαζομένων που εργάζονται στο τμήμα 'Research'. Ε16: SELECT MAX(ΜΙΣΘΟΣ), MIN(ΜΙΣΘΟΣ), AVG(ΜΙΣΘΟΣ) FROM EMPLOYEE, DEPARTMENT WHERE ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ AND Τ_ΟΝΟΜΑ='Research' Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-49 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ(συν.) Ερωτήσεις 17 και 18: Nα βρεθεί ο συνολικός αριθμός των εργαζομένων στην εταιρεία (E21) και ο αριθμός των εργαζομένων στο τμήμα Research (E22). Ε17: SELECT COUNT (*) FROM ΕΡΓΑΖΟΜΕΝΟΣ Ε18: SELECT COUNT (*) FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ AND Τ_ΟΝΟΜΑ='Research Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

26 ΟΜΑΔΟΠΟΙΗΣΗ Σε πολλές περιπτώσεις, θέλουμε να εφαρμόσουμε τις συναθροιστικές συναρτήσεις σε υποομάδες πλειάδων μια σχέση Κάθε υποομάδα πλειάδων αποτελείται από το σύνολο των πλειάδων που έχουν την ίδια τιμή για τα γνωρίσματα ομαδοποίησης Η συνάρτηση εφαρμόζεται ανεξάρτητα σε κάθε υποομάδα Η SQL έχει την πρόταση GROUP BY- για προσδιορισμό των γνωρισμάτων της ομάδας που πρέπει να εμφανισθούν και στην πρόταση SELECT. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-51 ΟΜΑΔΟΠΟΙΗΣΗ (συν.) Ερώτηση 20: Για κάθε τμήμα να βρεθεί ο κωδικός του τμήματος, το πλήθος των εργαζομένων στο τμήμα και ο μέσος μισθός τους Ε20: SELECT ΑΡΙΘ_Τ, COUNT (*), AVG (ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ GROUP BY ΑΡΙΘ_Τ Στην Ε20, οι πλειάδες της ΕΡΓΑΖΟΜΕΝΟΣ χωρίζονται σε ομάδες Κάθε ομάδα έχει την ίδια τιμή για το γνώρισμα ομαδοποίησης ΑΡΙΘ_Τ Οι συναρτήσεις COUNT και AVG εφαρμόζονται σε κάθε ομάδα πλειάδων ξεχωριστά Η πρόταση SELECT- περιλαμβάνει μόνο το γνώρισμα ομαδοποίησης και τις συναρτήσεις που θα εφαρμοσθούν σε κάθε ομάδα πλειάδων. Σε συνδυασμό με την ομαδοποίηση μπορεί να χρησιμοποιηθεί μια συνθήκη συνένωσης Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

27 ΟΜΑΔΟΠΟΙΗΣΗ (συν.) Ερώτηση 21: Για κάθε έργο να ανακτηθεί ο κωδικός του έργου, το όνομά του, καθώς και το πλήθος των εργαζομένων που απασχολούνται στο έργο αυτό. Ε21: SELECT ΚΩΔ_ΕΡΓΟΥ, Ε_ΝΟΜΑ, COUNT (*) FROM ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ WHERE ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ GROUP BY ΚΩΔ_ΕΡΓΟΥ, Ε_ΟΝΟΜΑ Στην περίπτωση αυτή, η ομαδοποίηση και οι συναρτήσεις εφαρμόζονται μετά την συνένωση των δύο σχέσεων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-53 Η ΠΡΟΤΑΣΗ HAVING Μερικές φορές θέλουμε να ανακτήσουμε τις τιμές αυτών των συναρτήσεων μόνο για εκείνες τις ομάδες που ικανοποιούν κάποιες συνθήκες Χρησιμοποιείται η πρόταση HAVING- για τον προσδιορισμό μιας συνθήκης επιλογής στις ομάδες (αντί στις πλειάδες ατομικά) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

28 Η ΠΡΟΤΑΣΗ HAVING (συν.) Ερώτηση 22: Για κάθε έργο στο οποίο απασχολούνται περισσότεροι από δύο εργαζόμενοι, να ανακτηθεί ο κωδικός του έργου, το όνομά του και το πλήθος των εργαζομένων που απασχολούνται σε αυτό. Ε22: SELECT ΚΩΔ_ΕΡΓΟΥ, Ε_ΟΝΟΜΑ, COUNT(*) FROM ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ WHERE ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ GROUP BY ΚΩΔ_ΕΡΓΟΥ, Ε_ΟΝΟΜΑ HAVING COUNT (*) > 2 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-55 ΣΥΓΚΡΙΣΕΙΣ ΣΥΜΒΟΛΟΣΕΙΡΩΝ Ο τελεστής σύγκρισης LIKE χρησιμοποιείται για μερική σύγκριση συνόλων Χρησιμοποιούνται δύο δεσμευμένοι χαρακτήρες: το '%' (ή το '*' σε μερικές υλοποιήσεις) αντικαθιστά ένα αυθαίρετο πλήθος από χαρακτήρες και το '_' αντικαθιστά ένα χαρακτήρα Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

29 ΣΥΓΚΡΙΣΕΙΣ ΣΥΜΒΟΛΟΣΕΙΡΩΝ(συν.) Ερώτηση 25: Να ανακτηθούν όλοι οι εργαζόμενοι με διεύθυνση στο Houston, Texas. Εδώ, η τιμή του γνωρίσματος ΔΙΕΥΘΥΝΣΗ πρέπει να περιέχει την συμβολοσειρά 'Houston,TX. Ε25: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΔΙΕΥΘΥΝΣΗ LIKE '%Houston,TX%' Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-57 ΣΥΓΚΡΙΣΕΙΣ ΣΥΜΒΟΛΟΣΕΙΡΩΝ(συν.) Ερώτηση 26: Nα βρεθούν όλοι οι εργαζόμενοι που γεννήθηκαν την δεκαετία του 50. Εδώ,το '5' πρέπει να είναι ο όγδοος χαρακτήρας της συμβολοσειράς (σύμφωνα με την μορφή της ημερομηνίας), ώστε η τιμή ΗΜ_ΓΕΝ είναι ' 5_', με την υπογράμμιση σαν θέση αυθαίρετα ενός χαρακτήρα. Ε26: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM WHERE ΕΡΓΑΖΟΜΕΝΟΣ ΗΜ_ΓΕΝ LIKE' 5_ Ο τελεστής LIKE μας επιτρέπει να ξεπερνάμε το γεγονός ότι κάθε τιμή θεωρείτε ατομική και μη διαχωρίσιμη Επομένως, στην SQL, οι τιμές των γνωρισμάτων συμβολοσειρών δεν είναι ατομικές Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

30 ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ Στις αριθμητικές τιμές του αποτελέσματος μιας SQL ερώτησης ης μπορούν να εφαρμοσθούν οι τυπικοί αριθμητικοί τελεστές '+', '-'. '*', and '/' (πρόσθεση, αφαίρεση, πολλαπλασιασμό, και διαίρεση, αντίστοιχα) Ερώτηση 27: Nα βρεθούν οι μισθοί που προκύπτουν αν δοθεί αύξηση 10% σε κάθε εργαζόμενο που απασχολείται στο έργο ProductX. Ε27: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, 1.1*ΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ WHERE ΑΡ_ΤΑΥΤ=Ε_ΑΡΤΑΥΤ AND Κ_ΕΡΓΟ=ΚΩΔ_ΕΡΓΟΥ AND Ε_ΟΝΟΜΑ='ProductX Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-59 ORDER BY Η πρόταση ORDER BY χρησιμοποιείται για ταξινόμηση των πλειάδων του αποτελέσματος μιας ερώτησης με βάση τις τιμές κάποιων γνωρισμάτων Ερώτηση 28: Nα κατασκευαστεί μια λίστα εργαζομένων και έργων στα οποία απασχολούνται κατά διάταξη τμήματος, και σε κάθε τμήμα αλφαβητικά ως προς το επίθετο και το όνομα. Ε28: SELECT Τ_ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, Ε_ΟΝΟΜΑ FROM ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ WHERE ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ AND ΑΡ_ΤΑΥΤ=Ε_ΑΡΤΑΥΤ AND Κ_ΕΡΓΟ=ΚΩΔ_ΕΡΓΟΥ ORDER BY Τ_ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

31 ORDER BY (συν.) Η προκαθορισμένη διάταξη είναι αύξουσα σειρά τιμών Αν θέλουμε φθίνουσα σειρά μπορούμε να χρησιμοποιήσουμε τη λέξη κλειδί DESC για να ορισθεί ρητά αύξουσα σειρά μπορούμε να χρησιμοποιήσουμε τη λέξη κλειδί ASC αν και είναι η προκαθορισμένη Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-61 Περίληψη των SQL Ερωτήσεων Μια ερώτηση στην SQL μπορεί να αποτελείται από μέχρι 6 προτάσεις, αλλά μόνο οι δύο πρώτες, SELECT και FROM, είναι υποχρεωτικές. Οι προτάσεις προσδιορίζονται με την παρακάτω σειρά: SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY <λίστα γνωρισμάτων> <λίστα πινάκων> <συνθήκη>] <γνώρισμα(τα) ομαδοποίησης>] <συνθήκη ομάδας>] <λίστα γνωρισμάτων>] Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

32 Περίληψη των SQL Ερωτήσεων(συν.) Η πρόταση SELECT- παραθέτει τα γνωρίσματα ή τις συναρτήσεις που θα ανακτηθούν Η πρόταση FROM- καθορίζει όλες τις σχέσεις (ή τα ψευδώνυμα) που απαιτούνται στην ερώτηση αλλά όχι όσες απαιτούνται στις εμφωλευμένες ερωτήσεις Η πρόταση WHERE-καθορίζει τις συνθήκες για την επιλογή και την συνένωση πλειάδων από σχέσεις που καθορίζονται στην πρόταση FROM GROUP BY καθορίζει γνωρίσματα ομαδοποίησης HAVING καθορίζει την συνθήκη επιλογής των ομάδων ORDER BY καθορίζει την διάταξη παρουσίασης του αποτελέσματος Μια ερώτηση υπολογίζεται με πρώτα εφαρμογή της πρότασης WHERE-, στη συνέχεια η GROUP BY και η HAVING, και τέλος η πρόταση SELECT Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-63 Ενημερώσεις στην SQL Υπάρχουν τρεις SQL εντολές για τροποποίηση της βάσης δεδομένων: INSERT, DELETE, και UPDATE Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

33 INSERT Στην απλούστερη μορφή της, χρησιμοποιείται για εισαγωγή πλειάδων σε μια σχέση Οι τιμές των γνωρισμάτων πρέπει να δοθούν με την ίδια σειρά που ορίσθηκαν στην εντολή CREATE TABLE Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-65 INSERT (συν.) Παράδειγμα: ΕΝ1: INSERT INTO ΕΡΓΑΖΟΜΕΝΟΣ VALUES ('Richard','K','Marini', ' ', '30-DEC-52', '98 Oak Forest,Katy,TX', 'M', 37000,' ', 4 ) Μια εναλλακτική μορφή της INSERT ορίζει ρητά τα ονόματα των γνωρισμάτων που αντιστοιχούν στις τιμές στη νέα πλειάδα Μπορούν να παραληφθούν γνωρίσματα με τιμή NULL Παράδειγμα: Εισαγωγή μιας νέας πλειάδα στη σχέση ΕΡΓΑΖΟΜΕΝΟΣ που ξέρουμε μόνο τα γνωρίσματα ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, και ΑΡ_ΤΑΥΤ attributes. ΕΝ1A: INSERT INTO ΕΓΑΖΟΜΕΝΟΣ (ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΑΡ_ΤΑΥΤ) VALUES ('Richard', 'Marini', ' ') Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

34 INSERT (συν.) Σημείωση: Κατά την ενεημέρωση, επιβάλλονται αυτόματα, από το ΣΔΒΔ, μόνο οι περιορισμοί που προσδιορίζονται στις εντολές της ΓΟΔ Μια άλλη παραλλαγή της INSERT επιτρέπει εισαγωγή πολλών πλειάδων που προκύπτουν από μια ερώτηση σε μια σχέση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-67 INSERT (συν.) Παράδειγμα: Έστω ότι θέλουμε να δημιουργήσουμε ένα προσωρινό πίνακα που έχει το όνομα, το πλήθος των εργαζομένων, και τη συνολική μισθοδοσία για κάθε τμήμα. Δημιουργείται ένας πίνακας ΠΛΗΡ_ΤΜΗΜΑ από την ΕΝ3A, και φορτώνεται με τις πληροφορίες που ανακτώνται από τη βάση δεδομένων από την ερώτηση ΕΝ3B. ΕΝ3A: CREATE TABLE ΠΛΗΡ_ΤΜΗΜΑ (ΤΜ_ΟΝΟΜΑ VARCHAR(10), ΠΛΗΘΟΣ_ΕΡΓ INTEGER, ΟΛΙΚΟΣ_ΜΙΣΘ INTEGER); ΕΝ3B: INSERT INTO ΠΛΗΡ_ΤΜΗΜΑ (ΤΜ_ΟΝΟΜΑ, ΠΛΗΘΟΣ_ΕΡΓ, ΟΛΙΚΟΣ_ΜΙΣΘ) SELECT Τ_ΟΝΟΜΑ, COUNT (*), SUM (ΜΙΣΘΟΣ) FROM ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΚΩΔ_ΤΜΗΜ=ΑΡΙΘ_Τ GROUP BY Τ_ΟΝΟΜΑ ; Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

35 INSERT (συν.) Σημείωση: Ο πίνακας ΠΛΗΡ_ΤΜΗΜΑ μπορεί να μην είναι ενημερωμένος αν αλλάξουμε τις πλειάδες είτε στη σχέση ΤΜΗΜΑ ή στην ΕΡΓΑΖΟΜΕΝΟΣ μετά εκτέλεση της ΕΝ3B. Πρέπει να δημιουργήσουμε μια νέα όψη (θα ορισθεί παρακάτω) για να είναι ένας τέτοιος πίνακας ενημερωμένος μ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-69 DELETE Διαγράφει πλειάδες από μια σχέση Έχει μια πρόταση WHERE- για επιλογή των πλειάδων που θα διαγραφούν Πρέπει να επιβληθεί η αναφορική ακεραιότητα Οι πλειάδες διαγράφονται μόνο από ένα πίνακα τη φορά (εκτός αν έχει ορισθεί αναφορικός περιορισμός ακεραιότητας CASCADE) Έλλειψη της πρότασης WHERE- ορίζει ότι όλες οι πλειάδες της σχέσης θα διαγραφούν ο πίνακας που προκύπτει είναι κενός Το πλήθος των πλειάδων που διαγράφονται εξαρτάται από το πλήθος των πλειάδων της σχέσης που ικανοποιούν την πρόταση WHERE Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

36 DELETE (συν.) Παραδείγματα: ΕΝ4A: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΕΠΙΘΕΤΟ='Brown ΕΠΙΘΕΤΟ=Brown ΕΝ4B: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=' ΕΝ4C: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩΔ_ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research') ΕΝ4D: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-71 UPDATE Χρησιμοποιείται για τροποποίηση τιμών γνωρισμάτων μιας ή περισσότερων πλειάδων Μια πρόταση WHERE επιλέγει τις πλειάδες που θα τροποποιηθούν Μια επιπλέον πρόταση SET καθορίζει τα γνωρίσματα που θα τροποποιηθούν και τις νέες τιμές τους Κάθε εντολή τροποποιεί πλειάδες στην ίδια σχέση Πρέπει να επιβληθούν οι αναφορικοί περιορισμοί ακεραιότητας Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

37 UPDATE (συν.) Παράδειγμα: Να αλλάξει η τοποθεσία και το τμήμα που ελέγχει το έργο 10 σε Bellaire και 5 αντίστοιχα. ΕΝ5: UPDATE ΕΡΓΟ SET ΤΟΠ_ΕΡΓΟΥN = 'Bellaire', Κ_ΤΜΗΜΑ = 5 WHERE ΚΩΔ_ΕΡΓΟΥ=10_ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-73 UPDATE (συν.) Παράδειγμα: Να πάρουν αύξηση στο μισθό 10% όλοι οι εργαζόμενοι στο τμήμα 'Research'. ΕΝ6:UPDATE ΕΡΓΑΖΟΜΕΝΟΣ SET ΜΙΣΘΟΣ = ΜΙΣΘΟΣ *1.1 WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩΔ_ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research') Σε αυτήν, η τροποποιημένη τιμή ΜΙΣΘΟΣ εξαρτάται από την αρχική τιμή ΜΙΣΘΟΣ σε κάθε πλειάδα Η αναφορά στο γνώρισμα ΜΙΣΘΟΣ δεξιά του = αφορά την παλαιά τιμή ΜΙΣΘΟΣ πριν την τροποποίηση Η αναφορά στο γνώρισμα ΜΙΣΘΟΣ αριστερά του = αφορά την νέα τιμή ΜΙΣΘΟΣ μετά την τροποποίηση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

38 Σύνοψη των SQL Ερωτήσεων Μια ερώτηση στην SQL μπορεί να αποτελείται από μέχρι 6 προτάσεις, αλλά μόνο οι δύο πρώτες, SELECT και FROM, είναι υποχρεωτικές. Οι προτάσεις προσδιορίζονται με την παρακάτω σειρά : SELECT <λίστα γνωρισμάτων> FROM <λίστα πινάκων> [WHERE <συνθήκη>] [GROUP BY <γνώρισμα(τα) γ ρ μ ομαδοποίησης>] ης ] [HAVING <συνθήκη ομάδας>] [ORDER BY <λίστα γνωρισμάτων>] Υπάρχουν τρεις SQL εντολές για τροποποίηση βάσεων δεδομένων: INSERT, DELETE, και UPDATE Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 5: SQL Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο

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

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ίαυλος. ιαφάνεια 8-1

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ίαυλος. ιαφάνεια 8-1 ιαφάνεια 8-1 ΣχεδιασµόςκαιΧρήση Βάσεων εδοµένων Μ.Χατζόπουλος (mike@di.uoa.gr) http://www.di.uoa.gr/~ys01 Τετάρτη & Πέµπτη 17-19 ΏρεςγραφείουΤετάρτη, Πέµπτη 16-17 και οποιαδήποτε άλλη ώρα είµαι στο γραφείο

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

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 4: Σχεσιακός Λογισμός Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#5. Σχεσιακό Μοντέλο

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

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

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

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

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων

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

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

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

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

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

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

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

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα

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

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

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

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Τι είδαμε μέχρι τώρα Δύο γλώσσες ερωτήσεων που αποτελούν το θεωρητικό υπόβαθρο Σχεσιακή άλγεβρα: μια άλγεβρα συνόλων που αφορά πράξεις πάνω σε σχέσεις

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

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

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

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

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

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

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

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

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

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

SQL Data Manipulation Language

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 Πράξεις Διαχείρισης Δεδομένων Σχεσιακή Άλγεβρα Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις στο Σχεσιακό

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 3: Σχεσιακή Άλγεβρα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 3: Σχεσιακή Άλγεβρα Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 3: Σχεσιακή Άλγεβρα Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Βάσεις Δεδομένων

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

Lecture 14: SQL DML I

Lecture 14: SQL DML I Department of Computer Science University of Cyprus EPL342 Databases Lecture 14: SQL DML I SQL Structured Query Language (Chapter 8.4, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT.

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

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

DELETE, UPDATE, INSERT

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

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

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

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

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

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1 Κεφάλαιο 15 Αλγόριθμοιγια επεξεργασία ερωτήσεων και βελτιστοποίηση Copyright 2007 Ramez Elmasri and Shamkant

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

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

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

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

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

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

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

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

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

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

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

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

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

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

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

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

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

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

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

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

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

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

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

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

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

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

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

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1 Εισαγωγή Η Γλώσσα SQL Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : Γλώσσα Ορισμού (του σχήματος) Γλώσσα Χειρισμού εδομένων Γλώσσα Τροποποίησης (εισαγωγή, διαγραφή

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Θα

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

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

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

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

Βάσεις εδοµένων 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?

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

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

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

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

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

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

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

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe 1 Θα μιλήσουμε για

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι - 05. SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 05 SQL Μέρος 3 ο (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Πρόσθετες Διαφάνειες σε Προηγούμενα Θέματα...σε Διαγραφή Πλειάδων Σημασιολογία

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