Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2 Σχεσιακός Λογισμός Στη σχεσιακή άλγεβρα έχουμε μια ακολουθία πράξεων ενώ στον σχεσιακό λογισμό έχουμε δηλωτικές εκφράσεις (μη διαδικαστικός τρόπος) Δυο προσαρμογές (από παίρνουν τιμές οι μεταβλητές): -- σχεσιακός λογισμός πλειάδων -- σχεσιακός λογισμός πεδίου Ισοδυναμία = ίδια εκφραστική δύναμη όποια ανάκτηση μπορεί να προσδιοριστεί σε σχεσιακή άλγεβρα μπορεί και σε σχεσιακό λογισμό και αντιστρόφως σχεσιακά πλήρης γλώσσα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 3 Σχεσιακός Λογισμός Πλειάδων Ο σχεσιακός λογισμός πλειάδων βασίζεται στον προσδιορισμό ενός πλήθους τιμών πλειάδων Κάθε μεταβλητή έχει πεδίο τιμών μια σχέση μιας βδ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 4 Σχεσιακός Λογισμός Πλειάδων {t | COND(t)} (όπου t μεταβλητή πλειάδων) πχ. οι καταθέσεις με ποσό μεγαλύτερο των {t | Κατάθεση(t) and t.Ποσό > } μόνο οι αριθμοί των λογαριασμών {t.Αριθμός-Λογαριασμού | Κατάθεση(t) and t.Ποσό > }
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 5 Σχεσιακός Λογισμός Πλειάδων {t.Αριθμός-Λογαριασμού | Κατάθεση(t) and t.Ποσό > } ποια γνωρίσματα (select) Ποια σχέση (from) Ποια συνθήκη (where)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 6 Σχεσιακός Λογισμός Πλειάδων Τυπικός Ορισμός {t 1.A 1, t 2.A 2, …, t n.A n | COND(t 1, t 2, …, t n, tn+1, tn+2, … t n+m } t 1, t 2, …, t n+m : μεταβλητές πλειάδων Α 1, Α 2, …, Α n : γνωρίσματα COND μια συνθήκη ή τύπος του σχεσιακού λογισμού πλειάδων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 7 Σχεσιακός Λογισμός Πλειάδων Τυπικός Ορισμός (συνέχεια) Ένας τύπος του σχεσιακού λογισμού πλειάδων αποτελείται από άτομα Άτομα του σχεσιακού λογισμού πλειάδων: R(t i ): R όνομα σχέσης, t i μεταβλητή πλειάδων, προσδιορίζει ότι το πεδίο τιμών της πλειάδας είναι ή σχέση R t i.A opt t j.B t i.A opt c ή c opt t i.A
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 8 Σχεσιακός Λογισμός Πλειάδων Τυπικός Ορισμός (συνέχεια) Κάθε άτομο αποτιμάται σε true ή false (τιμή αληθείας) του ατόμου Κάθε τύπος κατασκευάζεται από ένα ή περισσότερα άτομα Κάθε άτομο είναι ένας τύπος (F1 or F2) (F1 and F2) not(F1)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 9 Σχεσιακός Λογισμός Πλειάδων Τυπικός Ορισμός (συνέχεια) Επίσης: ( τ) (Φ) ( τ) (Φ) Ελεύθερη και δεσμευμένη μεταβλητή Απλά, δεσμευμένη αν ποσοδεικτείται
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 10 Σχεσιακός Λογισμός Λογαριασμός Υποκατάστημα Πελάτης Καταθέτης Δάνειο Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό Όνομα-Πελάτη Αριθμός-Λογαριασμού Όνομα-Πελάτη Οδός Πόλη Όνομα-Υποκαταστήματος Πόλη Σύνολο Όνομα-Πελάτη Αριθμός-Δανείου Όνομα-Υποκαταστήματος Αριθμός-Δανείου Ποσό Δανειζόμενος
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 11 Σχεσιακός Λογισμός Πλειάδων Παράδειγμα: Ο αριθμός λογαριασμού, το ποσό και το υποκατάστημα για όλους τους λογαριασμούς στην Πάτρα {t.Αριθμός-Λογαριασμού, t.Ποσό, t.Όνομα-Υποκαταστήματος | Λογαριασμός(t) and (( d) ( Υποκατάστημα(d) and d.Πόλη = ‘Πάτρα’ and d. Όνομα-Υποκαταστήματος = t. Όνομα-Υποκαταστήματος))}
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 12 Σχεσιακός Λογισμός Πλειάδων Ασφαλείς Εκφράσεις Πρέπει να αποτιμάται σε πεπερασμένο αριθμό πλειάδων Πεδίο ορισμού μιας έκφρασης Ρ: σύνολο τιμών που αναφέρονται στο Ρ, δηλαδή οι τιμές που εμφανίζονται άμεσα στο Ρ (ως σταθερές) και οι τιμές πλειάδων σχέσεων που εμφανίζονται στο Π Ασφαλής: τιμές στο αποτέλεσμα από το πεδίο ορισμού Παράδειγμα μη ασφαλούς: {t | not(Πελάτης(t)}
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 13 Σχεσιακός Λογισμός Πεδίων Διαφορά από το σχεσιακό λογισμό πλειάδων: οι μεταβλητές είναι απλές τιμές του πεδίου ορισμού των γνωρισμάτων {x 1, x 2, …, x n | COND(x 1, x 2, …, x n, x n+1, x n+2, … x n+m } x 1, x 2, …, x n : μεταβλητές πεδίου τιμών που παίρνουν τιμές από πεδία ορισμού γνωρισμάτων COND μια συνθήκη ή τύπος του σχεσιακού λογισμού πεδίων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 14 Σχεσιακός Λογισμός Πεδίου Άτομα του σχεσιακού λογισμού πεδίου : R(x 1, x 2, …, x n ): R όνομα σχέσης n-οστού βαθμού x i opt x j x i opt c ή c opt x i Για συντομία { x 1 x 2 …x n | R(x 1, x 2, …, x n ) αντί του {x 1, x 2, …, x n | R(x 1, x 2, …, x n )
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 15 Σχεσιακός Λογισμός Πεδίου Κάθε τύπος κατασκευάζεται από ένα ή περισσότερα άτομα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 16 Σχεσιακός Λογισμός Λογαριασμός Υποκατάστημα Πελάτης Καταθέτης Δάνειο Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό Όνομα-Πελάτη Αριθμός-Λογαριασμού Όνομα-Πελάτη Οδός Πόλη Όνομα-Υποκαταστήματος Πόλη Σύνολο Όνομα-Πελάτη Αριθμός-Δανείου Όνομα-Υποκαταστήματος Αριθμός-Δανείου Ποσό Δανειζόμενος
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 17 Σχεσιακός Λογισμός Πλειάδων Παράδειγμα: Ο αριθμός λογαριασμού, το ποσό και το υποκατάστημα για όλους τους λογαριασμούς στην Πάτρα {a,p,u | Λογαριασμός(uap) and (( q) ( r) ( s) ( Υποκατάστημα(qrs) and r = ‘Πάτρα’ and q = u))}
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 18 QBE (Query By Example) Δάνειο Όνομα-Υποκαταστήματος Αριθμός-Δανείου Ποσό Λογαριασμός Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό Υποκατάστημα Όνομα-Υποκαταστήματος Πόλη Σύνολο Δανειζόμενος Όνομα-Πελάτη Αριθμός-Δανείου Πελάτης Όνομα-Πελάτη Οδός Πόλη Καταθέτης Όνομα-Πελάτη Αριθμός-Λογαριασμού
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 19 QBE (Query By Example) Πελάτης Όνομα-Πελάτη Οδός Πόλη Παππάς P.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 20 QBE (Query By Example) Λογαριασμός Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό > 1200 P.Ψηλά-Αλώνια Λογαριασμός Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό > 1200 P. Ψηλά-Αλώνια
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 21 QBE (Query By Example) Λογαριασμός Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό Υποκατάστημα Όνομα-Υποκαταστήματος Πόλη Σύνολο Αποτέλεσμα Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό P. _Y _A _P Πάτρα