Σχεσιακός Λογισμός

22
Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός

description

Σχεσιακός Λογισμός . Σχεσιακός Λογισμός. Στη σχεσιακή άλγεβρα έχουμε μια ακολουθία πράξεων ενώ στον σχεσιακό λογισμό έχουμε δηλωτικές εκφράσεις (μη διαδικαστικός τρόπος). Σχεσιακός Λογισμός. Ισοδυναμία = ίδια εκφραστική δύναμη - PowerPoint PPT Presentation

Transcript of Σχεσιακός Λογισμός

Page 1: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 1

Σχεσιακός Λογισμός

Page 2: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 2

Σχεσιακός Λογισμός

• Στη σχεσιακή άλγεβρα έχουμε μια ακολουθία πράξεων ενώ στον σχεσιακό λογισμό έχουμε δηλωτικές εκφράσεις (μη διαδικαστικός τρόπος)

Page 3: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 3

Σχεσιακός Λογισμός

• Ισοδυναμία = ίδια εκφραστική δύναμη

όποια ανάκτηση μπορεί να προσδιοριστεί σε σχεσιακή άλγεβρα μπορεί και σε σχεσιακό λογισμό και αντιστρόφως

σχεσιακά πλήρης γλώσσα

Page 4: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 4

Σχεσιακός Λογισμός

Δυο προσαρμογές (από παίρνουν τιμές οι μεταβλητές):

-- σχεσιακός λογισμός πλειάδων

-- σχεσιακός λογισμός πεδίου

Page 5: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 5

Σχεσιακός Λογισμός Πλειάδων

• Ο σχεσιακός λογισμός πλειάδων βασίζεται στον προσδιορισμό ενός πλήθους τιμών πλειάδων

• Κάθε μεταβλητή έχει πεδίο τιμών μια σχέση μιας βδ

Page 6: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 6

Σχεσιακός Λογισμός Πλειάδων

• {t | COND(t)} (όπου t μεταβλητή πλειάδων)

t είναι μια μεταβλητή πλειάδων (σχέση) και COND(t) είναι ένας τύπος (formula) που περιγράφει την t

Αποτέλεσμα είναι το σύνολο όλων των πλιεάδων t για τις οποίες η συνθήκη COND(t) είναι TRUE

Page 7: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 7

Παράδειγμα

Ταινία

Τίτλος Έτος Διάρκεια Είδος

Παίζει Όνομα-Ηθοποιού Τίτλος Έτος

Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού

Ηθοποιός

Page 8: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 8

Σχεσιακός Λογισμός Πλειάδων

πχ. οι έγχρωμες ταινίες

{t | Ταινία(t) and t.Είδος = «Έγχρωμη»}

μόνο ο τίτλος και το έτος

{t.Τίτλος, t.Έτος | Ταινία(t) and t.Είδος = «Έγχρωμη»}

Page 9: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 9

Σχεσιακός Λογισμός Πλειάδων

• {t | COND(t)} (όπου t μεταβλητή πλειάδων)

πχ. οι ταινίες με διάρκεια πάνω από 100 λεπτά

{t | Ταινία(t) and t.Διάρκεια > 100}

μόνο ο τίτλος και το έτος

{t.Τίτλος, t.Έτος | Ταινία(t) and t.Διάρκεια > 100}

Page 10: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 10

Σχεσιακός Λογισμός Πλειάδων

{t.Τίτλος, t.Έτος | Ταινία(t) and t.Διάρκεια > 100}

ποια γνωρίσματα (project)

Ποια σχέση

Ποια συνθήκη

Page 11: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 11

Σχεσιακός Λογισμός Πλειάδων

Τυπικός Ορισμός

{t1.A1, t2.A2, …, tn.An | COND(t1, t2, …, tn, tn+1, tn+2, … tn+m)}

t1, t2, …, tn+m : μεταβλητές πλειάδων

Α1, Α2, …, Αn : γνωρίσματα

COND μια συνθήκη ή τύπος του σχεσιακού λογισμού πλειάδων

Page 12: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 12

Σχεσιακός Λογισμός Πλειάδων

Ένας τύπος του σχεσιακού λογισμού πλειάδων αποτελείται από άτομα

Άτομα του σχεσιακού λογισμού πλειάδων:

• R(ti): R όνομα σχέσης, ti μεταβλητή πλειάδων, προσδιορίζει ότι το πεδίο τιμών της πλειάδας είναι η σχέση R

• ti.A opt tj.B

• ti.A opt c ή c opt ti.A

Page 13: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 13

Σχεσιακός Λογισμός Πλειάδων

Κάθε άτομο αποτιμάται σε true ή false (τιμή αληθείας) του ατόμου

Κάθε τύπος κατασκευάζεται από ένα ή περισσότερα άτομα

• Κάθε άτομο είναι ένας τύπος

• (F1 or F2)

• (F1 and F2)

• not(F1)

Page 14: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 14

Σχεσιακός Λογισμός Πλειάδων

Επίσης:

• ( τ) (Φ)

• ( τ) (Φ)

Ελεύθερη και δεσμευμένη μεταβλητή

Απλά, δεσμευμένη αν ποσοδεικτείται

Page 15: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 15

Παράδειγμα

Ταινία

Τίτλος Έτος Διάρκεια Είδος

Παίζει Όνομα-Ηθοποιού Τίτλος Έτος

Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού

Ηθοποιός

Page 16: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 16

Σχεσιακός Λογισμός Πλειάδων

Παράδειγμα: Το όνομα και η διεύθυνση όλων των ηθοποιών που έπαιξαν στη ταινία «ΑΙ» του 2001

{t.Όνομα, t.διεύθυνση |

Ηθοποιός(t) and

(( d) ( Παίζει(d) and d.Τίτλος = ‘ΑΙ’ and d.Έτος = 2001 and

d. Όνομα-Ηθοποιού = t. Όνομα))}

Page 17: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 17

Παράδειγμα

Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει μαζί με τον σύζυγο του/της

Page 18: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 18

Σχεσιακός Λογισμός Πλειάδων

Ασφαλείς Εκφράσεις

Πρέπει να αποτιμάται σε πεπερασμένο αριθμό πλειάδων

Πεδίο ορισμού μιας έκφρασης Ρ: σύνολο τιμών που αναφέρονται στο Ρ, δηλαδή οι τιμές που εμφανίζονται άμεσα στο Ρ (ως σταθερές) και οι τιμές πλειάδων σχέσεων που εμφανίζονται στο Ρ Ασφαλής: τιμές στο αποτέλεσμα από το πεδίο ορισμού

Παράδειγμα μη ασφαλούς: {t | not(Ηθοποιός(t)}

Page 19: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 19

Σχεσιακός Λογισμός Πεδίων

Διαφορά από το σχεσιακό λογισμό πλειάδων: οι μεταβλητές είναι απλές τιμές του πεδίου ορισμού των γνωρισμάτων

{x1, x2, …, xn | COND(x1, x2, …, xn, xn+1, xn+2, … xn+m}

x1, x2, …, xn : μεταβλητές πεδίου τιμών που παίρνουν τιμές από πεδία ορισμού γνωρισμάτων

COND μια συνθήκη ή τύπος του σχεσιακού λογισμού πεδίων

Page 20: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 20

Σχεσιακός Λογισμός Πεδίων

Άτομα του σχεσιακού λογισμού πεδίου

• R(x1, x2, …, xn ): R όνομα σχέσης n-οστού βαθμού

• xi opt xj

• xi opt c ή c opt xi

Για συντομία {x1x2 …xn | R(x1, x2, …, xn )

αντί του {x1, x2, …, xn | R(x1, x2, …,

xn )

Page 21: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 21

Σχεσιακός Λογισμός Πεδίων

Κάθε τύπος κατασκευάζεται από ένα ή περισσότερα άτομα

Page 22: Σχεσιακός Λογισμός

Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 22

Σχεσιακός Λογισμός Πεδίων

Παράδειγμα: Ο αριθμός λογαριασμού, το ποσό και το υποκατάστημα για όλους τους λογαριασμούς στην Πάτρα

{ο, d | Ηθοποιός(odes) and

(( q) ( r) ( s) ( Ταινία(qrs) and r = ‘ΑΙ’ and s = 2001 and q = ο))}

{t.Όνομα, t.Διεύθυνση |

Ηθοποιός(t) and

(( d) ( Παίζει(d) and d.Τίτλος = ‘ΑΙ’ and d.Έτος = 2001 and

d. Όνομα-Ηθοποιού = t. Όνομα))}

πλειάδων

τιμών