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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

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

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

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

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

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

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

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

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

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

Εισαγωγή. Σχεδιασµός µιας Β

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

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

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

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

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

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

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

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

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

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

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

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

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

καλών σχεσιακών σχημάτων

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

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

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

Κεφ 4: Προχωρημένες Εντολές SQL

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

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

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

Θεωρία Κανονικοποίησης

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

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

καλών σχεσιακών σχημάτων

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

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

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

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση

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

Lecture 8: RM I + RA I

Transcript:

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 (or columns) Στήλες ή ιδιότητες tuples (or rows) Πλειάδες (ή εγγραφές) Database System Concepts - 6 th Edition 2.2 Silberschatz, Korth and Sudarshan

Τύποι Ιδιοτήτων Το σύνολο των επιτρεπόμενων τιμών για κάθε ιδιότητα ονομάζεται πεδίο τιμών (domain) της ιδιότητας Οι τιμές των ιδιοτήτων (συνήθως) απαιτείται να είναι ατομικές, δηλαδή, αδιαίρετες Η ειδική τιμή null είναι μέλος κάθε πεδίου τιμών. Δείχνει ότι η τιμή μας είναι "άγνωστη" Η τιμή null προκαλεί επιπλοκές στον ορισμό πολλών λειτουργιών Database System Concepts - 6 th Edition 2.3 Silberschatz, Korth and Sudarshan

Σχήμα Σχέσης και Στιγμιοτύπου A 1, A 2,, A n είναι ιδιότητες R = (A 1, A 2,, A n ) είναι ένα σχήμα σχέσης Παράδειγμα: instructor = (ID, name, dept_name, salary) Έστω τα σύνολα D 1, D 2,. D n μια σχέση r είναι υποσύνολο του D 1 x D 2 x x D n Άρα, μια σχέση είναι ένα σετ από n-εγγραφές (a 1, a 2,, a n ) όπου a i D i Οι παρούσες τιμές (στιγμιότυπο σχέσης) μιας σχέσης καθορίζονται από έναν πίνακα Ένα στοιχείο t του r είναι μια πλειάδα (tuple), που αναπαριστάται από μια σειρά/εγγραφή στον πίνακα Database System Concepts - 6 th Edition 2.4 Silberschatz, Korth and Sudarshan

Οι Σχέσεις δεν είναι διατεταγμένες Η σειρά των πλειάδων είναι άσχετη (οι πλειάδες μπορούν να αποθηκευτούν με αυθαίρετη σειρά) Παράδειγμα: Η σχέση instructor Database System Concepts - 6 th Edition 2.5 Silberschatz, Korth and Sudarshan

Κλειδιά Έστω K R Το K είναι superkey (υπερ-κλειδί) του R εάν οι τιμές για το K επαρκούν για να αναγνωρίσουν μια μοναδική πλειάδα κάθε πιθανής σχέσης r(r) Π.χ.: Τα {ID} και {ID,name} είναι superkeys της σχέσης instructor. Το Superkey K είναι candidate key (υποψήφιο κλειδί) αν το K είναι ελάχιστο Π.χ.: Το {ID} είναι candidate key της σχέσης Instructor Ένα από τα candidate keys επιλέγεται για πρωτεύον κλειδί (primary key). Ποιο? Περιορισμός ξένου κλειδιού (Foreign key): Τιμές σε μια σχέση να αναφέρονται σε τιμές που πρέπει να υπάρχουν σαν πρωτεύον κλειδί σε άλλη Αναφερόμενη και Αναφερθείσα σχέση Π.χ. Το dept_name στη σχέση instructor είναι foreign key από τη σχέση instructor που αναφέρεται στη σχέση department Database System Concepts - 6 th Edition 2.6 Silberschatz, Korth and Sudarshan

Διάγραμμα Σχήματος για τη ΒΔ Πανεπιστημίου Database System Concepts - 6 th Edition 2.7 Silberschatz, Korth and Sudarshan

Σχεσιακές Γλώσσες Ερωτημάτων Διαδικαστική έναντι μη-διαδικαστικής, ή δηλωτική Καθαρές γλώσσες: Σχεσιακή Άλγεβρα Tuple relational calculus Domain relational calculus Οι παραπάνω 3 καθαρές γλώσσες είναι ισοδύναμες στην υπολογιστική ισχύ Επικεντρωνόμαστε στη σχεσιακή άλγεβρα Μη πλήρης Not turning-machine equivalent 6 βασικοί τελεστές Database System Concepts - 6 th Edition 2.8 Silberschatz, Korth and Sudarshan

Σχεσιακή Άλγεβρα Κεφ. 6.2 Σχεσιακή Άλγεβρα 9

Ορισμοί και Τροποποιήσεις Προγράμματα που απαντούν σε ερωτήσεις για τον παρόν στιγμιότυπο της βάσης δεδομένων (quering) Το σχεσιακό μοντέλο έχει ένα σύνολο από πράξεις -> Σχεσιακή Άλγεβρα ΣΗΜΕΙΩΣΗ: Πέρα από τη σχεσιακή άλγεβρα και τη διατύπωση ερωτήσεων: - ορισμός του σχήματος - τροποποίηση του στιγμιότυπου (εισαγωγή, διαγραφή και τροποποίηση πλειάδων) Σχεσιακή Άλγεβρα 10

Σχεσιακή Άλγεβρα Δύο μαθηματικές γλώσσες ερωτήσεων αποτελούν τη βάση για τις πραγματικές γλώσσες ερωτήσεων (π.χ., SQL) και για την υλοποίησή τους Σχεσιακή Άλγεβρα Ένα σύνολο από πράξεις που όταν εφαρμοστούν σε σχέσεις μας δίνουν νέες σχέσεις Σχεσιακός Λογισμός (calculus) Επιτρέπουν στους χρήστες να περιγράψουν τι θέλουν αλλά όχι πώς να το υπολογίσουν Σχεσιακή Άλγεβρα 11

Σχεσιακή Άλγεβρα Οι πράξεις τις σχεσιακής άλγεβρας: 1. Πράξεις που αφαιρούν κομμάτια από μια σχέση είτε επιλέγοντας γραμμές είτε προβάλλοντας στήλες 2. Οι συνηθισμένες πράξεις συνόλου - ένωση, τομή, διαφορά 3. Πράξεις που συνδυάζουν πλειάδες από δύο σχέσεις 4. Μετονομασία γνωρισμάτων Σχεσιακή Άλγεβρα 12

Η Πράξη της Επιλογής Η πράξη της επιλογής (select) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής σ <συνθήκη επιλογής> (<όνομα σχέσης>) Σχεσιακή Άλγεβρα 13

Η Πράξη της Επιλογής Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής συνθήκη σ <συνθήκη επιλογής> (<όνομα σχέσης>) προτάσεις της μορφής <όνομα γνωρίσματος> <τελεστής σύγκρισης> =, >, <,,, <όνομα γνωρίσματος> ή <σταθερή τιμή από το πεδίο ορισμού του γνωρίσματος> συνδυασμένες με AND, OR, NOT Σχεσιακή Άλγεβρα 14

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

Η Πράξη της Επιλογής Παραδείγματα τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη 1. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών) σ διάρκεια > 100 (Ταινία) τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Σχεσιακή Άλγεβρα 16

Η Πράξη της Επιλογής τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη 2. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών που γυρίστηκαν μετά το 1995 σ διάρκεια > 100 AND χρόνος > 1995 (Ταινία) τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Σχεσιακή Άλγεβρα 17

Η Πράξη της Επιλογής Η συνθήκη επιλογής εφαρμόζεται ανεξάρτητα σε κάθε πλειάδα Ο τελεστής είναι μοναδιαίος Ο βαθμός της σχέσης που προκύπτει ίδιος με τον βαθμό της αρχικής R Πλήθος πλειάδων μικρότερο ή ίσο με την αρχική σχέση: ποσοστό που επιλέγονται - επιλεκτικότητα (selectivity) Σχεσιακή Άλγεβρα 18

Η Πράξη της Προβολής Η πράξη της προβολής (project) Επιλογή συγκεκριμένων στηλών (γνωρισμάτων) π <λίστα γνωρισμάτων> (<όνομα σχέσης>) Σχεσιακή Άλγεβρα 19

Η Πράξη της Προβολής Παραδείγματα τίτλος χρόνος διάρκεια είδος Star Wars 1997 124 έγχρωμη Mighty Ducks 1991 104 έγχρωμη Wayne s World 1992 95 έγχρωμη Σχεσιακή Άλγεβρα 20

Η Πράξη της Προβολής 1. Τίτλος, χρόνος, διάρκεια των ταινιών π τίτλος, χρόνος, διάρκεια (Ταινία) τίτλος χρόνος διάρκεια Star Wars 1997 124 Mighty Ducks 1991 104 Wayne s World 1992 95 Σχεσιακή Άλγεβρα 21

Σχεσιακή Άλγεβρα Παράδειγμα Διάρκειες μεγαλύτερες των 100 λεπτών π διάρκεια (σ διάρκεια > 100 (Ταινία)) διάρκεια 124 104 Σχεσιακή Άλγεβρα 22

Πράξεις Συνόλου Πράξεις συνόλου Ένωση ( ) Τομή ( ) Διαφορά (-) Συμβατότητα ως προς την ένωση Δύo σχέσεις R(A 1, A 2,, A n ) και S(B 1, B 2,, B n ) είναι συμβατές ως προς την ένωση όταν 1. Έχουν τον ίδιο βαθμό n 2. i, dom(a i ) = dom(b i ) Σχεσιακή Άλγεβρα 23

Πράξεις Συνόλου Σύμβαση: η προκύπτουσα σχέση έχει τα ίδια ονόματα με την πρώτη σχέση Απαλοιφή διπλότιμων Σχεσιακή Άλγεβρα 24

Καρτεσιανό Γινόμενο Καρτεσιανό Γινόμενο (ή χιαστί γινόμενο (cross product) ή χιαστί συνένωση (cross join)) R(A 1, A 2,, A n ) x S(B 1, B 2,, B m ) αποτέλεσμα η σχέση Q: Q(A 1, A 2,, A n, B 1, B 2,, B m ) n + m γνωρίσματα n R * n S πλειάδες Σχεσιακή Άλγεβρα 25

Καρτεσιανό Γινόμενο R x S R Α Β 1 2 3 4 S B C D 2 5 6 4 7 8 9 10 11 A R.B S.B C D 1 2 2 5 6 1 2 4 7 8 1 2 9 10 11 3 4 2 5 6 3 4 4 7 8 3 4 9 10 11 Σχεσιακή Άλγεβρα 26

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

Καρτεσιανό Γινόμενο Παράδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει π όνομα, τίτλος, έτος (σ είδος = έγχρωμη AND Παίζει.τίτλος = Ταινία.τίτλος (Παίζει x Ταινία)) AND Παίζει.έτος = Ταινία.έτος ή π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος =Ταινία.έτος (Παίζει x (σ είδος = έγχρωμη (Ταινία))) AND Παίζει.έτος Σχεσιακή Άλγεβρα 28

Συνένωση Φυσική Συνένωση (natural join) συνδυασμός επιλογής και καρτεσιανού γινομένου επί 2 σχέσεων. Εκτελεί επιλογή με ισότητα στις κοινές ιδιοτητες των 2 σχέσεων. Αφαιρεί τις διπλές ιδιότητες. R S ( Π R S (σ <ισότητα σε όλες τις ιδιότητες R S > (R x S) ) Προσεταιριστική πράξη: (R S) Τ R (S Τ ) Σχεσιακή Άλγεβρα 29

Φυσική Συνένωση R S R S Α Β B C D A B C D 1 2 2 5 6 1 2 5 6 3 4 4 7 8 3 4 7 8 9 10 11 Σχεσιακή Άλγεβρα 30

Φυσική Συνένωση U V U V Α Β C 1 2 3 6 7 8 9 7 8 B C D 2 3 4 2 3 5 7 8 10 A B C D 1 2 3 4 1 2 3 5 6 7 8 10 9 7 8 10 Σχεσιακή Άλγεβρα 31

Θήτα Σύνδεσμος Θήτα Σύνδεσμος (theta join) Επιλογή και καρτεσιανό γινόμενο σε μια πράξη R θ S σ θ (R x S) θ: κατηγόρημα με τις ιδιότητες του σχήματος R S Σχεσιακή Άλγεβρα 32

Παράδειγμα R Α Β 1 2 3 4 S B C D 2 5 6 4 7 8 9 10 11 R R.B = S.B S A R.B S.B C D 1 2 2 5 6 3 4 4 7 8 Σχεσιακή Άλγεβρα 33

Εξωτερική Συνένωση Εξωτερική Συνένωση Όταν θέλουμε να κρατήσουμε στο αποτέλεσμα όλες τις πλειάδες - και αυτές που δεν ταιριάζουν) είτε της σχέσης στα αριστερά (αριστερή εξωτερική συνένωση) είτε της σχέσης στα δεξιά (δεξιά εξωτερική συνένωση) R S R S Α C Α B Α C B Α C B Α C B 1 6 1 3 1 6 3 1 6 3 1 6 3 2 4 1 5 1 6 5 1 6 5 1 6 5 3 9 2 4 null 3 null 9 Σχεσιακή Άλγεβρα 34

Σχεσιακή Άλγεβρα Πλήρες σύνολο πράξεων επιλογή (σ) προβολή (π) ένωση ( ) διαφορά (-) καρτεσιανό γινόμενο (x) Επίσης τομή ( ) θ συνένωση ( ) συνένωση ισότητας φυσική συνένωση ( ) Σχεσιακή Άλγεβρα 35

Περίληψη Τελεστών Σχεσιακής Άλγεβρας Σύμβολο (Όνομα) σ (Selection) Π (Projection) x (Cartesian Product) (Union) - (Set Difference) (Natural Join) Παράδειγμα Χρήσης σ salary > = 85000 (instructor) Return rows of the input relation that satisfy the predicate. Π ID, salary (instructor) Output specified attributes from all rows of the input relation. Remove duplicate tuples from the output. instructor x department Output pairs of rows from the two input relations that have the same value on all attributes that have the same name. Π name (instructor) Π name (student) Output the union of tuples from the two input relations. Π name (instructor) -- Π name (student) Output the set difference of tuples from the two input relations. instructor department Output pairs of rows from the two input relations that have the same value on all attributes that have the same name. Database System Concepts - 6 th Edition 2.36 Silberschatz, Korth and Sudarshan