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

Σχετικά έγγραφα
Βάσεις Δεδομένων (Databases)

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

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

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

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

Lecture 8: RM I + RA I

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

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

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

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

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

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

ΗΥ360: Αρχεία και Βάσεις Δεδομένων Διδάσκων: Πλεξουσάκης Δημήτρης. Φροντιστήριο Σχεσιακή Άλγεβρα Δημητράκη Κατερίνα

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

Σχεσιακή Άλγεβρα Relational Algebra

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

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

Query-by-Example (QBE)

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

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

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

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

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός

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

Lecture 14: SQL DML I

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

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

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

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

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

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

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

Lecture 16: SQL DML III

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ

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

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

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

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

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

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

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

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

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

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

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

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

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

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

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

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

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

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

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

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

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

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

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

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

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

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

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

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

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

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

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

Transcript:

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

Εισαγωγή Η Σχεσιακή Άλγεβρα (Relational Algebra) και ο Σχεσιακός Λογισμός (Codd 71) είναι τυπικές γλώσσες που σχετίζονται με το σχεσιακό μοντέλο Επιτρέπουν την δημιουργία επερωτήσεων πάνω σε σχέσεις Ο Σχεσιακός Λογισμός (Relational Calculus) μετράει τη δύναμη μίας σχεσιακής γλώσσας Αν μία γλώσσα μπορεί να δημιουργήσει/εκφράσει οποιαδήποτε σχέση που εξάγεται από το Σχεσιακό Λογισμό τότε αυτή είναι Σχεσιακά Πλήρης Ο σχεσιακός λογισμός αποτελείτε από δύο είδη λογισμών Λογισμός Πλειάδων (Tuple Relational Calculus) Λογισμός Πεδίων (Domain Relational Calculus) EPL342: Databases Panayiotis Andreou 2013 2

Γλώσσες Βάσεων Δεδομένων Σχεσιακή Άλγεβρα (Relational Algebra) Προστακτική: ορίζεται η σειρά εκτέλεσης των πράξεων. Μια Επερώτηση του χρήστη σε SQL μεταφράζεται από την βάση σε μια έκφραση σχεσιακής άλγεβρας, το λεγόμενο πλάνο εκτέλεσης (query plan). Λογισμός Πλειάδων (Tuple Calculus) Δηλωτική: δεν ορίζεται η σειρά εκτέλεσης των πράξεων απλά το επιθυμητό αποτέλεσμα, Η SQL στηρίζεται πάνω στην δηλωτική φύση του Λογισμού Πλειάδων εάν SQL επερωτήσεις εκτελούνται σαν εκφράσεις Σχεσιακής Άλγεβρας Λογισμός Πεδίων (Domain Calculus) Όμοια με Λογισμό Πλειάδων (οι μεταβλητές είναι γνωρίσματα και όχι πλειάδες) Δηλωτική και πάνω σ αυτή στηρίζεται η QBE Υλοποιείται ΙΒΜ QMF, MS Access και Paradox, κ.α. Πάνω σε αυτές τις θεωρητικές γλώσσες έχουν δημιουργηθεί πραγματικές γλώσσες βάσεων δεδομένων (π.χ., SQL, QBE) EPL342: Databases Panayiotis Andreou 2013 3

Γλώσσες Βάσεων Δεδομένων (συν.) Επερώτηση: Τύπωσε το FNAME (Όνομα), LNAME (Επίθετο) και το SALARY (Μισθό) του κάθε EMPLOYEE που εργάζεται στο τμήμα 5 Παράδειγμα Σχεσιακής Άλγεβρας: TEMP DNO=5 (EMPLOYEE) RESULT FNAME, LNAME, SALARY (TEMP) Παράδειγμα Λογισμού Πλειάδων: { t.fname, t.lname, t.salary EMPLOYEE(t) AND t.dno=5} H πιο πάνω έκφραση ονομάζεται Set Builder Notation (Σημειογραφία Δημιουργίας Συνόλων) {<γνωρίσματα αποτελέσματος> <συνθήκες>} Παράδειγμα Λογισμού Πεδίων Ορισμού: { (F,L,S,D) (F,L,S,D) EMPLOYEE ^ D=5} Παρόμοια με Λογισμό Πλειάδων (οι μεταβλητές είναι γνωρίσματα οι περιορισμοί εκφράζονται στο πεδίο ορισμού) Οι εκφράσεις σε QBE { flsd EMPLOYEE(flsd) and d=5} βασίζονται στο πιο πάνω EPL342: Databases Panayiotis Andreou 2013 4

Σχεσιακή Άλγεβρα Άτυπος Ορισμός: Υψηλού επιπέδου διαδικαστική γλώσσα επερωτήσεων στο σχεσιακό μοντέλο Ουσιαστικά η πιο διαδεδομένη τυπική γλώσσα του ΣΜ Ορίζει σειρά εκτέλεσης των πράξεων (προστακτική) Η Σχεσιακή Άλγεβρα είναι Κλειστή (closed), δηλ., ΌΛΑ τα αντικείμενα στη σχεσιακή άλγεβρα Είναι Σχέσεις (ακόμη και μια απλή αριθμητική τιμή) Το αποτέλεσμα εκτέλεσης ΟΛΩΝ των τελεστών μας επιστρέφει πίσω μια νέα σχέση, η οποία μπορεί να δημιουργείται από 1 ή περισσότερες σχέσεις εισόδου. Παράδειγμα Έκφρασης στην Σχεσιακή Άλγεβρα π PERSON_ID,NAME ( σ GENDER= F ( PERSON)) EPL342: Databases Panayiotis Andreou 2013 5

Τελεστές στην Σχεσιακή Άλγεβρα 5 Βασικοί Τελεστές: Επιλογή (Selection), Προβολή (Projection), Καρτεσιανό Γινόμενο (Cartesian Product), Ένωση (Union), Αφαίρεση (Division) Επιπρόσθετοι Τελεστές: Δυαδικός Σχεσιακός Τελεστής (Join), Τομή (Intersection), και Διαίρεση (Division) που μπορούν να εκφραστούν με τους 5 βασικούς τελεστές Ενεργούν πάνω σε μία ή περισσότερες σχέσεις Δεν επηρεάζουν της πρότυπες σχέσεις Η είσοδος και έξοδος είναι σχέσεις Επιτρέπουν φωλιασμένες εκφράσεις όπως την αριθμητική Επιτρέπουν ομαδοποίηση (π.χ., φοιτητές ανά έτος) και συναθροιστικές πράξεις (π.χ., Min, Max, Sum, AVERAGE) EPL342: Databases Panayiotis Andreou 2013 6

Σύνοψη Τελεστών/Πράξεων (Σχεσιακής Άλγεβρας) Ένωση/Union ( ) Τομή/Intersec on ( ) Αφαίρεση/ Set Difference ( ) Καρτεσιανό Γινόμενο/ Cartesian Product (x) EPL342: Databases Panayiotis Andreou 2013 7

Σύνοψη Τελεστών/Πράξεων (Σχεσιακής Άλγεβρας) A R B a 1 b 2 c 4 R x S S B C 1 x 2 y 3 z A B B C a 1 1 x a 1 2 y a 1 3 z b 2 1 x b 2 2 y b 2 3 z c 4 1 x c 4 2 y c 4 3 z R.. S A B C a 1 x b 2 y Συνένωση Θ/ Θ Join ( ) R A S B c 4 Αντι Συνένωση / Anti Join ( ) R R S A B C a 1 x b 2 y Φυσική Συνένωση/ Natural Join (*) S A B C a 1 x b 2 y c 4 Αριστερή Εξ. Συνένωση/ Left (Outer) Join ( ) R A S B a 1 b 2 Ημι Συνένωση / Semi Join ( ) R S A B C a 1 x b 2 y c 4 3 z Ολική Εξ. Συνένωση/ Full (Outer) Join ( ) EPL342: Databases Panayiotis Andreou 2013 8

Σύνοψη Τελεστών/Πράξεων (Σχεσιακής Άλγεβρας) Διαίρεση ( ) S_P SID PID s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 P S PID SID p1 s1 = p2 p3 p4 S P PID = SID s1 p1 s2 p2 S P SID PID = s1 p2 s2 s3 s4 EPL342: Databases Panayiotis Andreou 2013 9

Εκφράσεις στην Σχεσιακή Άλγεβρα Οι εκφράσεις σχεσιακής άλγεβρας μπορούν να διατυπωθούν κατά τους ακόλουθους τρόπους: A. Μια έκφραση η οποία θα αποτελείται από εμφωλευμένες (nested) εκφράσεις: Π.χ., FNAME, LNAME, SALARY DNO=5 (EMPLOYEE)) B. Πολλαπλές εκφράσεις με επί μέρους αποτελέσματα Π.χ., TEMP DNO=5 (EMPLOYEE) RESULT FNAME, LNAME, SALARY (TEMP) EPL342: Databases Panayiotis Andreou 2013 10

Μοναδιαίοι Τελεστές (Unary Relational Operators) Είσοδος: Μία σχέση Έξοδος: Μία νέα σχέση Η Σχεσιακή Άλγεβρα παρέχει τους ακόλουθους Μοναδιαίους Σχεσιακούς Τελεστές Επιλογή (Selection): σ Προβολή (Projection): π Μετονομασία (Rename): ρ R R R S Επιλογή/Selection (σ) Προβολή/Projection (π) Μετονομασία/Rename (ρ) EPL342: Databases Panayiotis Andreou 2013 11

Μοναδιαίοι Τελεστές: Επιλογή/Selection (σ) σ <συνθήκη/ες> (R) Είσοδος: Μία σχέση R Έξοδος: Νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδες (γραμμές) της R οι οποίες ικανοποιούν την συνθήκη (ες) Παράδειγμα: σ GENDER= F (PERSON) PERSON PERSON_ID NAME GENDER 1 Andreas M 2 Kostas M 3 Maria F 4 Eleni F PERSON PERSON_ID NAME GENDER 3 Maria F 4 Eleni F EPL342: Databases Panayiotis Andreou 2013 12

Μοναδιαίοι Τελεστές: Επιλογή/Selection (σ) Αν υπάρχουν πολλές Συνθήκες/Κριτήρια Επιλογής τότε διαχωρίζονται με λογικούς τελεστές: AND, OR Π.χ,. GENDER= F AND PERSON_ID>3 Ισχύει η αντιμεταθετική ιδιότητα (commutative) Π.χ,. σ GENDER= F (σ PERSON_ID>3 (PERSON)) ισοδύναμο με σ PERSON_ID>3 (σ GENDER= F (PERSON)) Μία φωλιασμένη διάδοση τελεστών μπορεί να αντικατασταθεί με μία σύζευξη όλων των τελεστών με AND Π.χ,. σ GENDER= F (σ PERSON_ID>3 (PERSON)) ισοδύναμο με σ PERSON_ID>3 AND GENDER= F (PERSON)) EPL342: Databases Panayiotis Andreou 2013 13

Μοναδιαίοι Τελεστές: Προβολή/Projection (π) π <γνωρίσματα> (R) Είσοδος: Μία σχέση R Έξοδος: Νέα σχέση η οποία περιλαμβάνει μόνο τα γνωρίσματα της R που αναφέρονται μέσα στο σύνολο < > Παράδειγμα: π PERSON_ID,NAME (PERSON) PERSON PERSON_ID NAME GENDER 1 Andreas M 2 Kostas M 3 Maria F 4 Eleni F PERSON PERSON_ID NAME 1 Andreas 2 Kostas 3 Maria 4 Eleni EPL342: Databases Panayiotis Andreou 2013 14

Μοναδιαίοι Τελεστές: Προβολή/Projection (π) ΠΡΟΣΟΧΗ: Ο τελεστής προβολής διαγράφει εξ ορισμού τα διπλότυπα Αυτό διότι το αποτέλεσμα ΠΡΕΠΕΙ να είναι ΣΥΝΟΛΟ πλειάδων και τα σύνολα δεν επιτρέπουν τα διπλότυπα Η αντιμεταθετική ιδιότητα δεν ισχύει πάντα. Γιατί; Π.χ,. π GENDER ( π PERSON_ID,NAME (PERSON) ) Ισχύει μόνο όταν τα γνωρίσματα της εξωτερικής προβολής είναι υποσύνολο των γνωρισμάτων της εσωτερικής προβολής Το ίδιο πρόβλημα ισχύει με τη συνεργασία με τον τελεστή της επιλογής (σ) Π.χ,. π GENDER ( σ PERSON_ID>3 (PERSON) ): Ορθό σ PERSON_ID>3 ( π GENDER (PERSON) ): Λάθος Γιατί; EPL342: Databases Panayiotis Andreou 2013 15

Μοναδιαίοι Τελεστές: Μετονομασία/Rename (ρ) ρ <νέο όνομα σχέσης (νέα ονόματα χαρακτηριστικών)> (R) Είσοδος: Μία σχέση R Έξοδος: Νέα σχέση η οποία είναι ταυτόσημη (σχήμα και δεδομένα) με την R άλλα έχει διαφορετικό όνομα σχέσης ή/και χαρακτηριστικών Δεν είναι υποχρεωτικό να μετονομάζουμε πάντα τα χαρακτηριστικά Παράδειγμα: ρ TEMP(TEMP_ID,TNAME,TGENDER) (PERSON) PERSON PERSON_ID NAME GENDER 1 Andreas M 2 Kostas M 3 Maria F 4 Eleni F TEMP TEMP_ID TNAME TGENDER 1 Andreas M 2 Kostas M 3 Maria F 4 Eleni F EPL342: Databases Panayiotis Andreou 2013 16

Τελεστές Συνόλων (Set Operators) Είσοδος: Δύο σχέσεις Έξοδος: Μία νέα σχέση Η Σχεσιακή Άλγεβρα παρέχει τους ακόλουθους Τελεστές Συνόλων Ένωση/Union: Αφαίρεση/ Set Difference: Τομή/Intersection: Καρτεσιανό Γινόμενο/ Cartesian Product: x Ένωση/Union ( ) Αφαίρεση/ Set Difference ( ) Τομή/Intersec on ( ) Καρτεσιανό Γινόμενο/ Cartesian Product (x) EPL342: Databases Panayiotis Andreou 2013 17

Τελεστές Συνόλων: Ένωση/Union ( ) Είσοδος: Δύο Σχέσεις: R, S Έξοδος: Νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδες από τις σχέσεις R και S R Προϋπόθεση: Οι σχέσεις R και S πρέπει να έχουν τα ίδια γνωρίσματα (αριθμός και τύπος) Παράδειγμα:R STUDENT SID SNAME 1 Andreas 2 Kostas 3 Maria 4 Eleni r(student)=4 S TEACHER TID TNAME 1 Andreas 2 Anna r(teacher)=2 S STUDENT_TEACHER?????? 1 Andreas 2 Kostas 3 Maria 4 Eleni 2 Anna r(student_teacher)=??? EPL342: Databases Panayiotis Andreou 2013 18

Τελεστές Συνόλων: Αφαίρεση/Set Difference ( ) Είσοδος: Δύο Σχέσεις: R, S Έξοδος: Νέα σχέση η οποία περιλαμβάνει μόνο τις πλειάδες της R που δεν υπάρχουν στην S R Προϋπόθεση: Οι σχέσεις R και S πρέπει να έχουν τα ίδια γνωρίσματα (αριθμός και τύπος) Παράδειγμα:R STUDENT SID SNAME 1 Andreas 2 Kostas 3 Maria 4 Eleni r(student)=4 S TEACHER TID TNAME 1 Andreas 2 Anna r(teacher)=2 S STUDENT_TEACHER SID SNAME 2 Kostas 3 Maria 4 Eleni r(student_teacher)=3 EPL342: Databases Panayiotis Andreou 2013 19

Άλλοι Τελεστές Συνόλων: Τομή/Intersection ( ) R S = ( (R S) (R S) (S R) ) Είσοδος: Δύο Σχέσεις: R, S Έξοδος: Νέα σχέση η οποία περιλαμβάνει μόνο τις όμοιες πλειάδες που υπάρχουν στις σχέσεις R,S Προϋπόθεση: Οι σχέσεις R και S πρέπει να έχουν τα ίδια γνωρίσματα (αριθμός και τύπος) Παράδειγμα:R S STUDENT SID SNAME 1 Andreas 2 Kostas 3 Maria 4 Eleni r(student)=4 TEACHER TID TNAME 1 Andreas 2 Anna r(teacher)=2 STUDENT_TEACHER?????? 1 Andreas r(student_teacher)=??? EPL342: Databases Panayiotis Andreou 2013 20

Άλλοι Τελεστές Συνόλων: Συμμετρική Διαφορά ( ) R S = (R S) (S R) Είσοδος: Δύο Σχέσεις: R, S Έξοδος: Νέα σχέση η οποία περιλαμβάνει μόνο τις πλειάδες της R που δεν υπάρχουν στην S και αντίστροφα Προϋπόθεση: Οι σχέσεις R και S πρέπει να έχουν τα ίδια γνωρίσματα (αριθμός και τύπος) Παράδειγμα:R r(student)=4 S r(teacher)=2 STUDENT_TEACHER SID SNAME 2 Kostas 3 Maria 4 Eleni 2 Anna r(student_teacher)=??? EPL342: Databases Panayiotis Andreou 2013 21

Τελ. Συν.: Καρτεσιανό Γινόμ. /Cartesian Product (x) R x S Είσοδος: Δύο Σχέσεις: R, S Έξοδος: Νέα σχέση η οποία περιλαμβάνει το σύνολο όλων των συνδυασμών πλειάδων μεταξύ R και S Πρακτικά, χρησιμοποιείται για να εξηγηθεί ο σημαντικός τελεστής της συνένωσης JOIN) Το μεταξύ δυο σχέσεων βαθμού μεγαλυτέρου του 2, π.χ., R(A 1, A 2,..., A n ) x S(B 1, B 2,..., B m ), μας επιστρέφει μια νέα σχέση βαθμού n+m Πόσες πλειάδες έχει η νέα σχέση; n*m πλειάδες Οι σχέσεις R, S δεν χρειάζεται να συμφωνούν στον τύπο. EPL342: Databases Panayiotis Andreou 2013 22

Παραδείγματα/Ασκήσεις E: EMPLOYEE SSN NAME DOB GENDER DNO 1 Andreas 1/1/80 M 1 2 Kostas 1/1/85 M 1 3 Maria 4/3/83 F 1 D: DEPARTMENT DNO DNAME 1 Finance 2 Audit 3 Management 4 Eleni 6/7/85 F 2 5 Victoria 27/2/84 F 3 Τύπωσε τα ονόματα των Τμημάτων Τύπωσε όνομα και dno των υπάλληλων που είναι γυναίκες Τι θα τυπώσει το εξής: σ GENDER= F ( π SSN,ΝΑΜΕ (E) ) Τύπωσε όλα τα ονόματα της βάσης δεδομένων Τύπωσε τα τμήματα των υπαλλήλων που έχουν γεννηθεί το 85 Τύπωσε όλα τα ονόματα των υπαλλήλων που έχουν SSN που υπάρχει σαν αριθμός τμήματος EPL342: Databases Panayiotis Andreou 2013 23