Διμελής Σχέση Σχέσεις Διδάσκοντες: Φ. Αφράτη, Δ. Επιμέλεια διαφανειών: Δ. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διατεταγμένο ζεύγος (α, β): Δύο αντικείμενα (όχι κατ ανάγκη διαφορετικά) σε καθορισμένη σειρά. Γενίκευση: διατεταγμένη τριάδα (α, β, γ), διατεταγμένη n-άδα (α 1 ). Καρτεσιανό γινόμενο Α Β: Α Β = {(α, b): α Ακαιb B} Γενίκευση: A 1 A n = {(α 1 ): α 1 Α 1 A n } Διμελής σχέση R απόσύνολοασεσύνολοβ: R Α Β. α σχετίζεται με β (στην R): (α, β) R. Α = {α, β, γ}, Β = {1, 2, 3, 4}, R = {(α, 1), (α, 4), (β, 2), (β, 4), (γ, 1), (γ, 3)} Α φοιτητές, Βμαθήματα, R δηλώσεις μαθημάτων. Α υποψήφιοι εργαζόμενοι, Β εταιρείες, R αιτήσεις πρόσληψης. Τριμελής σχέση R: R Α Β Γ. n-μελής σχέση R: R Α 1 A n. Δ (Άνοιξη 29) Σχέσεις 2 Αναπαράσταση Αναπαράσταση διμελούς σχέσης R: Σύνολο: παράθεση διατεταγμένων ζευγών. Κατηγόρημα: χαρακτηριστική ιδιότητα σχετιζόμενων στοιχείων. Συσχέτιση: Boolean πίνακας, κατευθυνόμενο γράφο. ΣτοΊδιοΣύνολο Διμελής σχέση R στοσύνολοα: R Α Α. Σχέσεις μεταξύ αριθμών (<,, α διαιρεί β,...), ανθρώπων, συνόλων, κλπ. Γράφημα: κορυφές στοιχεία Α, ακμή (α, β) δηλώνει (α, β) R. Πόσες διαφορετικές σχέσεις στο Α, Α = n; 1 2 3 4 α β γ Α = {α, β, γ}, Β = {1, 2, 3, 4}, R = {(α, 1), (α, 4), (β, 2), (β, 4), (γ, 1), (γ, 3)} Δ (Άνοιξη 29) Σχέσεις 3 Σχέσεις 4
Ιδιότητες Διμελών Σχέσεων Παραδείγματα Ανακλαστική: για κάθε α Α, (α, α) Α. Συμπληρωμένη διαγώνιος. Όλες οι κορυφές έχουν ανακύκλωση. Συμμετρική: για κάθε (α, β) Α, έχουμε (β, α) Α. Συμμετρία ως προς διαγώνιο. Μη κατευθυνόμενο γράφημα. Αντισυμμετρική: Αν (α, β), (β, α) Α, τότε α = β. Εκτός διαγωνίου, 1 από κάθε ζεύγος «συμμετρικών» θέσεων. 1 ακμή για κάθε ζεύγος διαφορετικών κορυφών. Υπάρχει σχέση συμμετρική και αντισυμμετρική; Μεταβατική: για κάθε (α, β), (β, γ) Α, έχουμε (α, γ) Α. Αν υπάρχει α γ μονοπάτι, τότε υπάρχει (α, γ) ακμή. Σχέση α β (α διαιρεί β, στο Ν). Π.χ. γράφημα σχέσης α β στο[12]. Δ (Άνοιξη 29) Σχέσεις 5 Σχέσεις 6 Παραδείγματα R 1 = {(α, β): α β} R 2 = {(α, β): α > β} Όχι ανακλαστική, όχι συμμετρική, αντισυμμετρική, μεταβατική. R 3 = {(α, β): α = βήα= β } Ανακλαστική, συμμετρική, όχι αντισυμμετρική, μεταβατική. R 4 = {(α, β): α = β} Ανακλαστική, συμμετρική, αντισυμμετρική, μεταβατική. R 5 = {(α, β): α + β 3} Όχι ανακλαστική, συμμετρική, όχι αντισυμμετρική, όχι μεταβατική. R 6 = {(Α, Β): Α Β} Πράξεις μεταξύ Σχέσεων Σχέσεις (σταίδιασύνολα) συνδυάζονται με πράξεις συνόλων: Ένωση, τομή, διαφορά, συμπλήρωμα, συμμετρική διαφορά. Πως υπολογίζονται από αναπαράσταση με πίνακα ή γράφημα; Αντίστροφη σχέση R 1 = {(β, α): (α, β) R} R φοιτητές δηλώνουν μαθήματα: R -1 μαθήματα δηλώνονται από φοιτητές. Ανάστροφος πίνακας, αντιστροφή φοράς των ακμών. Σύνθεση S R A Γ σχέσεων R A B και S Β Γ: S R = {(α, γ) : β τ.ω. (α, β) R και (β, γ) S } Σύνθεση συναρτήσεων προκύπτει ως ειδική περίπτωση. Δεν είναι αντιμεταθετική! Υπολογισμός με Boolean πολλαπλασιασμό πινάκων. Δ (Άνοιξη 29) Σχέσεις 7 Δ (Άνοιξη 29) Σχέσεις 8
Πράξεις μεταξύ Σχέσεων Σύνθεση σχέσης R A A με τον εαυτό της: R 2 = R R. ν-οστή «δύναμη» σχέσης R A A: R n = R n 1 R, R 1 = R. R 3 = (R R) R, R 4 = ((R R) R) R, Υπολογισμός με Boolean πολλαπλασιαμό πινάκων. «Διαδρομή» μήκους k σε σχέση R: ακολουθία α,..., α k A τ.ω. (α i, α i+1 ) R για κάθε i < k. R n = {(α, β) : υπάρχει α βδιαδρομήμήκουςn στην R} Απόδειξη με επαγωγή (άσκηση). Πράξεις μεταξύ Σχέσεων Σχέση R A A μεταβατική ανν R n R για n = 1, 2, 3, R n R για n = 1, 2, 3,. Άρα και R 2 R. Για κάθε (α, β), (β, γ) R, έχουμε (α, γ) R 2 R. Άρα (α, γ) R, και R μεταβατική. R μεταβατική. Απόδειξη με επαγωγή ότι R n R, για n = 1, 2,... Βάση: R R, ισχύει τετριμμένα για n = 1. Επαγωγική υπόθεση: Έστω ότι R n R για αυθαίρετο n 1. Επαγωγικό βήμα: Θδο (α, γ) R n+1, (α, γ) R. (α, γ) R n+1 (ορισμός R n+1 ) βτ.ω. (α, β) R και (β, γ) R n (επαγ. υπόθ. R n R) βτ.ω. (α, β) R και (β, γ) R (R μεταβατική) (α, γ) R Δ (Άνοιξη 29) Σχέσεις 9 Δ (Άνοιξη 29) Σχέσεις Σχεσιακές Δ Σχεσιακές Δ (Συστήματα Διαχείρισης) Βάσεων Δ (DBMSs) επιτρέπουν αποδοτική αποθήκευση και επεξεργασία μεγάλου όγκου δ. (Πρωτεύον) κλειδί πίνακα: πεδίο με μοναδική τιμή σε κάθε εγγραφή. Τιμή κλειδιού προσδιορίζει μοναδικά εγγραφή πίνακα. Σχεσιακές ΒΔ βασίζονται σε n-μελείς σχέσεις: Δεδομένα αποθηκεύονται σε πίνακες. Πίνακας: n-μελής σχέση (στήλες: πεδία, #στηλών: βαθμός πίνακα). Στοιχεία σχέσης: εγγραφές. 121 11 121 12
Σχεσιακές Δ Επιλογή (Πρωτεύον) κλειδί πίνακα: πεδίο με μοναδική τιμή σε κάθε εγγραφή. Τιμή κλειδιού προσδιορίζει μοναδικά εγγραφή πίνακα. Αν ένα πεδίο δεν αρκεί, σύνθετο (πρωτεύων) κλειδί: καρτεσιανό γινόμενο 2 πεδίων ώστε τιμή να προσδιορίζει μοναδικά εγγραφή. n-μελής σχέση R, C συνθήκη για στοιχεία R. Επιλογή (γραμμών) από R υπό συνθήκη C: n-μελής σχέση με στοιχεία R που ικανοποιούν συνθήκη C. Επιλογή από Φοιτητές με Όνομα = «Δ». Επιλογή από Φοιτητές με ΑΜ 95. 6/27 2/28 2/29 9/26 2/27 13 121 14 Επιλογή Προβολή n-μελής σχέση R, C συνθήκη για στοιχεία R. Επιλογή (γραμμών) από R υπό συνθήκη C: n-μελής σχέση με στοιχεία R που ικανοποιούν συνθήκη C. Επιλογή από Φοιτητές με Όνομα = «Δ». Επιλογή από Φοιτητές με ΑΜ 95. Επιλογή από Μαθ- με = «Διακριτά» και Βαθμ 8. 6/27 2/28 2/29 9/26 2/27 15 n-μελής σχέση R, πεδία (στήλες) (i 1 ) της R. Προβολή (επί στηλών) (i 1 ) της R : k-μελής σχέση με στοιχείο για κάθε στοιχείο (μια φορά κάθε k-αδα). Προβολή Φοιτητές στην στήλη Όνομα και Όνομα Πατέρα. Επώνυμο Παπαδόπουλος Νικολάου Όνομα Απόστολος Απόστολος 121 16
Προβολή Συνένωση (Join) n-μελής σχέση R, πεδία (στήλες) (i 1 ) της R. n-μελής σχέση R, m-μελής σχέση S, με p κοινά πεδία. Προβολή (επί στηλών) (i 1 ) της R : k-μελής σχέση με στοιχείο για κάθε στοιχείο (μια φορά κάθε k-αδα). Προβολή Φοιτητές στην στήλη Όνομα και Όνομα Πατέρα. Προβολή Μαθ- στις στήλες και Εξεταστική. 6/27 2/28 2/29 9/26 2/27 17 Συνένωση R και S επί p κοινών πεδίων: (n+m p)-μελής σχέση με στοιχεία όπου και Σχέση συνένωσης: προβολή (στα n+m p διαφορετικά πεδία) επί υποσυνόλου της R S με εγγραφές με ίδια τιμή στα κοινά πεδία. 18 Παράδειγμα Συνένωσης Παράδειγμα Συνένωσης 121 Πίνακας 3: Φοιτητές Βαθμολογία Επώνυμο Όνομα Ον. Πατ. Αλγόριθμοι και Πολυπλοκότητα 6/27 2/28 2/29 9/26 2/27 6/27 2/28 2/29 9/26 2/27 19 Δ (Άνοιξη 29) Σχέσεις 2