Lecture 8: RM I + RA I

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

Download "Lecture 8: RM I + RA I"

Transcript

1 Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM I + RA I Relational Model + Relational Algebra (Chapter , 6.1 Elmasri-Navathe 7ED) Demetris Zeinalipour 8-1

2 Περιεχόμενο Διάλεξης Κεφάλαιο 5: Το Σχεσιακό Μοντέλο Δεδομένων Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων και Αντιμετώπιση Παραβιάσεων των Περιορισμών Κεφάλαιο 6: Τυπικές Γλώσσες Επεξεργασίας Σχέσεων Εισαγωγή (Σχεσιακή Άλγεβρα, Λογισμός Πλειάδων, Λογισμός Πεδίων), Τύποι Τελεστών Σχεσιακής Άλγεβρας (Μοναδιαίοι, Δυαδικοί, Τελεστές Συνάθροισης, κτλ) Μοναδιαίοι Τελεστές Σχεσιακής Άλγεβρας Τελεστής Επιλογής (σ) και Ιδιότητες Τελεστής Προβολής (π) και Ιδιότητες Τελεστής Μετονομασίας (ρ) 8-2

3 Σχεσιακοί Κανόνες Ακεραιότητας (Relational Integrity Constraints) Μέχρι τώρα είδαμε διαφόρους ορισμούς και τα χαρακτηριστικά τα οποία αφορούν μια Σχέση. Σε μια Σχεσιακή Βάση ωστόσο υπάρχουν πολλές Σχέσεις Θυμηθείτε τις οντότητες και τις συσχετίσεις του ER Μοντέλου οι οποίες αναπαριστώνται και οι δυο σαν Σχέσεις (Πίνακες) στο Σχεσιακό Μοντέλο. Σε μια σχεσιακή βάση υπάρχουν επίσης πολλοί τύποι περιορισμών, οι οποίοι αναφέρονται Σε μια σχέση (π.χ., περιορισμός κλειδιού, πεδίου ορισμού και οντότητας) Σε πολλαπλές σχέσεις (π.χ., περιορισμός αναφορικής ακεραιότητας) 8-3

4 Σχεσιακοί Κανόνες Ακεραιότητας (Relational Integrity Constraints) Σχεσιακοί Περιορισμοί (Relational Constraints) είναι συνθήκες οι οποίες πρέπει να ισχύουν για κάθε έγκυρη κατάσταση σχέσης (state). Στο σχεσιακό μοντέλο υπάρχουν τρεις τύποι περιορισμών: A. Κλειδιού (Key constraints) Άτυπα: Κάθε σχέση έχει ένα πρωτεύων κλειδί. B. Ακεραιότητας Οντοτήτων (Entity integrity constraints) Άτυπα: Το πρωτεύων Κλειδί δεν μπορεί να είναι NULL C. Αναφορικής Ακεραιότητας (Referential integrity constraints) Άτυπα: Εάν μια πλειάδα Α αναφέρεται σε άλλη πλειάδα B τότε η Β πρέπει να υπάρχει. Τέλος, υπάρχει και ο Περιορισμός Πεδίου Ορισμού (Domain Constraint) ο οποίος εξυπακούεται. Η τιμή κάθε πλειάδας πρέπει να ορίζεται στο αντίστοιχο της πεδίο ορισμού (ή μπορεί να είναι NULL, εάν επιτρέπεται για το εν λόγω γνώρισμα) 8-4

5 Σχεσιακοί Κανόνες Ακεραιότητας Περιορισμοί Κλειδιού (Key Constraints) Κλειδί Σχέσης (Relation Key): Ο ελάχιστος αριθμός γνωρισμάτων που προσδιορίζει μοναδικά μια πλειάδα κάποιας σχέσης R. Π.χ., SSN ή StudentID για Student. Εναλλακτικά (και πιο αυστηρά): Υπερκλειδί της R (Superkey of R): Ένα σύνολο γνωρισμάτων SK της R για τα οποία ισχύει το ακόλουθο: Σε κάθε έγκυρη κατάσταση βάσης r(r), δυο διαφορετικές πλειάδες t 1 ¹ t 2 έχουν διαφορετικές τιμές στα γνωρίσματα SK. δηλ., για t 1 ¹ t 2 στο r(r), t 1 [SK] ¹ t 2 [SK] Κλειδί της R (Key of R): Ένα «ελάχιστο» υπερκλειδί 8-5

6 Σχεσιακοί Κανόνες Ακεραιότητας Περιορισμοί Κλειδιού (Key Constraints) Παράδειγμα: Θεωρήστε την Σχήμα Σχέσης CAR : CAR(State, Reg#, SerialNo, Make, Model, Year) Το CAR έχει δυο κλειδιά: Key1 = {State, Reg#}, π.χ., (CA,7D873A) ή (MA,7D873A), Key2 = {SerialNo}, π.χ., a612-a496-4a66-b83a db9 Και τα δυο είναι κλειδιά και υπερκλειδιά του CAR {SerialNo, Make} είναι υπερκλειδί αλλά όχι κλειδί (δεν είναι ελάχιστο) Γενικά: Κάθε κλειδί είναι υπερκλειδί (αλλά όχι το αντίθετο) Οποιοσδήποτε συνδυασμός γνωρισμάτων περιλαμβάνει ένα κλειδί είναι υπερκλειδί. Ένα ελάχιστο υπερκλειδί είναι και κλειδί. Υπερκλειδί Κλειδί 8-6

7 Σχεσιακοί Κανόνες Ακεραιότητας Περιορισμοί Κλειδιού (Key Constraints) Εάν μια σχέση έχει πολλαπλά Εναλλακτικά Κλειδιά (candidate keys), τότε ένα από αυτά επιλέγεται από τον σχεδιαστή ως το Πρωτεύων Κλειδί (Primary key). Τα γνωρίσματα ενός πρωτεύων κλειδιού υπογραμμίζονται. A) Κανόνας Πρωτεύοντος Κλειδιού: Κάθε Σχέση έχει ένα (1) Πρωτεύων Κλειδί. Παράδειγμα: Θεωρήστε την Σχήμα Σχέσης CAR : CAR(State, Reg#, SerialNo, Make, Model, Year) Το πρωτεύων κλειδί SerialNo χρησιμοποιείται Α) Για να ξεχωρίζει μοναδικά κάθε πλειάδα στη σχέση (η ταυτότητα της) Β) Για να αναφερόμαστε σε άλλες σχέσεις από μια πλειάδα. Γενικός Κανόνας: Επιλέξτε ως πρωτεύων κλειδί το μικρότερο εκ των εναλλακτικών κλειδιών (σε άποψη μεγέθους). Π.χ., (State, Reg#) αντί SerialNo (ο οποίος είναι πολύ μεγαλύτερος σε μέγεθος). Βέβαια στο παράδειγμα, SerialNo είναι 1 πεδίο ενώ το (State, EPL342: Reg#) Databases δυο πεδία - Demetris οπόταν Zeinalipour μάλλον (University επιλέγουμε of Cyprus) το SerialNo 8-7

8 Σχεσιακοί Κανόνες Ακεραιότητας Ακεραιότητα Οντοτήτων (Entity Integrity) Β) Κανόνας Ακεραιότητας Οντοτήτων (Entity Integrity) ορίζει ότι τα γνωρίσματα ενός πρωτεύοντος κλειδιού PK ΔΕΝ μπορεί να είναι NULL δηλ., τιμή πρωτεύοντος κλειδιού t[pk]¹null για οποιαδήποτε πλειάδα t που ανήκει στο r(r) Εάν το PK είναι σύνθετο, τότε το NULL δεν επιτρέπεται σε ΚΑΝΕΝΑ από τα γνωρίσματα του PK Π.χ.,WORKS_ON(ESSN, PNO, Hours)//PK είναι σύνθετο (123, 4, 5) OK (123, 4, NULL) (NULL, 4, 5) OK ERROR 8-8

9 Σχεσιακοί Κανόνες Ακεραιότητας Αναφορική Ακεραιότητα (Referential Integrity) Θεωρήστε την N:1 συσχέτιση μεταξύ Employee- Department (χωρίς περιορισμούς συμμετοχής) EMPLOYEE N WORKS_ 1 FOR Είχαμε αναφέρει ότι σε N:1 συσχετίσεις το κλειδί της οντότητας στη πλευρά του 1 γίνεται γνώρισμα στη πλευρά του N, συνεπώς: Σχέση που Aναφέρει (Referencing Relation) Ξένο Κλειδί Π.χ., EMPLOYEE(ssn, name, dno) (Foreign Key) Σχέση που Αναφέρεται (Referenced Relation) Πρωτεύων Κλειδί Π.χ., DEPARTMENT(dno, name, location) (Foreign Key) Το dno της σχέσης EMPLOYEE ονομάζεται ξένο κλειδί (foreign key) και έχει τα ακόλουθα χαρακτηριστικά Α) Έχει το ίδιο πεδίο ορισμού με το αντίστοιχο πεδίο του DEPARTMENT B) Έχει EPL342: τιμή ή είναι Databases NULL -(εάν Demetris επιτρέπεται Zeinalipour κάτι (University τέτοιο από of το Cyprus) σχήμα) DEPARTMENT 8-9

10 Σχεσιακοί Κανόνες Ακεραιότητας Αναφορική Ακεραιότητα (Referential Integrity) Γ) Κανόνας Αναφορικής Ακεραιότητας (Referential Integrity) ορίζει ότι τα ξένα κλειδιά (FK) πρέπει να είναι είτε υπαρκτά ή NULL Π.χ., EMPLOYEE(SSN, Fname, Lname, Dno) (123, Costas, Ioannou, 5) OK (υπάρχει το 5) (123, Costas, Ioannou, NULL) OK (εφόσον επιτρέπεται NULL) (123, Costas, Ioannou, 1000) ERROR (ΔΕΝ υπάρχει το 1000) Νοείται, ότι στη περίπτωση που το FK είναι μέρος του PK μιας σχέσης (FK PK), τότε to FK δεν μπορεί να είναι NULL (κανόνας πρωτεύοντος κλειδιού) Π.χ., DEPENDENT(ESSN,Dname,Sex,Bdate,Relation) 8-10

11 Σχεσιακοί Κανόνες Ακεραιότητας Αναφορική Ακεραιότητα (Referential Integrity) Αναφερόμενη Αναφερόμενη Αναφέρει Αναφερόμενη ναφέρει Αναφέρει Αναφέρει Αναφέρει Διαγραμματική Αναπαράσταση Αναφορικών Περιορισμών Ακεραιότητας Αναφέρει 8-11

12 Σχεσιακοί Κανόνες Ακεραιότητας Άλλοι Περιορισμοί (Other Constraints) Κανόνες Σημασιολογικής Ακεραιότητας (Semantic Integrity Constraints): Στηρίζονται σε έννοιες που σχετίζονται με την εφαρμογή όχι το μοντέλο και τα οποία ΔΕΝ μπορούν να διατυπωθούν από το Σχεσιακό Μοντέλο Π.χ., «Ο μέγιστος αριθμός ωρών ενός υπαλλήλου σε ένα project είναι 56» Για την διατύπωση αυτών των περιορισμών χρειάζονται εξειδικευμένες εκφράσεις. Η SQL-99 επιτρέπει την χρήση ελέγχων (CHECK), σκανδαλών (triggers) και βεβαιώσεων (assertions) CREATE TABLE (. integer hours; CHECK hours<=56;) Εφαρμόζεται σε περιπτώσεις μιας σχέσης. CREATE ASSERTION CHECK (NOT EXIST (.)) Εφαρμόζεται σε περιπτώσεις πολλαπλών σχέσεων. CREATE TRIGGER a BEFORE INSERT ON EMP sendmail(); EPL342: Εφαρμόζεται Databases σε περιπτώσεις - Demetris επιθυμίας Zeinalipour αντίδρασης (University σε διάφορα of Cyprus) γεγονότα. 8-12

13 Πράξεις Ενημερώσεων στο Σχεσιακό Μοντέλο Μια βάση δεδομένων έχει μια συνεπή αρχική κατάσταση Συγκεκριμένα, πληρούνται όλοι οι περιορισμοί όπως ορίστηκαν από τον σχεδιαστή. Όποτε η βάση αλλάζει προκύπτει μια νέα της κατάσταση. Οι βασικές πράξεις για αλλαγή της κατάστασης μιας βάσης δεδομένων είναι : INSERT: Εισαγωγή νέας πλειάδας στη σχέση. DELETE: Διαγραφή Υφιστάμενης(ων) Πλειάδας(ων) MODIFY: Τροποποίηση πεδίων συγκεκριμένης(ων) πλειάδων Η επόμενη διαφάνεια δείχνει την αρχική κατάσταση της UNIVERSITY DB που θα χρησιμοποιηθεί στη συζήτηση Θεωρήστε ότι ισχύουν οι κανόνες ακεραιότητας (κλειδιού, οντότητας, και αναφοράς) που συζητήθηκαν νωρίτερα. 8-15

14 Αρχική Κατάσταση Βάσης UNIVERSITY * Περιορισμός Κλειδιού / Οντοτητας * Αναφορικός Περιορισμός * * 8-16

15 Αρχική Κατάσταση Βάσης EMPLOYEE (SSN) UNIVERSITY * Αναφορικός Περιορισμός * * Περιορισμός Κλειδιού / Οντοτητας * 8-17

16 Πράξεις Ενημερώσεων στο Σχεσιακό Μοντέλο Τι γίνεται σε περιπτώσεις παραβίασης των κανόνων ακεραιότητας από μια πράξη; Α) (Default Πράξη) Ακύρωση πράξης. NO ACTION Β) Επιτρέπεται η πράξη (σπάνια) αλλά ενημερώνεται ο χρήστης Μπορεί να συμβεί σε άπλες περιπτώσεις μόνο (π.χ., εάν υπάρχει περιορισμός TELEPHONE NOT NULL). Δεν μπορεί να συμβεί σε περιπτώσεις κανόνων ακεραιότητας (κλειδιού, οντότητας, αναφοράς) και γενικά δεν υποστηρίζεται. Γ) Εκτέλεση επιπλέον λειτουργιών. Π.χ., Στην SQL υπάρχει η έννοια του CASCADE, SET NULL, SET DEFAULT. Π.χ., CREATE TABLE EMPLOYEE (. CONSTRAINT MGR FOREIGN KEY(Super_ssn) REFERENCES EMPLOYEE(ssn) ON DELETE SET NULL ON UPDATE CASCADE Εάν σβηστεί o Supervisor τότε ο Emp.Super_ssn γίνεται NULL Εάν ενημερωθεί το SSN του Supervisor τότε ο Emp.Super_ssn (σχέσεων EPL342: που Databases την αναφέρουν) - Demetris Zeinalipour ενημερώνεται (University επίσης. of Cyprus) 8-18

17 Πράξεις Ενημερώσεων στο Σχεσιακό Μοντέλο To INSERT μπορεί να παραβιάζει όλους τους περιορισμούς: Πεδίου Ορισμού: π.χ., EMPLOYEE(SSN:integer): εισαγωγή (123.3) (πραγματικού αριθμού) Κλειδιού: π.χ., EMPLOYEE(SSN): εισαγωγή (123), όπου η σχέση EMPLOYEE περιέχει ήδη το 123, π.χ., {1,2,4,123,300} Αναφορικής Ακεραιότητας: π.χ., EMPLOYEE(SSN, DNO): εισαγωγή (123, 1000), θεωρώντας ότι το DNO 1000 δεν υπάρχει. Οντότητας: π.χ., EMPLOYEE(SSN, Name): εισαγωγή (NULL, Costas ) 8-19

18 Πράξεις Ενημερώσεων στο Σχεσιακό Μοντέλο To DELETE μπορεί να παραβιάζει τους ακόλουθους περιορισμούς: Πεδίου Ορισμού: ΟΧΙ Κλειδιού: ΟΧΙ Αναφορικής Ακεραιότητας: Π.χ., εάν η εγγραφή που διαγράφεται αναφέρεται από άλλη σχέση. Όπως αναφέραμε ήδη, η αναφορική ακεραιότητα μπορεί να επιβληθεί στην SQL με χρήση των επιπλέον ενεργειών: CASCADE, SET NULL, SET DEFAULT Οντότητας: ΟΧΙ 8-20

19 Πράξεις Ενημερώσεων στο Σχεσιακό Μοντέλο To UPDATE απόèπρος μπορεί να παραβιάζει τους ακόλουθους περιορισμούς: Πεδίου Ορισμού: π.χ., EMPLOYEE(SSN:integer): ενημέρωση 121è123.0 (πραγματικού αριθμού) Κλειδιού: Π.χ., EMPLOYEE(SSN):ενημέρωση 121è123, όπου η σχέση περιέχει ήδη το 123, π.χ., {1,2,4,123,300} Αναφορικής Ακεραιότητας: π.χ., EMPLOYEE(SSN, DNO): ενημέρωση (1,5)è(1,1000), θεωρώντας ότι το DNO 1000 δεν υπάρχει ενώ το 5 υπάρχει. Οντότητας: Π.χ., EMPLOYEE(SSN): ενημέρωση 1èΝULL 8-21

20 Τυπικές Γλώσσες Σχεσιακού Μοντέλου (Formal Languages for the Relational Model) Για την εκτέλεση επερωτήσεων σε σχέσεις ορίζονται οι ακόλουθες τυπικές (θεωρητικές) γλώσσες: Σχεσιακή Άλγεβρα (Relational Algebra) Λογισμός Πλειάδων (Tuple Relational Calculus) Λογισμός Πεδίων (Domain Relational Calculus) Αυτές οι γλώσσες είναι εκφραστικά ισοδύναμες! Δηλαδή μπορούν να εκφράσουν αντίστοιχες επερωτήσεις. Οποιαδήποτε γλώσσα είναι εκφραστικά ισοδύναμη με την Σχεσιακή Άλγεβρα ονομάζεται Σχεσιακά Πλήρης Γλώσσα (Relationally-Complete Language) Η SQL είναι μια relationally complete γλώσσα 8-22

21 Τυπικές Γλώσσες Σχεσιακού Μοντέλου (Formal Languages for the Relational Model) Πάνω σε αυτές τις θεωρητικές γλώσσες έχουν δημιουργηθεί πραγματικές γλώσσες βάσεων δεδομένων (π.χ., SQL, QBE) Σχεσιακή Άλγεβρα (Relational Algebra) Προστακτική: ορίζεται η σειρά εκτέλεσης των πράξεων. Μια Επερώτηση του χρήστη σε SQL μεταφράζεται από την βάση σε μια έκφραση σχεσιακής άλγεβρας, το λεγόμενο πλάνο εκτέλεσης (query plan). Λογισμός Πλειάδων (Tuple Calculus) Δηλωτική: δεν ορίζεται η σειρά εκτέλεσης των πράξεων απλά το επιθυμητό αποτέλεσμα, Η SQL στηρίζεται πάνω στην δηλωτική φύση του Λογισμού Πλειάδων εάν SQL επερωτήσεις εκτελούνται σαν εκφράσεις Σχεσιακής Άλγεβρας Λογισμός Πεδίων (Domain Calculus) Όμοια με Λογισμό Πλειάδων (οι μεταβλητές είναι γνωρίσματα και όχι πλειάδες) Δηλωτική και πάνω σ αυτή στηρίζεται η QBE Υλοποιείται ΙΒΜ QMF, MS Access και Paradox, κ.α. 8-23

22 Τυπικές Γλώσσες Σχεσιακού Μοντέλου (Formal Languages for the Relational Model) Παράδειγμα SQL (πραγματικής γλώσσας βάσης) SELECT fname, lname, salary FROM EMPLOYEE WHERE dno=5 Παράδειγμα Σχεσιακής Άλγεβρας: TEMP s DNO=5 (EMPLOYEE) RESULT p FNAME, LNAME, SALARY (TEMP) Παράδειγμα Λογισμού Πλειάδων: { t.fname, t.lname, t.salary EMPLOYEE(t) AND t.dno=5} H πιο πάνω έκφραση ονομάζεται Set Builder Notation (Σημειογραφία Δημιουργίας Συνόλων) {<γνωρίσματα αποτελέσματος> <συνθήκες>} Παράδειγμα Λογισμού Πεδίων: Όμοια με Λογισμό Πλειάδων (οι μεταβλητές είναι γνωρίσματα περιορισμοί στο πεδίο ορισμού - και όχι πλειάδες) { qsx EMPLOYEE(qrstuvwxyz) AND z=5} Η έκφραση σε QBE (η οποία υλοποιεί το πιο πάνω) δεν διαφέρει ουσιαστικά (μπορεί να είναι διαγραμματική ωστόσο) Δηλωτική διατύπωση, Προστακτική εκτέλεση Προστακτική διατύπωση & εκτέλεση Δηλωτική διατύπωση & εκτέλεση Δηλωτική διατύπωση & εκτέλεση 8-24

23 Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα αποτελείται από ένα βασικό σύνολο πράξεων (τελεστών) για το σχεσιακό μοντέλο. Είναι ουσιαστικά η πιο διαδεδομένη τυπική γλώσσα του Σχε. Μοντ. Αυτοί οι τελεστές επιτρέπουν σε κάποιο να διατυπώσει βασικές πράξεις ανάκτησης, δηλ., επερωτήσεις (queries). Το αποτέλεσμα εκτέλεσης ΟΛΩΝ των τελεστών μας επιστρέφει πίσω μια νέα σχέση, η οποία μπορεί να δημιουργείται από 1 ή περισσότερες σχέσεις εισόδου. Αυτή η ιδιότητα κάνει την Σχεσιακή Άλγεβρα «Κλειστή» ( closed ), δηλ., ΌΛΑ τα αντικείμενα στη σχεσιακή άλγεβρα είναι σχέσεις (ακόμη και μια απλή αριθμητική τιμή) Έκφραση σχεσιακής άλγεβρας (Relational Algebra Expression): Ακολουθία εφαρμογής τελεστών πάνω σε σχέσεις, π.χ., p FNAME, LNAME, SALARY (s DNO=5 (EMPLOYEE)) 8-25

24 Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, s (sigma)) Προβολή (Project, p (pi)) Μετονομασία (Rename, r (rho)) Σχεσιακοί Τελεστές από την Θεωρία Συνόλων Ένωση (UNION, È), Τομή (INTERSECTION, Ç ), Διαφορά Συνόλων (DIFFERENCE ή MINUS, ) Καρτεσιανό Γινόμενο (CARTESIAN PRODUCT, x ) Δυαδικοί Σχεσιακοί Τελεστές (Binary Relational Ops) Συνένωση (JOIN, )(υπάρχουν πολλαπλές εκδοχές) Εφόσον το δεν υποστηρίζεται σαν σύμβολο θα χρησιμοποιείται το Ä Διαίρεση (DIVISION, /) Επιπλέον Σχεσιακοί Τελεστές Συναρτήσεις Συνάθροισης AGGREGATE FUNCTIONS (π.χ., SUM, COUNT, AVG, MIN, MAX) Εξωτερική Συνένωση, κ.α., (OUTER JOINS) 8-26

25 Μοναδιαίοι Τελεστές Επιλογή (σ) Ο Τελεστής Επιλογής (συμβολίζεται με s (sigma)) χρησιμοποιείται για να επιλέξουμε ένα υποσύνολο των πλειάδων μιας σχέσης βάσει κάποιου κριτηρίου επιλογής (selection condition) s <Κριτήρια Επιλογής> (R) Το κριτήριο επιλογής λειτουργεί ως φίλτρο (δηλ., επιστρέφει μόνο τις πλειάδες που ικανοποιούν την συνθήκη) Π.χ., : Εύρεση των EMPLOYEE που δουλεύουν στο department 4: s DNO = 4 (EMPLOYEE) Εύρεση των EMPLOYEE που έχουν μισθό πάνω από $30,000: s SALARY > 30,000 (EMPLOYEE) 8-27

26 Μοναδιαίοι Τελεστές Επιλογή (σ) s <Κριτήρια Επιλογής> (R) Το κριτήριο επιλογής αποτελείται από μια (1) ή περισσότερες προτάσεις (clauses) της μορφής: Κριτήριο Επιλογής := <όνομα γνωρίσματος> <τελεστής> <σταθερή τιμή όνομα γνωρίσματος> Τελεστής: Δυαδικός Τελεστής Σύγκρισης {<,>,=,!=, >=, <=} Οι προτάσεις μπορεί να συνδέονται με Λογικούς Τελεστές: AND ή OR Π.χ., s DNO = 4 AND SALARY > 30,000 (EMPLOYEE) 8-28

27 Μοναδιαίοι Τελεστές Επιλογή (σ) Ιδιότητες Τελεστή Επιλογής (σ) 1. Ο τελεστής s <selection condition> (R) παράγει μια νέα σχέση S ή οποία έχει το ίδιο σχήμα με την R, όπου S == R και r(s) <= r(r) Ισχύει η αντιμεταθετική ιδιότητα (commutative) : s <condition1> (s <condition2> (R)) = s <condition2> (s <condition1> (R)) Επίσης, μπορούμε να διαδώσουμε (cascade) μια επιλογή δηλ., s <cond1> (s <cond2> (s <cond3> (R)) = s <cond2> (s <cond3> (s <cond1> ( R))) π.χ., s <dno=5> (s <fname= Chris > (s <sex= M > (EMPLOYEE)) = s <fname= Chris > (s <sex= M > (s <dno=5> (EMPLOYEE)) Επίσης, μια διάδοση τελεστών σ μπορεί να αντικατασταθεί από μια και μόνο επιλογή η οποία θα είναι η σύζευξη όλων των συνθηκών: δηλ., s <cond1> (s < cond2> (s <cond3> (R)) = s <cond1> AND < cond2> AND < cond3> (R))) π.χ., s <dno=5> AND <fname= Chris > AND <sex= M > (EMPLOYEE) 8-29

28 Μοναδιαίοι Τελεστές Παραδείγματα Επιλογής (σ) Δεδομένα Επερώτηση Αποτέλεσμα 8-30

29 Μοναδιαίοι Τελεστές Προβολή (π) Ο Τελεστής Προβολής συμβολίζεται με p (pi)) χρησιμοποιείται για να επιλέξουμε ένα υποσύνολο γνωρισμάτων μιας σχέσης: p Attribute1,Attribute2,,AttributeN (R) Συνεπώς, ο τελεστής αυτός μπορεί να ειδωθεί σαν μια κατακόρυφη διαμέριση (vertical partitioning) της αρχικής σχέσης R Π.χ., : Ανάκτησε όλα τα Επίθετα, Ονόματα, Μισθούς των EMPLOYEE p LNAME, FNAME,SALARY (EMPLOYEE) Ο τελεστής προβολής διαγράφει εξ ορισμού τα διπλότυπα (duplicate tuple elimination) Αυτό διότι το αποτέλεσμα ΠΡΕΠΕΙ να είναι ΣΥΝΟΛΟ πλειάδων και όπως αναφέραμε τα σύνολα δεν επιτρέπουν τα διπλότυπα. 8-31

30 Μοναδιαίοι Τελεστές Προβολή (π) Ιδιότητες Τελεστή Προβολής π 1. Ο τελεστής π <Attributes> (R) παράγει μια νέα σχέση S για την οποία ισχύει S <= R αλλά και r(s) <= r(r) (λόγω της ενδεχόμενης διαγραφής διπλοτύπων) Εάν το Attribute περιλαμβάνει κάποιο κλειδί της R τότε r(s) == r(r) Προφανώς, και στις δυο πιο πάνω περιπτώσεις ο αριθμός των γνωρισμάτων του S είναι υποσύνολο του R. 2. Ο τελεστής π ΔΕΝ είναι αντιμεταθετικός (not commutative): p <list1> (p <list2> (R) ) = p <list2> (p <list1> (R) ) Το πιο πάνω ισχύει ΜΟΝΟ εάν list1 list2 π.χ., p <ssn,fname,dno> (p <ssn,fname,lname,dno> (EMPLOYEE)) ΣΩΣΤΟ π.χ., p <ssn,fname,lname,dno> (p <ssn,fname,dno> (EMPLOYEE)) ΛΑΘΟΣ 3. Η Προβολή μπορεί να αντιμετατεθεί με την Επιλογή σε ορισμένες περιπτώσεις 8-32

31 Μοναδιαίοι Τελεστές Παραδείγματα Προβολής (π) Δεδομένα Διπλότυπα Επερώτηση Αποτέλεσμα 7 εγγραφές αντί 8 εγγραφές (λογω duplicates) 8-33

32 Εκφράσεις Σχεσιακής Άλγεβρας (Relational Algebra Expressions) Οι εκφράσεις σχεσιακής άλγεβρας μπορούν να διατυπωθούν κατά τους ακόλουθους τρόπους: A) Μια έκφραση η οποία θα αποτελείται από εμφωλευμένες (nested) εκφράσεις: Π.χ., p FNAME, LNAME, SALARY (s DNO=5 (EMPLOYEE)) Β) Πολλαπλές εκφράσεις με επί μέρους αποτελέσματα Π.χ., TEMP s DNO=5 (EMPLOYEE) RESULT p FNAME, LNAME, SALARY (TEMP) Στην Β περίπτωση πρέπει να δηλώσουμε ονόματα για τα ενδιάμεσα αποτελέσματα. 8-34

33 Μοναδιαίοι Σχεσιακοί Τελεστές Τελεστής RENAME Σε ορισμένες περιπτώσεις θέλουμε να μετονομάσουμε τα γνωρίσματα μιας σχέσης ή τη σχέση (ή και τα δυο) Χρήσιμο όταν μια επερώτηση χρειάζεται πολλαπλές πράξεις Απαραίτητα σε ορισμένες περιπτώσεις (π.χ., joins). Ο τελεστής Μετονομασίας (RENAME) μπορεί να χρησιμοποιείται καθ οποιοδήποτε απ τους πιο κάτω τρόπους: r S (B1, B2,, Bn) (R): Αλλαγή Ονόματος Σχέσης από R σε S B1, B2,, Bn: Νέα Ονόματα Γνωρισμάτων r S (R) Αλλαγή Ονόματος Σχέσης από R σε S r (B1, B2,, Bn ) (R): Για επερωτήσεις δεν χρησιμοποιείται γενικά B1, B2,, Bn: Νέα Ονόματα Γνωρισμάτων Αποτελέσματος r R (a->b) (R) Αλλαγή Ονόματος Γνωρίσματος R.a σε R.b 8-35

34 Δεδομένα Μοναδιαίοι Σχεσιακοί Τελεστές Τελεστής RENAME No Renaming (A) p FNAME, LNAME, SALARY ( s DNO=5 (EMPLOYEE) ) With Renaming (B) TEMP s DNO=5 (EMPLOYEE) R(First_Name, Last_Name, Salary) p FNAME, LNAME, SALARY (TEMP) 8-36

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στη Σχεσιακή Άλγεβρα

Εισαγωγή στη Σχεσιακή Άλγεβρα Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, (sigma)) Προβολή (Project, (pi)) Μετονομασία (Rename,

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

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

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

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

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

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

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

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

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

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

Lecture 16: SQL DML III

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

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

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

Διάλεξη 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,

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

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συσχετίσεις, Ρόλοι και Δομικοί Περιορισμοί

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην Κανονικοποιήση Άτυπες κατευθύνσεις για Σχεδιασμό

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

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, Ελληνική Έκδοση Θα

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του

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

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

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

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

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

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

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

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

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

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

Βάσεις Δεδομένων Ενότητα 6

Βάσεις Δεδομένων Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 5: ER II Data Modeling Using the ER Model (Chapter 3.4-3.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

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

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

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

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

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

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

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός Μαθ. #12 Η κυρίως διαφορά µεταξύ «σχεσιακού λογισµού» και «σχεσιακής άλγεβρας» είναι η ακόλουθη ηλωτική vs. ιαδικαστική Τι vs. Πως Η εκφραστική δύναµη των δυο γλωσσών

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

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

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

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

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1 Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός 06/06/2009 Μ.Χατζόπουλος 1 Αρχιτεκτονική Τριών Σχημάτων ΕΞΩΤΕΡΙΚΟ ΕΠΙΠΕΔΟ Τελικοί Χρήστες Εξωτερική Όψη 1 Εξωτερική Όψη n ΕΝΝΟΙΟΛΟΓΙΚΟ ΕΠΙΠΕΔΟ ΕΝΝΟΙΟΛΟΓΙΚΟ

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED) Department of Computer Science University of Cyprus EPL342 Databases Lecture 7: RM I Relational Data Model (Chapter 5.1-5.2, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

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

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

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

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

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

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

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: SQL Data Definition Language Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Επιπρόσθετοι Περιορισμοί Παραδείγματα/Ασκήσεις Διδάσκων: Παναγιώτης Ανδρέου EPL342:

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 4: ER I Data Modeling Using the ER Model (Chapter 3.1-3.3, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές) Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη 1 Σχεσιακή Άλγεβρα Η σχεσιακή άλγεβρα (relational

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 10.1, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

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

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

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

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

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

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

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

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

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

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

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

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

Lecture 23: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 23: Functional Dependencies and Normalization Normalization and Normal Forms (Chapter 10.3-10.4, Elmasri-Navathe 5ED) ιδάσκων:

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

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

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

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

Σχεδιασμός μιας Β : Βήματα

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικοποιήση (Normalization) και Κανονικές Μορφές (Normal

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

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

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

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

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Κλειδιά (keys) Key (κλειδί) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Σούπερκλειδί (superkey) Ένα πεδίο ορισµού ή

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

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

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

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

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