Εισαγωγή στη Σχεσιακή Άλγεβρα Δρ. Νίκος Καρούσος
Η σχεσιακή άλγεβρα Κάθε μοντέλο δεδομένων – όπως και το σχεσιακό – πρέπει να περιλαμβάνει ένα σύνολο από πράξεις για τη διαχείριση και την αναζήτηση δεδομένων. Η σχεσιακή άλγεβρα αποτελείται από ένα βασικό σύνολο από πράξεις που γίνονται πάνω και μεταξύ των σχέσεων. Μία σχέση αναπαριστά έναν πίνακα, είναι δηλαδή ένα σύνολο από πεδία – στήλες τα οποία σχετίζονται με κάποιον τρόπο Βαθμός μίας σχέσης είναι το πλήθος των πεδίων του πίνακα (σχέσης) Εισαγωγή στη σχεσιακή άλγεβρα
Βασικοί ορισμοί: Κλειστότητα Κάθε σχεσιακή πράξη έχει ως αποτέλεσμα μία σχέση Κλειστότητα + = Μη Κλειστότητα + = Εισαγωγή στη σχεσιακή άλγεβρα
Βασικοί ορισμοί: Συμβατότητα Τύπου Δύο σχέσεις έχουν συμβατότητα τύπο αν 1. Έχουν τον ίδιο βαθμό (δλδ τον ίδιο αριθμό γνωρισμάτων – πεδίων) 2. Κάθε αντίστοιχο γνώρισμα έχει το ίδιο πεδίο ορισμού Εισαγωγή στη σχεσιακή άλγεβρα
Βασικοί ορισμοί: Συμβατότητα Τύπου ΣχέσηΑ Α1 Α2 Α3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας 4 44 Χλεχλές ΣχέσηΒ Β1 Β2 Β3 12 12α Τάκης 22 134 Κούκος 31 1β5 Λούης 4 1α2 Λουλού ΣχέσηΓ Γ1 Γ2 Γ3 Γ4 12 Τάκ 22 14 Μακ 33 31 15 Λακ 4 Μπακ ΣχέσηΔ Δ1 Δ2 Δ3 12 33 Αυτιάς 22 44 Μούρης 31 55 Νιάους 4 66 Γαβγαβ Εισαγωγή στη σχεσιακή άλγεβρα Έλεγχος συμβατότητας τύπου. Είναι οι παρακάτω σχέσεις συμβατές; 1. Η Α με τη Β: ΟΧΙ 2. Η Α με τη Γ: ΟΧΙ 3. Η Α με τη Δ: ΝΑΙ 4. Η Β με τη Γ: ΟΧΙ 5. Η Β με τη Δ: ΟΧΙ 6. Η Γ με τη Δ: ΟΧΙ
Βασικές πράξεις ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ Επιλογή Ένωση Προβολή Τομή Συνένωση Διαφορά Καρτεσιανό Γινόμενο Διαίρεση Επιλογή Προβολή Συνένωση Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Ένωση Ένωση δύο σχέσεων r και s ΠΟΥ ΕΧΟΥΝ ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΟΥ είναι μία νέα σχέση με το ίδιο σχήμα (τα ίδια πεδία) και με κορμό (περιεχόμενα) τις πλειάδες που ανήκουν είτε στη μία είτε στην άλλη σχέση είτε και στις δύο (παίρνουμε μόνο μία φορά την πλειάδα). a b b c r={a,b} s={b,c} r U s={a,b,c} Ισχύουν οι: αντιμεταθετική και προσεταιριστική ιδιότητες r U s = s U r r U (s U k) = (r U s) U k Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Ένωση A P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας Δ P1 P2 P3 2 12 Αλκαίος 22 44 Μούρης A U Δ P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας 22 44 Μούρης Δ U Α P1 P2 P3 2 12 Αλκαίος 22 44 Μούρης 1 Καρούσος 3 13 Λέλαπας SELECT Α.P1, A.P2, A.P3 FROM A UNION DISTINCT SELECT Δ.P1, Δ.P2, Δ.P3 FROM Δ Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Τομή b c Τομή δύο σχέσεων r και s ΠΟΥ ΕΧΟΥΝ ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΟΥ είναι μία νέα σχέση με το ίδιο σχήμα (τα ίδια πεδία) και με κορμό (περιεχόμενα) τις πλειάδες που ανήκουν και στις δύο σχέσεις. a b r={a,b} s={b,c} r ∩ s={b} b c Ισχύουν οι: αντιμεταθετική και προσεταιριστική ιδιότητες r U s = s U r r U (s U k) = (r U s) U k Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Τομή A Δ A ∩ Δ Δ ∩ Α SELECT Α.P1, A.P2, A.P3 FROM A 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας Δ P1 P2 P3 2 12 Αλκαίος 22 44 Μούρης A ∩ Δ P1 P2 P3 2 12 Αλκαίος Δ ∩ Α P1 P2 P3 2 12 Αλκαίος SELECT Α.P1, A.P2, A.P3 FROM A INTERSECT SELECT Δ.P1, Δ.P2, Δ.P3 FROM Δ Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Διαφορά Τομή δύο σχέσεων r και s ΠΟΥ ΕΧΟΥΝ ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΟΥ είναι μία νέα σχέση με το ίδιο σχήμα (τα ίδια πεδία) και με κορμό (περιεχόμενα) τις πλειάδες που ανήκουν στην r αλλά όχι στην s. a b r={a,b} s={b,c} r - s={a} s - r={c} b c ΔΕΝ Ισχύουν οι: αντιμεταθετική ούτε η προσεταιριστική ιδιότητες r - s ≠ s - r r - (s - k) ≠ (r - s) - k Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Διαφορά A P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας Δ P1 P2 P3 2 12 Αλκαίος 22 44 Μούρης A - Δ P1 P2 P3 1 12 Καρούσος 3 13 Λέλαπας Δ - Α P1 P2 P3 22 44 Μούρης SELECT Α.P1, A.P2, A.P3 FROM A WHERE Α.P1, A.P2, A.P3 not in SELECT Δ.P1, Δ.P2, Δ.P3 FROM Δ Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: (Καρτεσιανό) Γινόμενο Γινόμενο δύο σχέσεων r και s είναι μία νέα σχέση με σχήμα που έχει όλα τα γνωρίσματα και με κορμό (περιεχόμενα) όλους τους συνδυασμούς των πλειάδων κάθε σχέσης με τις πλειάδες της άλλης. Ο βαθμός της νέας σχέσης είναι το άθροισμα των βαθμών των r και s Ο αριθμός των πλειάδων είναι το γινόμενο του αριθμού της r επί της s ΔΕΝ Ισχύουν οι: αντιμεταθετική αλλά ισχύει η προσεταιριστική ιδιότητες r x s ≠ s x r r x (s x k) = (r x s) x k Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: (Καρτεσιανό) Γινόμενο A P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας Δ P1 P2 ddd 111 ggg 222 A x Δ A.P1 A.P2 A.P3 Δ.P1 Δ.P2 1 12 Καρούσος ddd 111 ggg 222 2 Αλκαίος 3 13 Λέλαπας SELECT Α.P1, A.P2, A.P3, Δ.P1, Δ.P2 FROM A, Δ Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Προβολή Προβολή μίας σχέσης r με σχήμα R είναι μία σχέση που είναι η ίδια με τη σχέση r (με τον ίδιο αριθμό πλειάδων) αλλά με ένα συγκεκριμένο (επιλεγμένο) υποσύνολο γνωρισμάτων - πεδίων. ΠA1;A2;:::;Am(r) Προφανώς μία προβολή χωρίς κανένα συγκεκριμένο πεδίο είναι πάλι ο ίδιος πίνακας. Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Προβολή A P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας ΠP1,P3(A) P1 P3 1 Καρούσος 2 Αλκαίος 3 Λέλαπας ΠP2,P3(A) P2 P3 12 Καρούσος Αλκαίος 13 Λέλαπας ΠP1(A) P1 1 2 3 SELECT Α.P1, A.P3 FROM A Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Επιλογή Επιλογή μίας σχέσης r(R) είναι μία σχέση με το ίδιο σχήμα αλλά με πλειάδες φιλτραρισμένες κατά ένα ή περισσότερα κριτήρια (με βάση μία συνθήκη) σA1>10(r) Όλα τα στοιχεία του πίνακα r για τα οποία ισχύει πως A1>10 Εισαγωγή στη σχεσιακή άλγεβρα
Βασικές πράξεις: Επιλογή A P1 P2 P3 1 12 Καρούσος 2 Αλκαίος 3 13 Λέλαπας σP1>1(A) P1 P2 P3 1 12 Αλκαίος 2 13 Λέλαπας ΠP1,P2(σP1>1(A)) P1 P2 1 12 2 13 SELECT Α.P1, A.P3 FROM A Εισαγωγή στη σχεσιακή άλγεβρα