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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

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

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

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

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

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

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

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

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

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

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

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

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

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

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

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

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

Κεφάλαιο 6. Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

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

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

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

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

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

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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


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

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

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

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

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

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό


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

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

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

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

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

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

#1.1 Τι είναι η Βάση Δεδομένων

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

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

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

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

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

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

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

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

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

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

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

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


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

Transcript:

Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 2 Σχεσιακή Άλγεβρα Το σύνολο των πράξεων που υποστηρίζει το σχεσιακό μοντέλο δεδομένων Διακρίνουμε δύο κατηγορίες πράξεων: Συνολοθεωρητικές: Βασίζονται στο γεγονός ότι οι σχέσεις είναι σύνολα πλειάδων Παράδειγμα: Ένωση, Διαφορά, Τομή Πράξεις ειδικές για σχεσιακές βάσεις δεδομένων: Επιλογή, Προβολή και πιο πολύπλοκες πράξεις όπως η Συνένωση Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 3 Συνολοθεωρητικές Πράξεις Πράξεις από τη μαθηματική θεωρία συνόλων, που μπορούν να εφαρμοστούν επειδή κάθε σχέση είναι ουσιαστικά ένα σύνολο πλειάδων Ένωση Τομή Διαφορά Καρτεσιανό Γινόμενο Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 4 Ειδικές Πράξεις Πράξεις που αναπτύχθηκαν ειδικά για Σχεσιακές Βάσεις Δεδομένων και περιλαμβάνουν μεταξύ άλλων Επιλογή (Select) Προβολή (Project) Συνένωση (Join) Εκφράσεις ΕΚΦΡΑΣΗ της Σχεσιακής Άλγεβρας: Μια ακολουθία πράξεων της Σχεσιακής Άλγεβρας Αποτέλεσμα: Οι πράξεις εφαρμόζονται σε σχέσεις και το το αποτέλεσμα τους είναι επίσης μια σχέση Επιπλέον Πράξεις: Μερικές συνήθεις απαιτήσεις από τις Σχεσιακές ΒΔ δεν μπορούν να ικανοποιηθούναπότις βασικές πράξεις Σχεσιακής Άλγεβρας και για αυτό ορίζονται επιπλέον πράξεις όπως είναι Μέσος Όρος Μέγιστο... Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 5 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 6 1

Πράξη Επιλογής (SELECT) Επιλογή: Επιλέγει ένα υποσύνολο των πλειάδων μιας σχέσης Κριτήριο επιλογής: Ηεπιλογήτων πλειάδων γίνεται με βάση μια ΣΥΝΘΗΚΗ ΕΠΙΛΟΓΗΣ Η επιλογή είναι ένα είδους ΦΙΛΤΡΟ που κρατά μόνο τις επιθυμητές Συνθήκη Επιλογής Συνθήκη επιλογής: μια λογική παράσταση (έκφραση Boole) που προσδιορίζεται πάνω στα γνωρίσματα της σχέσης Παραδείγματα: 1. Φοιτητές που ανήκουν στο Τμήμα 1 2. Φοιτητές που από το 3 Εξάμηνο και πάνω ή 3. Ταυτόχρονα και τα δύο Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 7 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 8 Τελεστής Select ΟτελεστήςSELECT είναι μοναδιαίος: Εφαρμόζεται σε μια σχέση Για κάθε πλειάδα υπολογίζεται η συνθήκη και επιλέγονται όλες οι για τις οποίες ισχύει η συνθήκη Ο βαθμός της σχέσης που προκύπτει είναι ίσος με τον βαθμό της αρχικής σχέσης. Ο πληθάρισμος της σχέσης είναι <= από την αρχική. Επιλεκτικότητα Συνθήκης (Selectivity) Το ποσοστό των πλειάδων που επιλέγονται. Αντιμεταθετική Πράξη Επιλογής: Είναι ΑΝΤΙΜΕΤΑΘΕΤΙΚΗ! Πχ ΦΟΙΤΗΤΕΣ του τμήματος 4 και ΦΟΙΤΗΤΕΣπουμένουνστηνΞάνθη Από μια σχέση - ΠΙΝΑΚΑ η πράξη ΕΠΙΛΟΓΗ επιλέγει γραμμές, αντίθετα η πράξη ΠΡΟΒΟΛΗ, επιλέγει στήλες Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 9 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 10 Παρατήρηση Δενπρέπεινασυγχέουμετοντελεστή Select της σχεσιακής άλγεβρας με την εντολή SELECT της γλώσσας SQL Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 11 Προβολή (Project) Προβολή: Αν μας ενδιαφέρουν ορισμένα μόνο γνωρίσματα μιας σχέσης, τότε χρησιμοποιούμε την ΠΡΟΒΟΛΗ για να "προβάλουμε" τη σχέση στα γνωρίσματα αυτά Παραδείγματα: Μια κατάσταση από τη Γραμματεία για το βαθμολόγιο του μαθήματος: ΠΡΟΒΟΛΗ με γνωρίσματα ΑΜ, Όνομα, Επίθετο, Εξάμηνο Μια κατάσταση Επίθετο, Εξάμηνο ΠΡΟΒΟΛΗ με τα γνωρίσματα Επίθετο Εξάμηνο ΠΡΟΣΟΧΗ μπορεί να υπάρχουν ΔΙΠΛΑ! τα οποία κόβονται εξορισμού. Στην πράξη (SQL) είναι στην ευχέρεια του προγραμματιστή να επιλέξει να επιτρέπει διπλά ή όχι στο αποτέλεσμα της πράξης (λέξη κλειδί DISTINCT της SQL) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 12 2

Τελεστής Προβολής ΣΥΜΒΟΛΙΣΜΟΣ π_(επιθετο, ΕΞΑΜΗΝΟ) (ΦΟΙΤΗΤΗΣ) π_<λίστα γνωρισμάτων> (R) Το R είναι μια σχέση ή οποιαδήποτε έκφραση σχεσιακής άλγεβρας Η ΠΡΟΒΟΛΗ δημιουργεί μια νέα σχέση που έχει μόνο τα γνωρίσματα που προσδιορίζονται στο <λίστα γνωρισμάτων> και με την ίδια διάταξη που αυτά εμφανίζονται στη λίστα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 13 ΔΙΠΛΕΣ ΠΛΕΙΑΔΕΣ Διπλές : Αν η λίστα των γνωρισμάτων δεν είναι υπερκλειδί, μπορεί να εμφανιστούν διπλές ή πολλαπλές Στο σχεσιακό μοντέλο δεδομένων δεν επιτρέπονται διπλές Εξ'ορισμού η πράξη της ΠΡΟΒΟΛΗΣ απομακρύνει τα διπλά (απαλοιφή διπλότυπων - duplicate elimination) Στην SQL μπορούμε να αποφασίσουμε εμείς τον χειρισμό των διπλών πλειάδων ΒΑΘΜΟΣ: Ο αριθμός των γνωρισμάτων της ΠΡΟΒΟΛΗΣ ΠΛΗΘΟΣ ΠΛΕΙΑΔΩΝ μετά την απαλοιφή: Αν τα γνωρίσματα είναι υπερκλειδί, είναι ίσος με τον αριθμό πλειάδων της αρχικής σχέσης Δεν ισχύει η αντιμεταθετικότητα!! (Άσκηση: Δώστε ένα παράδειγμα όπου δεν ισχύει ) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 14 Συνολοθεωρητικές Πράξεις Πράξεις Ένωση Τομή Διαφορά Απαιτείται συμβατότητα πλειάδων!! Καρτεσιανό Γινόμενο Συνδυάζει από δύο σχέσεις ώστε να αναγνωριστούν οι που σχετίζονται Γενικά το αποτέλεσμα της πράξης R(A1,A2,..,An) X S(B1,B2,..,Bm) είναι μια σχέση Q με n+m γνωρίσματα Q(A1,A2,..,An,B1,..,Bm) με αυτή τη σειρά. Η Q έχει μία πλειάδα για κάθε συνδυασμό πλειάδων, και επομένως έχει n_q = n_r * n_s Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 15 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 16 Παράδειγμα Έστω ότι θέλουμε να πάρουμε για κάθε ΕΡΓΑΖΟΜΕΝΗ μιαλίσταμεόλαταεξαρτώμεναμέλητης. ΓΥΝ_ΕΡΓΑΖ <- σ_(φυλλο = "Θ")(ΕΡΓΑΖΟΜΕΝΟΣ) ΟΝΟΜ_ΕΡΓΑΖ <- π_(ονομα,επιθετο,ατ) (ΓΥΝ_ΕΡΓΑΖ) ΕΞΑΡΤ_ΕΡΓΑΖ <- ΟΝΟΜ_ΕΡΓΑΖ Χ ΕΞΑΡΤΩΜΕΝΟΣ ΠΡΑΓΜ_ΕΞΑΡΤ <- σ_(ατ = Ε_ΑΤ) (ΕΑΞΡ_ΕΡΓΑΖ) ΑΠΟΤΕΛΕΣΜΑ <- π_(ονομα,επιθετο,ονομα_εξαρτωμενου) (ΠΡΑΓΜ_ΕΞΑΡΤ) Συνένωση (Join) Η πράξη ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ συχνά ακολουθείται από την πράξη ΕΠΙΛΟΓΗ ώστε να επιλεγούν οι έχουν κάποιο συγκεκριμένο νόημα Μια πράξη: ΣΥΝΕΝΩΣΗ Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 17 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 18 3

Συνένωση (2) Συμβολίζεται με δύο τριγωνάκια: >< Συνδέει σχετιζόμενες από δύο σχέσεις Επιτρέπει την επεξεργασία των συσχετίσεων ΠΑΡΑΔΕΙΓΜΑ (σελ. 292): Θέλουμε το όνομα του διευθυντή κάθε τμήματος. Παράδειγμα Πρέπει να συνδυάσουμε κάθε πλειάδα τμήματος με την πλειάδα του ΕΡΓΑΖΟΜΕΝΟΣ στην οποία ΑΤ είναι ίδια με την τιμή του ΔΙΕΥΘΥΝΤΗΣ στην πλειάδα τμήματος ΔΙΕΥΘ_ΤΜΗΜ <- ΤΜΗΜΑ >< _(ΔΙΕΘΥΝΤΗΣ=ΑΤ) ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΟΤΕΛΕΣΜΑ <- π_(τ_ονομα,ονομα,επιθετο)(διευθ_τμημ) Σημειώνουμε ότι ο ΔΙΕΥΘΥΝΤΗΣ είναι "Ξένο Κλειδί" καιεπομένωςοπεριορισμόςαναφορικήςακεραιότητας παίζει ρόλο. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 19 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 20 Γενική Μορφή Συνένωσης R >< _<συνθήκη συνένωσης> S Αποτέλεσμα Q με n+m γνωρίσματα Περιέχει όλες τις του Καρτεσιανού Γινομένου για τις οποίες ικανοποιείται η συνθήκη συνένωσης Η συνθήκη συνένωσης αποτιμάται σε γνωρίσματα των δύο σχέσεων R και S Πλειάδεςτωνοποίωνταγνωρίσματασυνένωσηςέχουν τιμή NULL δεν εμφανίζονται στη ΣΥΝΕΝΩΣΗ ΑΡΑ η συνένωση δεν διατηρεί υποχρεωτικά όλη την πληροφορία των σχέσεων που συμμετέχουν!!! Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 21 Περιπτώσεις Συνένωσης ΘΗΤΑ ΣΥΝΕΝΩΣΗ (THETA JOIN): Συνένωση στην πολύ γενική μορφή της ΣΥΝΕΝΩΣΗ ΙΣΟΤΗΤΑΣ (EQUIJOIN), ηπιο συνηθισμένη περίπτωση Δίνει στις οποίες δύο ή περισσότερα γνωρίσματα έχουν την ίδια τιμή. ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ (NATURAL JOIN) Για να μην εμφανίζεται άσκοπα το γνώρισμα συνένωσης δύο φορές στο αποτέλεσμα, ορίζεται η Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 22 Φυσική Συνένωση (Natural Join) Συμβολίζεται με αστεράκι * Τυπικάταδύογνωρίσματαθαπρέπειναέχουντοίδιο όνομα (ή μπορεί τυπικά μετονομαστεί ένα από τα δύο): ΕΡΓΟ_ΤΜΗΜΑ <- ΕΡΓΟ * P(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜΑ, ΔΙΕΥΘΥΝΤΗΣ, ΗΜΕΡ_ΕΝΑΡΞ) ΤΜΗΜΑ Το γνώρισμα ΚΩΔ_ΤΜΗΜΑ ονομάζεται "Γνώρισμα Συνένωσης". Ουσιαστικά η ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ είναι μια συνένωση ισότητας ακολουθούμενη από απαλοιφή των γνωρισμάτων που πλεονάζουν. Φυσική Συνένωση (2) Ένας πιο γενικός και όχι τόσο αυστηρός ορισμός της ΦΥΣΙΚΗΣ ΣΥΝΕΝΩΣΗΣ είναι: Q <- R *_(<λίστα1>,<λίστα2>) S λίστα1: i γνωρίσματα από την R λίστα2: i γνωρίσματα από την S Μόνο η λίστα1 διατηρείται στο αποτέλεσμα Ανκανέναςσυνδυασμόςδενικανοποιείτις συνθήκες συνένωσης, το αποτέλεσμα είναι μια κενή σχέση με μηδέν Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 23 Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 24 4

Επιλεκτικότητα Συνένωσης Το μέγεθος του αποτελέσματος συνένωσης δια του μέγιστου μεγέθους n_r * n_s Αν δεν υπάρχει <συνθήκη συνένωσης> είναι ουσιαστικά το Καρτεσιανό Γινόμενο ή ΧΙΑΣΤΙ ΣΥΝΕΝΩΣΗ (CROSS JOIN) Η Συνένωση συνδυάζει δεδομένα από πολλές σχέσεις σε μία νέα σχέση Μπορεί να οριστεί ΣΥΝΕΝΩΣΗ σχέσης με τον εαυτό της Φυσική Συνένωση ή Συνένωση Ισότητας μπορεί να ορισθεί και για n πίνακες: ((ΕΡΓΟ >< _(Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜΑ) ΤΜΗΜΑ) >< _(ΔΙΕΥΘΥΝΤΗΣ=ΑΤ) ΕΡΓΑΖΟΜΕΝΟΣ) Συνδέει κάθε ΕΡΓΟ με το ΤΜΗΜΑ που το ελέγχει και στη συνέχεια αυτό με τον ΔΙΕΥΘΥΝΤΗ που διευθύνει το ΤΜΗΜΑ. Αποτέλεσμα: έργο-τμήμα-διευθυντής Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 25 Σχεσιακό Σχήμα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 26 Πηγές/Αναφορές Κεφάλαιο 6 απότοβιβλίοτουμαθήματος: Θεμελιώσεις Αρχές Συστημάτων Βάσεων Δεδομένων (Τόμος Α' - Έκδοση 4η), Elmasri & Navathe (Μετάφραση: Εκδόσεις ΔΙΑΥΛΟΣ) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 27 5