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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

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

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

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

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

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

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

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

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

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

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

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

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

Το εσωτερικό ενός Σ Β

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

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

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

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

Σχεδιασµός Σχεσιακών Σχηµάτων

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

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

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

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

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

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

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

Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

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

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

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

Η Άλγεβρα των πινάκων στο γραφικό περιβάλλον SQL Query Builder του Data Studio

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Συναρτησιακές Εξαρτήσεις

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

Transcript:

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

Πράξη Επιλογής (SELECT) Επιλογή: Επιλέγει ένα υποσύνολο των πλειάδων µιας σχέσης Κριτήριο επιλογής: Η επιλογή των πλειάδων γίνεται µε βάση µια ΣΥΝΘΗΚΗ ΕΠΙΛΟΓΗΣ Η επιλογή είναι ένα είδους ΦΙΛΤΡΟ που κρατά µόνο τις επιθυµητές Συνθήκη Επιλογής Συνθήκη επιλογής: µια λογική παράσταση (έκφραση Boole) που προσδιορίζεται πάνω στα γνωρίσµατα της σχέσης Παράδειγµα: Φοιτητές που ανήκουν στο Τµήµα 1 ή Φοιτητές που από το 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 Παράδειγµα (Βιβλίο σελ. 291): Συνένωση (Join) Έστω ότι θέλουµε να πάρουµε για κάθε ΕΡΓΑΖΟΜΕΝΗ µια λίστα µε όλα τα εξαρτώµενα µέλη της. ΓΥΝ_ΕΡΓΑΖ <- σ_(φυλλο = "Θ")(ΕΡΓΑΖΟΜΕΝΟΣ) ΟΝΟΜ_ΕΡΓΑΖ <- π_(ονομα,επιθετο,ατ) (ΓΥΝ_ΕΡΓΑΖ) ΕΞΑΡΤ_ΕΡΓΑΖ <- ΟΝΟΜ_ΕΡΓΑΖ Χ ΕΞΑΡΤΩΜΕΝΟΣ ΠΡΑΓΜ_ΕΞΑΡΤ <- σ_(ατ = Ε_ΑΤ) (ΕΑΞΡ_ΕΡΓΑΖ) ΑΠΟΤΕΛΕΣΜΑ <- π_(ονομα,επιθετο,ονομα_εξαρτομενου) (ΠΡΑΓΜ_ΕΞΑΡΤ) Η πράξη ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ συχνά ακολουθείται από την πράξη ΕΠΙΛΟΓΗ ώστε να επιλεγούν οι έχουν κάποιο συγκεκριµένο νόηµα Μια µία πράξη: ΣΥΝΕΝΩΣΗ Βάσεις εδοµένων Σχεσιακή Άλγεβρα 17 Βάσεις εδοµένων Σχεσιακή Άλγεβρα 18 3

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