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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

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

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

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

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


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

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

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

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

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

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

Transcript:

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

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

Σχεσιακή Άλγεβρα Το σύνολο των πράξεων που υποστηρίζει το σχεσιακό μοντέλο δεδομένων Διακρίνουμε δύο κατηγορίες πράξεων: Συνολοθεωρητικές: Βασίζονται στο γεγονός ότι οι σχέσεις είναι σύνολα πλειάδων Παράδειγμα: Ένωση, Διαφορά, Τομή Πράξεις ειδικές για σχεσιακές βάσεις δεδομένων: Επιλογή, Προβολή και πιο πολύπλοκες πράξεις όπως η Συνένωση Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 3

Συνολοθεωρητικές Πράξεις Πράξεις από τη μαθηματική θεωρία συνόλων, που μπορούν να εφαρμοστούν επειδή κάθε σχέση είναι ουσιαστικά ένα σύνολο πλειάδων Ένωση Τομή Διαφορά Καρτεσιανό Γινόμενο Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 4

Ειδικές Πράξεις Πράξεις που αναπτύχθηκαν ειδικά για Σχεσιακές Βάσεις Δεδομένων και περιλαμβάνουν μεταξύ άλλων Επιλογή (Select) Προβολή (Project) Συνένωση (Join) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 5

Εκφράσεις ΕΚΦΡΑΣΗ της Σχεσιακής Άλγεβρας: Μια ακολουθία πράξεων της Σχεσιακής Άλγεβρας Αποτέλεσμα: Οι πράξεις εφαρμόζονται σε σχέσεις και το το αποτέλεσμα τους είναι επίσης μια σχέση Επιπλέον Πράξεις: Μερικές συνήθεις απαιτήσεις από τις Σχεσιακές ΒΔ δεν μπορούν να ικανοποιηθούν από τις βασικές πράξεις Σχεσιακής Άλγεβρας και για αυτό ορίζονται επιπλέον πράξεις όπως είναι Μέσος Όρος Μέγιστο... Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 6

Πράξη Επιλογής (SELECT) Επιλογή: Επιλέγει ένα υποσύνολο των πλειάδων μιας σχέσης Κριτήριο επιλογής: Η επιλογή των πλειάδων γίνεται με βάση μια ΣΥΝΘΗΚΗ ΕΠΙΛΟΓΗΣ Η επιλογή είναι ένα είδους ΦΙΛΤΡΟ που κρατά μόνο τις επιθυμητές πλειάδες Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 7

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

Τελεστής Select ΟτελεστήςSELECT είναι μοναδιαίος: Εφαρμόζεται σε μια σχέση Για κάθε πλειάδα υπολογίζεται η συνθήκη και επιλέγονται όλες οι πλειάδες για τις οποίες ισχύει ησυνθήκη Ο βαθμός της σχέσης που προκύπτει είναι ίσος με τον βαθμό της αρχικής σχέσης. Οπληθάρισμοςτηςσχέσηςείναι<= από την αρχική. Επιλεκτικότητα Συνθήκης (Selectivity) Το ποσοστό των πλειάδων που επιλέγονται. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 9

Αντιμεταθετική Πράξη Επιλογής: Είναι ΑΝΤΙΜΕΤΑΘΕΤΙΚΗ! Πχ ΦΟΙΤΗΤΕΣ του τμήματος 4 και ΦΟΙΤΗΤΕΣ που μένουν στην Ξάνθη Από μια σχέση - ΠΙΝΑΚΑ η πράξη ΕΠΙΛΟΓΗ επιλέγει γραμμές, αντίθετα η πράξη ΠΡΟΒΟΛΗ, επιλέγει στήλες Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 10

Παρατήρηση Δεν πρέπει να συγχέουμε τον τελεστή Select της σχεσιακής άλγεβρας με την εντολή SELECT της γλώσσας SQL Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 11

Προβολή (Project) Προβολή: Αν μας ενδιαφέρουν ορισμένα μόνο γνωρίσματα μιας σχέσης, τότε χρησιμοποιούμε την ΠΡΟΒΟΛΗ για να "προβάλουμε" τη σχέση στα γνωρίσματα αυτά Παραδείγματα: Μια κατάσταση από τη Γραμματεία για το βαθμολόγιο του μαθήματος: ΠΡΟΒΟΛΗ με γνωρίσματα ΑΜ, Όνομα, Επίθετο, Εξάμηνο Μια κατάσταση Επίθετο, Εξάμηνο ΠΡΟΒΟΛΗ με τα γνωρίσματα Επίθετο Εξάμηνο ΠΡΟΣΟΧΗ μπορεί να υπάρχουν ΔΙΠΛΑ! τα οποία κόβονται εξορισμού. Στην πράξη (SQL) είναι στην ευχέρεια του προγραμματιστή να επιλέξει να επιτρέπει διπλά ή όχι στο αποτέλεσμα της πράξης (λέξη κλειδί DISTINCT της SQL) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 12

Τελεστής Προβολής ΣΥΜΒΟΛΙΣΜΟΣ π_(επιθετο, ΕΞΑΜΗΝΟ) (ΦΟΙΤΗΤΗΣ) π_<λίστα γνωρισμάτων> (R) Το R είναι μια σχέση ή οποιαδήποτε έκφραση σχεσιακής άλγεβρας Η ΠΡΟΒΟΛΗ δημιουργεί μια νέα σχέση που έχει μόνο τα γνωρίσματα που προσδιορίζονται στο <λίστα γνωρισμάτων> και με την ίδια διάταξη που αυτά εμφανίζονται στη λίστα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 13

ΔΙΠΛΕΣ ΠΛΕΙΑΔΕΣ Διπλές πλειάδες: Αν η λίστα των γνωρισμάτων δεν είναι υπερκλειδί, μπορεί να εμφανιστούν διπλές ή πολλαπλές πλειάδες Στο σχεσιακό μοντέλο δεδομένων δεν επιτρέπονται διπλές πλειάδες Εξ'ορισμού η πράξη της ΠΡΟΒΟΛΗΣ απομακρύνει τα διπλά (απαλοιφή διπλότυπων - duplicate elimination) Στην SQL μπορούμε να αποφασίσουμε εμείς τον χειρισμό των διπλών πλειάδων ΒΑΘΜΟΣ: Ο αριθμός των γνωρισμάτων της ΠΡΟΒΟΛΗΣ ΠΛΗΘΟΣ ΠΛΕΙΑΔΩΝ μετά την απαλοιφή: Αν τα γνωρίσματα είναι υπερκλειδί, είναι ίσος με τον αριθμό πλειάδων της αρχικής σχέσης Δεν ισχύει η αντιμεταθετικότητα!! (Άσκηση: Δώστε ένα παράδειγμα όπου δεν ισχύει ) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 14

Συνολοθεωρητικές Πράξεις Πράξεις Ένωση Τομή Διαφορά Απαιτείται συμβατότητα πλειάδων!! Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 15

Καρτεσιανό Γινόμενο Συνδυάζει πλειάδες από δύο σχέσεις ώστε να αναγνωριστούν οι πλειάδες που σχετίζονται Γενικά το αποτέλεσμα της πράξης 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 πλειάδες Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 16

Παράδειγμα Έστω ότι θέλουμε να πάρουμε για κάθε ΕΡΓΑΖΟΜΕΝΗ μιαλίσταμεόλαταεξαρτώμεναμέλητης. ΓΥΝ_ΕΡΓΑΖ <- σ_(φυλλο = "Θ")(ΕΡΓΑΖΟΜΕΝΟΣ) ΟΝΟΜ_ΕΡΓΑΖ <- π_(ονομα,επιθετο,ατ) (ΓΥΝ_ΕΡΓΑΖ) ΕΞΑΡΤ_ΕΡΓΑΖ <- ΟΝΟΜ_ΕΡΓΑΖ Χ ΕΞΑΡΤΩΜΕΝΟΣ ΠΡΑΓΜ_ΕΞΑΡΤ <- σ_(ατ = Ε_ΑΤ) (ΕΑΞΡ_ΕΡΓΑΖ) ΑΠΟΤΕΛΕΣΜΑ <- π_(ονομα,επιθετο,ονομα_εξαρτωμενου) (ΠΡΑΓΜ_ΕΞΑΡΤ) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 17

Συνένωση (Join) Η πράξη ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ συχνά ακολουθείται από την πράξη ΕΠΙΛΟΓΗ ώστε να επιλεγούν οι πλειάδες έχουν κάποιο συγκεκριμένο νόημα Μια πράξη: ΣΥΝΕΝΩΣΗ Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 18

Συνένωση (2) Συμβολίζεται με δύο τριγωνάκια: >< Συνδέει σχετιζόμενες πλειάδες από δύο σχέσεις Επιτρέπει την επεξεργασία των συσχετίσεων ΠΑΡΑΔΕΙΓΜΑ (σελ. 292): Θέλουμε το όνομα του διευθυντή κάθε τμήματος. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 19

Παράδειγμα Πρέπει να συνδυάσουμε κάθε πλειάδα τμήματος με την πλειάδα του ΕΡΓΑΖΟΜΕΝΟΣ στην οποία ΑΤ είναι ίδια με την τιμή του ΔΙΕΥΘΥΝΤΗΣ στην πλειάδα τμήματος ΔΙΕΥΘ_ΤΜΗΜ <- ΤΜΗΜΑ >< _(ΔΙΕΘΥΝΤΗΣ=ΑΤ) ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΟΤΕΛΕΣΜΑ <- π_(τ_ονομα,ονομα,επιθετο)(διευθ_τμημ) Σημειώνουμε ότι ο ΔΙΕΥΘΥΝΤΗΣ είναι "Ξένο Κλειδί" και επομένως ο περιορισμός αναφορικής ακεραιότητας παίζει ρόλο. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 20

Γενική Μορφή Συνένωσης R >< _<συνθήκη συνένωσης> S Αποτέλεσμα Q με n+m γνωρίσματα Περιέχει όλες τις πλειάδες του Καρτεσιανού Γινομένου για τις οποίες ικανοποιείται η συνθήκη συνένωσης Η συνθήκη συνένωσης αποτιμάται σε γνωρίσματα των δύο σχέσεων R και S Πλειάδες των οποίων τα γνωρίσματα συνένωσης έχουν τιμή NULL δεν εμφανίζονται στη ΣΥΝΕΝΩΣΗ ΑΡΑ η συνένωση δεν διατηρεί υποχρεωτικά όλη την πληροφορία των σχέσεων που συμμετέχουν!!! Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 21

Περιπτώσεις Συνένωσης ΘΗΤΑ ΣΥΝΕΝΩΣΗ (THETA JOIN): Συνένωση στην πολύ γενική μορφή της ΣΥΝΕΝΩΣΗ ΙΣΟΤΗΤΑΣ (EQUIJOIN), ηπιο συνηθισμένη περίπτωση Δίνει πλειάδες στις οποίες δύο ή περισσότερα γνωρίσματα έχουν την ίδια τιμή. ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ (NATURAL JOIN) Γιαναμηνεμφανίζεταιάσκοπατογνώρισμα συνένωσης δύο φορές στο αποτέλεσμα, ορίζεται η Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 22

Φυσική Συνένωση (Natural Join) Συμβολίζεται με αστεράκι * Τυπικά τα δύο γνωρίσματα θα πρέπει να έχουν το ίδιο όνομα (ή μπορεί τυπικά μετονομαστεί ένα από τα δύο): ΕΡΓΟ_ΤΜΗΜΑ <- ΕΡΓΟ * P(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜΑ, ΔΙΕΥΘΥΝΤΗΣ, ΗΜΕΡ_ΕΝΑΡΞ) ΤΜΗΜΑ Το γνώρισμα ΚΩΔ_ΤΜΗΜΑ ονομάζεται "Γνώρισμα Συνένωσης". Ουσιαστικά η ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ είναι μια συνένωση ισότητας ακολουθούμενη από απαλοιφή των γνωρισμάτων που πλεονάζουν. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 23

Φυσική Συνένωση (2) Ένας πιο γενικός και όχι τόσο αυστηρός ορισμός της ΦΥΣΙΚΗΣ ΣΥΝΕΝΩΣΗΣ είναι: Q <- R *_(<λίστα1>,<λίστα2>) S λίστα1: i γνωρίσματα από την R λίστα2: i γνωρίσματα από την S Μόνο η λίστα1 διατηρείται στο αποτέλεσμα Αν κανένας συνδυασμός δεν ικανοποιεί τις συνθήκες συνένωσης, το αποτέλεσμα είναι μια κενή σχέση με μηδέν πλειάδες Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 24

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

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

Πηγές/Αναφορές Κεφάλαιο 6 από το Βιβλίο του Μαθήματος: Θεμελιώσεις Αρχές Συστημάτων Βάσεων Δεδομένων (Τόμος Α' - Έκδοση 4η), Elmasri & Navathe (Μετάφραση: Εκδόσεις ΔΙΑΥΛΟΣ) Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 27