1 Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη
2 Σχεσιακή Άλγεβρα Η σχεσιακή άλγεβρα (relational algebra) είναι η μαθηματική θεμελίωση των πράξεων του σχεσιακού μοντέλου δεδομένων, και ειδικότερα της γλώσσας επερωτήσεων SQL
3 Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις. Μία πράξη λέγεται: μοναδιαία (unary) αν εφαρμόζεται σε μία σχέση, ή δυαδική (binary) αν εφαρμόζεται σε δύο σχέσεις. Κάθε πράξη επιστρέφει ως αποτέλεσμα μία σχέση.
4 Τελεστής Προβολής Ο τελεστής προβολής προβάλει συγκεκριμένα χαρακτηριστικά (στήλες) από µ ία σχέση. Συμβολίζεται µ ε το κεφαλαίο ελληνικό γράμμα Πι (Π). Συμβολισμός Π Α1,Α2, …, Αk (r) όπου Α1, Α2 είναι ονόματα χαρακτηριστικών και r είναι το όνομα της σχέσης. Οι διπλές γραμμές (διπλότυπα) διαγράφονται από το αποτέλεσμα επειδή οι σχέσεις είναι σύνολα.
5 Τελεστής Προβολής - Παράδειγμα Π Πόλη, Εξάμηνο (Φοιτητές)
6 Τελεστής Επιλογής Ο τελεστή Επιλογής επιλέγει πλειάδες με βά ση κάποια κριτήρια. Συμβολίζεται µ ε το μικρό ελληνικό γράμμα σίγμα (σ) Συμβολισμός: σ p (r) Ορίζεται ως: σ p (r)= {t|t Є r and p(t)} επιστρέφει εκείνες τις πλειάδες (γραμμές) της σχέσης r που ικανοποιούν το P (κατηγόρημα) το οποίο αποτελείται από µ ία ή περισσότερες συνθήκες επιλογής πλειάδων που συνδέονται µ ε τους λογικούς τελεστές: and, or, not. Οι τελεστές σύγκρισης στις συνθήκες επιλογής είναι οι =, ≠,, ≥ τελεστής ή Παράδειγμα επιλογής: σ πόλη-Πελάτη= ‘’ Σέρρες ’’ (Πελάτες)
7 Τελεστής Επιλογής - Παράδειγμα σ Πόλη=“Αθήνα” (Φοιτητές)
8 Τελεστής Καρτεσιανού Γινομένου Ο τελεστής του καρτεσιανού γινομένου συμβολίζεται µε x Ορισμός: έστω σχέσεις r και s, όπου r έχει n πλειάδες και k χαρακτηριστικά και η s έχει m πλειάδες και n χαρακτηριστικά. Το καρτεσιανό γινόμενο r x s θα έχει: n x m πλειάδες k + n χαρακτηριστικά
9 Τελεστής Καρτεσιανού Γινομένου - Παράδειγμα
10 Τελεστής Καρτεσιανού Γινομένου - Παράδειγμα Φοιτητές χ Μαθήματα
11 Τελεστής Ένωσης Συμβολισμός: r ⋃ s Ορίζεται ως: r ⋃ s= {t | t Є r ή t Є s} Για να είναι έγκυρη η r ⋃ s: 1. Οι σχέσεις r, s πρέπει να έχουν τον ίδιο αριθμό χαρακτηριστικών (βαθμό) 2. Τα πεδία ορισμού πρέπει να είναι συμβατά (π.χ., η 2η στήλη του r να χρησιμοποιεί τον ίδιο τύπο τιμών όπως και η δεύτερη στήλη του s) Π.χ. βρείτε τα ονόματα πελατών µε λογαριασμό ή δάνειο Π όνοµα (καταθέτης) ⋃ Π όνοµα (∆ανειζόµενος)
12 Τελεστής Ένωσης - Παράδειγμα
13 Τελεστής Ένωσης - Παράδειγμα ΦοιτητέςΠληροφορικής ⋃ ΦοιτητέςΓεωπληροφορικής
14 Τελεστής Διαφοράς Συμβολισμός r-s Ορίζεται ως: r-s = {t|t Є r και t Є s} Οι διαφορές συνόλων πρέπει να χρησιμοποιηθούν μεταξύ συμβατών σχέσεων. Αφαιρούνται οι κοινές πλειάδες μεταξύ των σχέσεων.
15 Τελεστής Διαφοράς - Παράδειγμα
16 Τελεστής Διαφοράς - Παράδειγμα ΦοιτητέςΠληροφορικήςΓεωπληροφορικής - ΦοιτητέςΓεωπληροφορικής
17 Σύνθεση Τελεστών Μπορούν να δημιουργηθούν εκφράσεις χρησιμοποιώντας πολλαπλούς τελεστές π.χ. σ A=Γ (r x s) ΑΒΓΔΕ α1α10c α1β c α1β20b α1r10b β2α c β2β c β2β20b β2r10b ΑΒΓΔΕ α1α c β2β c β2β2020b r x s σ Α=Γ (r x s)
18 Τελεστής Μετονομασίας Ο τελεστής μετονομασίας συμβολίζεται µε το μικρό ελληνικό γράμμα ρ. Μας επιτρέπει να ονομάσουμε, και συνεπώς να αναφερθούμε, στα αποτελέσματα των εκφράσεων της σχεσιακής άλγεβρας. Μας επιτρέπει να αναφερθούμε σε μια σχέση με περισσότερα από ένα ονόματα Παράδειγµα: ρ x (r) επιστρέφει την έκφραση r µε το νέο όνομα Χ Παράδειγμα υλοποίησης στην SQL: SELECT* FROM R AS X Αν μια έκφραση της άλγεβρας Ε έχει βαθμό n, τότε η ρ χ(Α1, Α2, …, Αn) (r) επιστρέφει το αποτέλεσμα της έκφρασης r µε το όνομα Χ, και µε τις ιδιότητες μετονοµασµένες σε Α1, Α2, …, Αn.
19 Τελεστής Τομής Συνόλων Συμβολισμός: r ∩ s Ορίζεται ως: r ∩ s= {t | t Є r και t Є s} Για να είναι έγκυρη η r ∩ s. η r, s πρέπει να έχουν τον ίδιο αριθμό γνωρισμάτων (βαθµό) Τα πεδία ορισμού πρέπει να είναι συμβατά Σημειώστε: r ∩ s = r -(r -s)
20 Τελεστής Τομής - Παράδειγμα ΑΒ α1 α2 β1 ΑΒ α2 Οι σχέσεις r, s Η τομή r ∩ s ΑΒ α2 β3
21 Τελεστής Φυσικής Σύζευξης Συμβολισμός: r ⋈ s η φυσική σύζευξη (συνένωση) συνδυάζει το καρτεσιανό γινόμενο και την επιλογή σε µία πράξη. Επιλέγει τις συστοιχίες του καρτεσιανού γινομένου των δύο σχέσεων (r x s) για τις οποίες ισχύει η ισότητα στις τιμές εκείνων των γνωρισμάτων που είναι κοινά και στις δύο σχέσεις. Τα διπλότυπα απαλείφονται όπως και στις άλλες σχεσιακές πράξεις. Παράδειγμα: R = (Α, Β, Γ, ∆) S= (Ε, Β, ∆) Το σχήμα του αποτελέσματος είναι (Α, Β, Γ, ∆, Ε) r ⋈ s ορίζεται ως: Π r.A,r.B,r.Γ,r.∆,s.Ε (σ r.Β=s.B r.∆=s.∆ (r x s))
22 Τελεστής Φυσικής Σύζευξης ΒΗΜΑ 1: Υπολογίζουμε το καρτεσιανό γινόμενο των δυο πινάκων r x s ΒΗΜΑ 2: Επάνω στο καρτεσιανό γινόμενο κάνουμε επιλογή στα κοινά γνωρίσματα σ r.Β=s.B r.∆=s.∆ (r x s) ΒΗΜΑ3: Προβολή (θέλουμε τα κοινά γνωρίσματα να υπάρχουν μόνο μια φορά R ⋃ S= ένωση των γνωρισμάτων) Π R ⋃ S (σ r.Β=s.B r.∆=s.∆ (r x s))
23 Παράδειγμα Τελεστή Φυσικής Σύζευξης ΑΒΓΔ α1ακ β2γκ γ4βλ α1γκ δ2βλ Οι σχέσεις r, s ΒΔΕ 1κα 3κβ 1κγ 2λδ 3λε r ⋈ s ΑΒΓΔΕ α1ακα α1ακγ α1γκα α1γκγ δ2βλδ
24 Παράδειγμα Τελεστή Φυσικής Σύζευξης
25 Παράδειγμα Β.Δ. Τράπεζας
26 όνομα-πελάτηαριθμός- λογαριασμού HayesA-102 JohnsonA-101 JohnsonA-201 JonesA-217 LindsayA-222 SmithA-215 TurnerA-305 όνομα-πελάτηαριθμός- δανείου AdamsL-16 CurryL-93 HayesL-15 JacksonL-14 JonesL-17 SmithL-11 SmithL-23 WilliamsL-17 Καταθέτης Δανειζόμενος αριθμός- δανείου όνομα- υποκαταστήμ ατος ποσό L-11Round-Hill900 L-14Downtown1500 L-15Perryridge1500 L-16Perryridge1300 L-17Downtown1000 L-23Redwood2000 L-93Mianus500 Δάνειο
27 Παραδείγματα Ερωτήσεων Βρείτε όλα τα δάνεια άνω των σ ποσό> 1200 (δάνειο) Βρείτε τον αριθμό δανείου για κάθε δάνειο ενός ποσού μεγαλύτερου από Π αριθµός-δανείου (σ ποσό>1200 (δάνειο)) Βρείτε τα ονόματα όλων των πελατών που έχουν ένα δάνειο, έναν λογαριασμό ή και τα δύο, από την τράπεζα Π όνοµα-πελάτη (∆ανειζόµενος) ⋃ Π όνοµα-πελάτη (καταθέτης) Βρείτε τα ονόματα όλων των πελατών που έχουν ένα δάνειο και έναν λογαριασμό στην τράπεζα. Π όνοµα-πελάτη (∆ανειζόµενος) ∩ Π όνοµα-πελάτη (καταθέτης)
28 Παραδείγματα Ερωτήσεων Βρείτε τα ονόματα όλων των πελατών που έχουν ένα δάνειο στο υποκατάστημα Κρήνης Π όνοµα-πελάτη (σ όνοµα-υποκαταστήματος=“Κρήνης” (σ ∆ανειζόµενος.αριθµός-δανείου=∆άνειο.αριθµός-δανείου (∆ανειζόµενος x∆άνειο))) Βρείτε τα ονόματα όλων των πελατών που έχουν ένα δάνειο στο υποκατάστημα Κρήνης αλλά δεν έχουν λογαριασμό σε κανένα υποκατάστημα της τράπεζας. Π όνοµα-πελάτη (σ όνοµα-υποκαταστήµατος ="Κρήνης" (σ ∆ανειζόµενος.αριθµός-δανείου=∆άνειο.αριθµός-δανείου (∆ανειζόµενος x∆άνειο))) – Π όνοµα-πελάτη (λογαριασµός) Βρείτε τα ονόματα όλων των πελατών που έχουν ένα δάνειο στο υποκατάστημα Βενιζέλου Π όνοµα-πελάτη (σ όνοµα-υποκαταστήµατος="Βενιζέλου" (σ ∆ανειζόµενος.αριθµός-δανείου=∆άνειο.αριθµός-δανείου (∆ανειζόµενος x∆άνειο) ) )