Βάσεις Δεδομένων Ι 7η διάλεξη
1 Σχεσιακή άλγβερα
Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U) Τελεστές Επιλογή (σ) Προβολή (π) Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U)
Το σύνολο των τελεστών που υπάρχουν είναι: Ένωση (∪) Τομή (∩) Τελεστές συνόλων Το σύνολο των τελεστών που υπάρχουν είναι: Ένωση (∪) Τομή (∩) Διαφορά (−) Καρτεσιανό γινόμενο (×)
𝑅 ⋈ 𝑆.𝑖𝑑=𝑅.𝑖𝑑 𝑆= 𝜎 𝑆.𝑖𝑑=𝑅.𝑖𝑑 (𝑅×𝑆) Σύζευξη ισότητας Παράδειγμα 𝑅 ⋈ 𝑆.𝑖𝑑=𝑅.𝑖𝑑 𝑆= 𝜎 𝑆.𝑖𝑑=𝑅.𝑖𝑑 (𝑅×𝑆)
𝑅⋈𝑆= 𝜎 𝜎𝜏𝛼 𝜅𝜊𝜄𝜈𝛼 𝜎𝜏𝜊𝜄𝜒𝜀𝜄𝛼 (𝑅×𝑆) Φυσική σύζευξη Παράδειγμα 𝑅⋈𝑆= 𝜎 𝜎𝜏𝛼 𝜅𝜊𝜄𝜈𝛼 𝜎𝜏𝜊𝜄𝜒𝜀𝜄𝛼 (𝑅×𝑆)
Παραδείγματα κατανόησης Sid Bid Day 22 101 1 102 103 2 104 3 31 64 4 5 74 Sid Sname Rating Age 22 Dusting 7 45 29 Brutus 1 33 31 Lubber 8 55.5 85 Art 3 63.5 95 Bob 25.5 74 Horatio 9 35.0 Bid Bname Color 101 Interlake Blue 102 Red 103 Clipper Green 104 Marine red
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα και οι ηλικίες των ανθρώπων που έχουν rating > 7 𝜋 𝑠𝑛𝑎𝑚𝑒 ( 𝜎 𝑟𝑎𝑡𝑖𝑛𝑔>7 𝑆𝑎𝑖𝑙𝑜𝑟 )
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ναυτικών που έχουν κάνει κράτηση στη βάρκα με κωδικό 103 𝜋 𝑠𝑛𝑎𝑚𝑒 ( 𝜎 𝑏𝑖𝑑=103 𝑆𝑎𝑖𝑙𝑜𝑟⋈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠 )
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ναυτικών που έχουν κάνει κράτηση στη βάρκα με κωδικό 103 𝜋 𝑠𝑛𝑎𝑚𝑒 (( 𝜎 𝑐𝑜𝑙𝑜𝑟="𝑟𝑒𝑑" 𝐵𝑜𝑎𝑡𝑠 )⋈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠⋈𝑆𝑎𝑖𝑙𝑜𝑟𝑠)
2 Σχεσιακός λογισμός
Σχεσιακός λογισμός Παραπλήσια με τη σχεσιακή άλγεβρα με τη διαφορά ότι μας επιτρέψει να περιγράψουμε το επιθυμητό αποτέλεσμα χωρίς να αναφερόμαστε σε επιμέρους της διαδικασίας που θα υπολογίσει το αποτέλεσμα
Σχεσιακός λογισμός πλειάδων (TRC) Σχεσιακός λογισμός ορισμάτων (DRC)
Σχεσιακός λογισμός πλειάδων (TRC) Οι μεταβλητές παίρνουν για τιμές του πλειάδες τιμών Σχεσιακός λογισμός ορισμάτων (DRC) Οι μεταβλητές έχουν για ακτίνα δράσεις, τις τιμές πεδίων
Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Σχεσιακός λογισμός Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Ποσοτικοποιήσεις
Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Σχεσιακός λογισμός Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Ποσοτικοποιήσεις
p(T): διατύπωση που περιγράφει το Τ TRC Διατύπωση αιτήματος 𝑇 𝑝(𝑇)} T: μεταβλητή πλειάδων p(T): διατύπωση που περιγράφει το Τ
𝑆 𝑆∈𝑠𝑡𝑢𝑑𝑒𝑛𝑡∧𝑠.𝑎𝑔𝑒>20} Παράδειγμα 𝑆 𝑆∈𝑠𝑡𝑢𝑑𝑒𝑛𝑡∧𝑠.𝑎𝑔𝑒>20}
Σύνολα ατομικών διατυπώσεων ¬𝑝, 𝑝∧𝑞, 𝑝∨𝑞, 𝑝⟹𝑞 TRC σύνταξη Ατομική διατύπωση 𝑅∈𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛 𝑅.𝑎 𝑂𝑃 𝑆.𝑏 𝑅.𝑎 𝑂𝑃 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 Σύνολα ατομικών διατυπώσεων ¬𝑝, 𝑝∧𝑞, 𝑝∨𝑞, 𝑝⟹𝑞 ∃𝑅 𝑝 𝑅 - δέσμευση μεταβλητής R ∀𝑅(𝑝 𝑅 ) - δέσμευση μεταβλητής R
TRC σημασία Το αίτημα 𝑇 𝑝(𝑇)} Σημαίνει όλες οι πλειάδες t για κάθε μία από τις οποίες η διατύπωση p(T) υπολογίζει την τιμή true όταν η T παίρνει την τιμή t
Έχουμε ατομική διατύπωση (𝑅∈𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛) Έχουμε σύγκριση (𝑅.𝑎 𝑂𝑃 𝑆.𝑏) TRC πότε είναι αληθής Έχουμε ατομική διατύπωση (𝑅∈𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛) Έχουμε σύγκριση (𝑅.𝑎 𝑂𝑃 𝑆.𝑏) Έχει τις μορφές: ¬𝑝, 𝑝∧𝑞, 𝑝∨𝑞, 𝑝⟹𝑞 ∃𝑅 𝑝 𝑅 [υπάρχει κάποια ανάθεση τιμών για τις ελεύθερες μεταβλητές στο p(R) – μαζί και στην R – που να την επαληθεύουν] ∀𝑅(𝑝 𝑅 ) [υπάρχει κάποια ανάθεση τιμών για τις ελεύθερες μεταβλητές στο p(R) που να την επαληθεύουν]
Παραδείγματα κατανόησης Sid Bid Day 22 101 1 102 103 2 104 3 31 64 4 5 74 Sid Sname Rating Age 22 Dusting 7 45 29 Brutus 1 33 31 Lubber 8 55.5 85 Art 3 63.5 95 Bob 25.5 74 Horatio 9 35.0 Bid Bname Color 101 Interlake Blue 102 Red 103 Clipper Green 104 Marine red
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα και οι ηλικίες των ανθρώπων που έχουν rating > 7 {𝑃|∃𝑆∈𝑆𝑎𝑖𝑙𝑜𝑟 𝑆.𝑟𝑎𝑡𝑖𝑛𝑔>7∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑎𝑔𝑒=𝑆.𝑎𝑔𝑒 𝑆.𝑟𝑎𝑡𝑖𝑛𝑔>7∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑎𝑔𝑒=𝑆.𝑎𝑔𝑒 }
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ανθρώπων ο κωδικός της βάρκας και η ημερομηνία κράτησης για την κάθε κράτηση {𝑃|∃𝑅∈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠∃𝑆∈𝑆𝑎𝑖𝑙𝑜𝑟 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑏𝑖𝑑=𝑅.𝑏𝑖𝑑∧𝑃.𝑑𝑎𝑦=𝑅.𝑑𝑎𝑦 𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑏𝑖𝑑=𝑅.𝑏𝑖𝑑∧ 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑏𝑖𝑑=𝑅.𝑏𝑖𝑑∧𝑃.𝑑𝑎𝑦=𝑅.𝑑𝑎𝑦 }
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ναυτικών που έχουν κάνει κράτηση στη βάρκα με κωδικό 103 {𝑃|∃𝑅∈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠∃𝑆∈𝑆𝑎𝑖𝑙𝑜𝑟 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧R.𝑏𝑖𝑑=103 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧R.𝑏𝑖𝑑=103 }
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ναυτικών που έχουν κάνει κράτηση σε κόκκινη βάρκα {𝑃|∃𝑅∈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠∃𝑆∈𝑆𝑎𝑖𝑙𝑜𝑟∃𝐵∈𝐵𝑜𝑎𝑡 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝐵.𝑏𝑖𝑑=𝑅.𝑏𝑖𝑑∧𝐵.𝑐𝑜𝑙𝑜𝑟=red∧𝑃.𝑠𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒 𝑅.𝑠𝑖𝑑=𝑆.𝑠𝑖𝑑∧𝐵.𝑏𝑖𝑑=𝑅.𝑏𝑖𝑑∧𝐵.𝑐𝑜𝑙𝑜𝑟=red∧𝑃.𝑠𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒 }
𝑥 1 : μεταβλητή ορίσματος ή σταθερή τιμή DRC Διατύπωση αιτήματος 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 𝑝( 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 )} 𝑥 1 : μεταβλητή ορίσματος ή σταθερή τιμή 𝑝( 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 ): διατύπωση με ελεύθερες μεταβλητές τα x
𝐼,𝑁,𝑅,𝐴 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧𝐴>45} Παράδειγμα 𝐼,𝑁,𝑅,𝐴 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧𝐴>45}
Παραδείγματα κατανόησης Sid Bid Day 22 101 1 102 103 2 104 3 31 64 4 5 74 Sid Sname Rating Age 22 Dusting 7 45 29 Brutus 1 33 31 Lubber 8 55.5 85 Art 3 63.5 95 Bob 25.5 74 Horatio 9 35.0 Bid Bname Color 101 Interlake Blue 102 Red 103 Clipper Green 104 Marine red
Σύνολα ατομικών διατυπώσεων ¬𝑝, 𝑝∧𝑞, 𝑝∨𝑞, 𝑝⟹𝑞 DRC σύνταξη Ατομική διατύπωση 𝐼,𝑁,𝑅,𝐴 ∈𝑅𝑒𝑙 𝑋 𝑂𝑃 𝑌 𝑋 𝑂𝑃 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 Σύνολα ατομικών διατυπώσεων ¬𝑝, 𝑝∧𝑞, 𝑝∨𝑞, 𝑝⟹𝑞 ∃𝑋 𝑝 𝑋 - όπου Χ μεταβλητή ορίσματος ∀𝑋(𝑝 𝑋 ) - όπου Χ μεταβλητή ορίσματος
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα και οι ηλικίες των ανθρώπων που έχουν rating > 7 𝑁,𝐴 ∃𝐼,𝑅( 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧𝑅>7)}
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ανθρώπων ο κωδικός της βάρκας και η ημερομηνία κράτησης για την κάθε κράτηση 𝑁,𝐵𝑟,𝐷𝑟 ∃𝐼,𝑅,𝐴( 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧∃𝐼𝑟 𝐼𝑟,𝐵𝑟,𝐷𝑟 ∈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠∧𝐼𝑟=𝐼 )}
Παραδείγματα κατανόησης Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης Να βρεθούν τα ονόματα των ναυτικών που έχουν κάνει κράτηση σε κόκκινη βάρκα 𝑁 ∃𝐼,𝑅,𝐴( 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧∃𝐼𝑟,𝐵𝑟,𝐷( 𝐼𝑟,𝐵𝑟,𝐷 ∈𝑅𝑒𝑠𝑒𝑟𝑣𝑒𝑠∧𝐼𝑟=𝐼∧∃𝐵,𝑁𝑏,𝐶( 𝐵,𝑁𝑏,𝐶 ∈𝐵𝑜𝑎𝑡∧𝐵𝑟=𝐵∧𝐶="𝑟𝑒𝑑")))}
4 Στην πράξη