Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου Τμ. Διοικητικής Επιστήμης & Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου Τμ. Διοικητικής Επιστήμης & Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών."— Μεταγράφημα παρουσίασης:

1 1 Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου Τμ. Διοικητικής Επιστήμης & Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών

2 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 2 Περιεχόμενα zΣχεσιακό μοντέλο zΜετατροπή Ο-Σ μοντέλου σε σχεσιακό zΣχεσιακή άλγεβρα zΣχεσιακός λογισμός zοι διαφάνειες αυτού του κεφαλαίου βασίζονται σε μεγάλο βαθμό στις διαφάνειες της κυρίας Ευαγγελίας Πιτουρά του Πανεπιστημίου Ιωαννίνων

3 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 3 Σχεσιακό Μοντέλο

4 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 4 Εισαγωγή Σχεδιασμός μιας ΒΔ • ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της • περιγραφή της δομής - σχήμα σε διάφορους συμβολισμούς ή μοντέλα • Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό μοντέλο -- εννοιολογικό • Μετατροπή σε σχεσιακό -> είσοδο σε ένα ΣΔΒΔ

5 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 5 Το Σχεσιακό Μοντέλο Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας (table) που λέγεται σχέση (relation) Γνωρίσματα (attributes, fields) υπάλληλος AFMNameAddressSalary Nikos PapadopoulosPentelis Maria XilomenouDimokratias Giorgos PapasTrikalwn

6 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 6 Σχήμα Σχέσης (Relational Schema) Σχήμα σχέσης R που δηλώνεται R(A 1, A 2, …,A n ) αποτελείται από ένα όνομα σχέσης και μια λίστα από γνωρίσματα. Παράδειγμα - Ταινία(τίτλος, χρόνος, διάρκεια, είδος) Βαθμός: το πλήθος των γνωρισμάτων Παράδειγμα - Υπάλληλος(ΑΦΜ, Όνομα, Επίθετο, Διευθυνση, Μισθός)

7 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 7 τίτλοςχρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World199295έγχρωμη Πλειάδες Οι γραμμές της σχέσης ονομάζονται πλειάδες. Παράδειγμα: (Star Wars, 1997, 124, έγχρωμη) (Wayne’s World, 1992, 95, έγχρωμη) Πλειάδες (Tuples)

8 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 8 Πλειάδες, σχέση Μία σχέση r ή r(R) (ή ένα στιγμιότυπο r του σχήματος σχέσης R) είναι ένα σύνολο από πλειάδες. έκταση ή κατάσταση (extension) Σχήμα σχέσης R που δηλώνεται R(A 1, A 2, …,A n ) αποτελείται από ένα όνομα σχέσης και μια λίστα από γνωρίσματα. πρόθεση (intension)

9 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 9 Ονοματολογία Πίνακας (table)  Σχέση (relation) Στήλη (column, field)  Γνώρισμα ή Χαρακτηριστικό (attribute) Γραμμή, εγγραφή (row, record)  πλειάδα (tuple)

10 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 10 Πεδίο Ορισμού Πεδίο ορισμού D: ένα σύνολο από ατομικές τιμές Κάθε γνώρισμα A i παίρνει τιμές από κάποιο σύνολο D οποίο λέγεται πεδίο ορισμού (domain) του Ai και συμβολίζεται με dom(Ai). (το γνώρισμα είναι το όνομα ενός ρόλου που παίζει κάποιο πεδίο ορισμού D στο σχήμα σχέσης R) Κάθε στοιχείο μιας πλειάδας ατομικό. Πεδίο Ορισμού (παράδειγμα: ακέραιοι, συμβολοσειρές - όχι εγγραφές, πίνακες, λίστες)

11 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 11 Το Σχεσιακό Μοντέλο Κάθε πλειάδα είναι μια διατεταγμένη λίστα από τιμές όπου κάθε τιμή v i είναι ένα στοιχείο του dom(A i ) ή η ειδική τιμή null r(R)  (dom(A 1 ) X dom(A 2 ) X … X dom(A n )) Κάθε σχέση είναι ένα υποσύνολο του καρτεσιανού γινομένου: Παρατηρήσεις • Διάταξη των πλειάδων σε μια σχέση • Διάταξη των γνωρισμάτων στο σχήμα σχέσης

12 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 12 Το Σχεσιακό Μοντέλο Συμβολισμός • Σχήμα σχέσης βαθμού n R(A 1, A 2, …, A n ) • Πλειάδα t της σχέσης r(R) αναφορά στις συνιστώσες τιμές t[Ai] t[A u, A w, …, A z ] όνομα γνωρίσματος t.A i • Q, R, S ονόματα σχέσεων • t, u, v πλειάδες

13 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 13 Το Σχεσιακό Μοντέλο • Σχήμα σχέσης (όνομα + λίστα από γνωρίσματα) • Γνωρίσματα παίρνουν ατομικές τιμές από ένα πεδίο ορισμού • Πλειάδα • Σχέση (ή στιγμιότυπο σχέσης): σύνολο από πλειάδες Ανακεφαλαίωση

14 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 14 Σχήμα Σχεσιακής Βάσης Δεδομένων Σχήμα μιας σχεσιακής βάσης δεδομένων είναι ένα σύνολο από σχήματα σχέσεων Παράδειγμα - Ταινία(τίτλος, χρόνος, διάρκεια, είδος) Ηθοποιός(όνομα, διεύθυνση, έτος-γέννησης) Παίζει(όνομα_ηθοποιοιού, τίτλος, χρόνος) Παράδειγμα – Υπάλληλος(ΑΦΜ, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

15 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 15 Το Σχεσιακό Μοντέλο Τίτλος Έτος Διάρκεια Είδος Ταινία Όνομα-Ηθοποιού Τίτλος Έτος Παίζει Όνομα Διεύθυνση Έτος-Γέννησης Ηθοποιός

16 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 16 Περιορισμός Κλειδιού (Key constraint) Περιορισμός Κλειδιού Μια σχέση ορίζεται ως ένα σύνολο πλειάδων, άρα όλες οι πλειάδες πρέπει να είναι διαφορετικές. Ένα υποσύνολο γνωρισμάτων SK του σχήματος σχέσης R τέτοιο ώστε σε κάθε στιγμιότυπο r(R) κανένα ζευγάρι πλειάδων δε μπορεί να έχει τον ίδιο συνδυασμό τιμών για τα γνωρίσματα αυτά, δηλαδή για δυο διαφορετικές πλειάδες t 1 και t 2, t 1 [SK]  t 2 [SΚ] λέγεται υπερκλειδί ή εμπλουτισμένο κλειδί (superkey)

17 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 17 Περιορισμός Κλειδιού SK υπερκλειδί - υποψήφιο κλειδί - (πρωτεύον) κλειδί υποψήφιο κλειδί Κ (candidate key) : υπερκλειδί με την ιδιότητα ότι αν αφαιρεθεί ένα οποιοδήποτε γνώρισμα Α από το Κ, το Κ’ που προκύπτει δεν είναι υπερκλειδί Συμβολισμός: υπογραμμίζουμε τα γνωρίσματα του πρωτεύοντος κλειδιού • Κάθε σχέση τουλάχιστον ένα υπερκλειδί, ποιο; • Διαλέγουμε ένα υποψήφιο κλειδί να είναι το πρωτεύον (primary)

18 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 18 Περιορισμός Κλειδιού Παράδειγμα – Υπάλληλος(ΑΦΜ, κωδικός, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

19 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 19 Περιορισμός Κλειδιού Παράδειγμα – Υπάλληλος(ΑΦΜ, κωδικός, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

20 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 20 Περιορισμός Κλειδιού Τίτλος Έτος Διάρκεια Είδος Ταινία Όνομα-Ηθοποιού Τίτλος Έτος Παίζει Όνομα Διεύθυνση Έτος-Γέννησης Ηθοποιός

21 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 21 Περιορισμός Ακεραιότητας Οντοτήτων Δε μπορεί η τιμή του πρωτεύοντος κλειδιού να είναι null.

22 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 22 Περιορισμός Αναφορικής Ακεραιότητας (Referenetial Integrity) Περιορισμός Αναφορικής Ακεραιότητας Ορίζεται μεταξύ δύο σχημάτων σχέσεων όταν μια πλειάδα μιας σχέσης αναφέρεται σε μια άλλη αυτή η άλλη πρέπει να υπάρχει Παράδειγμα – Υπάλληλος(ΑΦΜ, κωδικός, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

23 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 23 Περιορισμός Αναφορικής Ακεραιότητας Ένα σύνολο από γνωρίσματα FK ενός σχήματος σχέσης R 1 είναι ένα ξένο κλειδί (foreign key) του R 1 αν • τα γνωρίσματα του FK έχουν το ίδιο πεδίο με το πρωτεύον κλειδί PK ενός άλλου σχήματος R 2 • μια τιμή του FK σε μια πλειάδα t 1 της R 1 είτε εμφανίζεται ως τιμή του PK σε μια πλειάδα t 2 της R 2, δηλαδή t 1 [FK] = t 2 [PK] είτε είναι null Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος

24 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 24 Περιορισμός Αναφορικής Ακεραιότητας • Συνήθως προκύπτουν από συσχετίσεις μεταξύ οντοτήτων • Το ξένο κλειδί μπορεί να αναφέρεται στη δική του σχέση Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Υπάλληλος ?? Υπάλληλος(ΑΦΜ, κωδικός όνομα, διευθυνση, μισθος, ΑΦΜ_προϊσταμένου)

25 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 25 Περιορισμός Σημασιολογικής Ακεραιότητας Παραδείγματα: • ο μισθός ενός εργαζομένου δεν μπορεί να υπερβαίνει το μισθό του προϊσταμένου του • ο μέγιστος αριθμός ωρών που ένας εργαζόμενος μπορεί να απασχοληθεί σε όλα τα έργα ανά εβδομάδα είναι 56.

26 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 26 Περιορισμοί  Περιορισμός Πεδίου Ορισμού Η τιμή κάθε γνωρίσματος A πρέπει να είναι μία ατομική τιμή από το πεδίο ορισμού αυτού του γνωρίσματος dom(A)  Περιορισμός Κλειδιού  Περιορισμός Ακεραιότητας Οντοτήτων Δε μπορεί η τιμή του πρωτεύοντος κλειδιού να είναι null  Περιορισμός Αναφορικής Ακεραιότητας  Περιορισμός Σημασιολογικής Ακεραιότητας

27 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 27 Σχεσιακό Σχήμα Ένα σχεσιακό σχήμα βάσης δεδομένων είναι ένα σύνολο από σχήματα σχέσεων Σ = {R 1, R 2, …, R n } και ένα σύνολο από περιορισμούς ακεραιότητας. Ένα στιγμιότυπο μιας σχεσιακής βάσης δεδομένων ΒΔ του Σ είναι ένα σύνολο από στιγμιότυπα σχέσεων (σχέσεις) ΒΔ = {r 1, r 2, …, r n } τέτοια ώστε κάθε r i είναι ένα στιγμιότυπο του R i που ικανοποιούν τους περιορισμούς ορθότητας (πεδίου ορισμού, κλειδιού, ακεραιότητας οντοτήτων, και αναφορικής ακεραιότητας) Προσοχή: οι περιορισμοί ακεραιότητας πρέπει να ισχύουν σε κάθε στιγμιότυπο.

28 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 28 Το Σχεσιακό Μοντέλο ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

29 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 29 Μετατροπή μοντέλου Ο-Σ σε Σχεσιακό

30 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 30 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Εννοιολογική σχεδίαση (Ο-Σ μοντέλο) Λογική σχεδίαση (Σχεσιακό μοντέλο) Αυτή η απεικόνιση πρέπει να γίνει σύμφωνα με κάποιους κανόνες. απεικόνιση (mapping)

31 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 31 Ανασκόπηση E-R Σημαντικά δομικά χαρακτηριστικά του μοντέλου Ο-Σ: • Οντότητες •ισχυρές και ασθενείς • Συσχετίσεις •1-1, 1-Ν, Ν-1, Μ-Ν • Γνωρίσματα •μονότιμα, σύνθετα, πολλαπλών τιμών

32 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 32 Παράδειγμα Employee Project Department Assigned SSN Works-in Name LastNameFirstName Code Description Location Dependent Policy Name Hours DeptCode

33 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 33 Ισχυροί Τύποι Οντοτήτων 1. Ισχυροί τύποι οντοτήτων με μονότιμα γνωρίσματα Για κάθε (ισχυρό) τύπο οντοτήτων Ε δημιουργούμε ένα σχήμα σχέσης R με τα ίδια γνωρίσματα - ένα για κάθε απλό γνώρισμα του Ε. Αν το Ε έχει σύνθετα γνωρίσματα, στο σχεσιακό σχήμα R έχουμε ένα γνώρισμα για κάθε απλό γνώρισμα που απαρτίζει το σύνθετο. • Παράδειγμα: Employee(SSN,Firstname,Lastname) Οντότητες

34 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 34 Ασθενείς Τύποι Οντοτήτων 2. Ασθενείς τύποι οντοτήτων με (μονότιμα) γνωρίσματα Για κάθε ασθενή τύπο οντοτήτων Α που εξαρτάται από τον ισχυρό τύπο οντοτήτων Β (προσδιορίζον ιδιοκτήτης) δημιουργούμε ένα σχήμα σχέσης R με γνωρίσματα: 1. τα γνωρίσματα του μερικού κλειδιού του Α, και 2. τα γνωρίσματα του πρωτεύοντος κλειδιού του Β • παράδειγμα: Dependent(name, SSN) ξένο κλειδί

35 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 35 Συσχετίσεις Γενικά, για κάθε συσχέτιση R μεταξύ n τύπων οντοτήτων που αντιστοιχούν στις σχέσεις S 1, S 2, …, S n δημιουργούμε μια νέα σχέση R με γνωρίσματα: • τα γνωρίσματα (ξένα κλειδιά) του πρωτεύοντος κλειδιού κάθε συμμετέχουσας σχέσης S i • τα γνωρίσματα της R (αν υπάρχουν) Θα δούμε κάποιες ειδικές περιπτώσεις

36 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 36 Συσχετίσεις δυαδική (μη ασθενής) συσχέτιση Για κάθε 1-1 δυαδική συσχέτιση R μεταξύ δύο τύπων οντοτήτων του διαγράμματος Ο/Σ που αντιστοιχούν στις σχέσεις Τ και S 1. επιλογή μιας εκ των Τ και S, έστω της S 2. το πρωτεύον κλειδί της S γίνεται ξένο κλειδί της Τ • Προτιμάμε τη σχέση που αντιστοιχεί σε τύπο οντοτήτων με ολική συμμετοχή, γιατί; • Τα γνωρίσματα της R;

37 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 37 Συσχετίσεις 1-1 • Παράδειγμα • Εναλλακτικά, συγχώνευση των S και T σε μία μόνο σχέση -- πότε; -- κλειδί;

38 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 38 Συσχετίσεις 1-Ν 2. 1-Ν δυαδική συσχέτιση Για κάθε 1-Ν δυαδική συσχέτιση R μεταξύ δύο τύπων οντοτήτων του διαγράμματος Ο/Σ που αντιστοιχούν στις σχέσεις Τ και S 1. έστω T από την πλευρά 1 2. το πρωτεύον κλειδί της T γίνεται ξένο κλειδί της S Παράδειγμα: Employee(SSN,Firstname,Lastname, DeptCode) ξένο κλειδί

39 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 39 Γνωρίσματα Σύνθετα Ένα γνώρισμα για κάθε απλό γνώρισμα που απαρτίζει το σύνθετο. Πλειότιμα Για κάθε πλειότιμο γνώρισμα Α, κατασκευάζουμε μια σχέση R με γνωρίσματα: • το Α (ή τα γνωρίσματα του Α αν το Α είναι σύνθετο) και • τα γνωρίσματα (ξένο κλειδί) του πρωτεύοντος κλειδιού της σχέσης που παριστάνει τον τύπο οντοτήτων η συσχετίσεων του οποίου γνώρισμα είναι το Α Παράδειγμα: DeptLocations (DeptCode, Location)

40 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 40 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Τύπος οντοτήτων Ανακεφαλαίωση Σχέση (οντοτήτων) Τύπος συσχέτισης 1:1 ή 1:ΝΞένο κλειδί ή Σχέση (συσχέτισης) Τύπος συσχέτισης Μ:ΝΣχέση (συσχέτισης) με 2 ξένα κλειδιά (και γενικά) n-αδικός τύπος συσχέτισης Σχέση (συσχέτισης) με n ξένα κλειδιά Απλό γνώρισμαΓνώρισμα Σύνθετο γνώρισμαΣύνολο από γνωρίσματα Πλειότιμο γνώρισμαΣχέση και ξένο κλειδί

41 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 41 Σχεσιακή Άλγεβρα (Relational Algebra)

42 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 42 Ορισμοί και Τροποποιήσεις Προγράμματα που απαντούν σε ερωτήσεις για τον παρόν στιγμιότυπο της βάσης δεδομένων (quering) Το σχεσιακό μοντέλο έχει ένα σύνολο από πράξεις -> Σχεσιακή Άλγεβρα Τι είναι μία άλγεβρα ? Ένα κλειστό σύνολο Α ως προς ένα σύνολο πράξεων, με άλλα λόγια το αποτέλεσμα της πράξης είναι στοιχείο του Α. Πράξεις επί πινάκων που δίνουν πίνακες.

43 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 43 Σχεσιακή Άλγεβρα Το σχεσιακό μοντέλο υποστηρίζει απλές και ισχυρές γλώσσες ερωτήσεων (σε αντίθεση με το μοντέλο Ο/Σ) Γλώσσες Ερωτήσεων (Query Languages): Επιτρέπουν τον χειρισμό και την εύρεση πληροφορίας από μια βάση δεδομένων

44 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 44 Σχεσιακή Άλγεβρα Γλώσσες Ερωτήσεων != Γλώσσες Προγραμματισμού! •Δεν αναμένεται να είναι “Turing complete”. •Δεν αναμένεται να χρησιμοποιηθούν για ”δύσκολους υπολογισμούς”. •Υποστηρίζουν εύκολη και αποδοτική προσπέλαση σε μεγάλα σύνολα δεδομένων

45 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 45 Σχεσιακή Άλγεβρα • Σχεσιακή Άλγεβρα: Ποιο λειτουργική “operational” (database byte-code!) • Σχεσιακός Λογισμός (calculus): Επιτρέπει στους χρήστες να περιγράψουν τι θέλουν αλλά όχι πώς να το υπολογίσουν (δηλωτική) Δύο μαθηματικές γλώσσες ερωτήσεων αποτελούν το θεωρητικό υπόβαθρο για τις πραγματικές γλώσσες ερωτήσεων (π.χ. SQL) και για την υλοποίησή τους

46 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 46 Σχεσιακή Άλγεβρα Σχεσιακή άλγεβρα: ένας απλός τρόπος δημιουργίας νέων σχέσεων από παλιές. Ένα σύνολο από πράξεις που όταν εφαρμοστούν σε σχέσεις μας δίνουν νέες σχέσεις SQL Σχεσιακή ΆλγεβραΠλάνο Εκτέλεσης μετάφραση optimization

47 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 47 Σχεσιακή Άλγεβρα Οι πράξεις τις σχεσιακής άλγεβρας: 1. Πράξεις που αφαιρούν κομμάτια από μια σχέση είτε επιλέγοντας γραμμές είτε προβάλλοντας στήλες 2. Οι συνηθισμένες πράξεις συνόλου - ένωση, τομή, διαφορά 3. Πράξεις που συνδυάζουν πλειάδες από δύο σχέσεις 4. Μετονομασία γνωρισμάτων

48 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 48 Η Πράξη της Επιλογής Η πράξη της επιλογής (selection) σ ( ) Επιλογή ενός υποσυνόλου των πλειάδων (γραμμών) μιας σχέσης (πίνακα) που ικανοποιεί μια συνθήκη επιλογής θ

49 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 49 Η Πράξη της Επιλογής σ θ ( ) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής θ =, >, <, , ,  συνδυασμένες με AND, OR, NOT ή προτάσεις της μορφής συνθήκη θ

50 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 50 Παράδειγμα ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

51 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 51 Η Πράξη της Επιλογής Παραδείγματα τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη 1. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών) σ διάρκεια > 100 (Ταινία) τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη

52 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 52 Η Πράξη της Επιλογής τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη 2. Ταινίες με διάρκεια μεγαλύτερη των 100 λεπτών που γυρίστηκαν μετά το 1995 σ διάρκεια > 100 AND χρόνος > 1995 (Ταινία) τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη

53 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 53 Η Πράξη της Επιλογής • Η συνθήκη επιλογής εφαρμόζεται ανεξάρτητα σε κάθε πλειάδα (γραμμή) • Ο τελεστής είναι μοναδιαίος (unary) • Ο βαθμός της σχέσης που προκύπτει είναι ίδιος με τον βαθμό της αρχικής R • Πλήθος γραμμών μικρότερο ή ίσο με την αρχική σχέση: το ποσοστό που επιλέγονται ονομάζεται επιλεκτικότητα (selectivity)

54 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 54 Η Πράξη της Επιλογής Ιδιότητες • αντιμεταθετική σ (σ (R)) = σ (σ (R)) • σ (σ ( … σ (R)..)) = σ AND AND (R)

55 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 55 Η Πράξη της Προβολής Η πράξη της προβολής (project) π ( ) Επιλογή συγκεκριμένων στηλών (γνωρισμάτων)

56 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 56 Η Πράξη της Προβολής Παραδείγματα τίτλος χρόνοςδιάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη Wayne’s World έγχρωμη

57 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 57 Η Πράξη της Προβολής 1. Τίτλος, χρόνος, διάρκεια των ταινιών π τίτλος, χρόνος, διάρκεια (Ταινία) τίτλος χρόνοςδιάρκεια Star Wars Mighty Ducks Wayne’s World

58 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 58 Η Πράξη της Προβολής 2. Είδος ταινιών π είδος (Ταινία) είδος έγχρωμη Προσοχή: απαλοιφή διπλότιμων (duplicate elimination)

59 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 59 Η Πράξη της Προβολής • Τα γνωρίσματα έχουν την ίδια διάταξη • Ο τελεστής είναι μοναδιαίος • Ο βαθμός της σχέσης είναι ίσος με τον αριθμό γνωρισμάτων στη • Πλήθος πλειάδων μικρότερο ή ίσο (πότε;) με την αρχική σχέση

60 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 60 Η Πράξη της Προβολής Ιδιότητες • αντιμεταθετική; • π (π (R)) = ?

61 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 61 Σχεσιακή Άλγεβρα διάρκεια Παράδειγμα (ερώτημα με πράξεις σε σειρά - σημαντικό) Διάρκειες μεγαλύτερες των 100 λεπτών π διάρκεια (σ διάρκεια > 100 (Ταινία))

62 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 62 Πράξεις Συνόλου Πράξεις συνόλου • Ένωση (  ) - union • Τομή (  ) - intersection • Διαφορά (-) - difference Συμβατότητα ως προς την ένωση Δύo σχέσεις R(A 1, A 2, …, A n ) και S(B 1, B 2, …, B n ) είναι συμβατές ως προς την ένωση όταν 1. Έχουν τον ίδιο βαθμό n, και 2.  i, dom(A i ) = dom(B i )

63 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 63 Πράξεις Συνόλου • Σύμβαση: η προκύπτουσα σχέση έχει τα ίδια ονόματα με την πρώτη σχέση • Απαλοιφή διπλότιμων (duplicate elimination)

64 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 64 Σχεσιακή Άλγεβρα Α Β σ a > b (R) Π Α (R) R B C S R  S R  S R - S

65 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 65 Ανάθεση Ανάθεση (Assignment) R  • όνομα στην ενδιάμεση σχέση ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ  σ διάρκεια > 100 (Ταινία) Παράδειγμα

66 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 66 Μετονομασία R(λίστα με νέα ονόματα)  • μετονομασία γνωρισμάτων ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ (όνομα ταινίας, έτος παραγωγής, διάρκεια, είδος)  σ διάρκεια > 100 (Ταινία) Παράδειγμα όνομα ταινίας έτος παραγωγής διάρκειαείδος Star Wars έγχρωμη Mighty Ducks έγχρωμη

67 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 67 Καρτεσιανό Γινόμενο Καρτεσιανό Γινόμενο (cartesian product) R(A 1, A 2, …, A n ) x S(B 1, B 2, …, B m ) (ή χιαστί γινόμενο (cross product) ή χιαστί συζεύξη (cross join)) αποτέλεσμα η σχέση Q: Q(A 1, A 2, …, A n, B 1, B 2, …, B m ) • n + m γνωρίσματα • n R * n S πλειάδες • τι γίνεται αν κάποια γνωρίσματα έχουν ίδια ονόματα ?

68 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 68 Καρτεσιανό Γινόμενο Α Β B C D RS R x S A R.B S.B C D

69 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 69 Παράδειγμα ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

70 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 70 Καρτεσιανό Γινόμενο Για κάθε ηθοποιό το όνομα τον τίτλο και έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα π όνομα-ηθοποιού, τίτλος, έτος (σ είδος = “έγχρωμη” AND Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος = Ταινία.έτος (Παίζει x Ταινία)) π όνομα-ηθοποιού, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = “έγχρωμη” (Ταινία))) ή

71 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 71 Καρτεσιανό Γινόμενο Ταινία Τίτλος Έτος Διάρκεια Είδος Παραμύθι Έγχρωμη Παραμύθι Ασπρόμαυρη Φυγή200098Ασπρόμαυρη Άνοιξη Έγχρωμη Όνομα-ΗθοποιούΤίτλοςΈτος Αλίκη ΠαππάΠαραμύθι1930 Μαρία ΓεωργίουΠαραμύθι1990 Κώστας ΧρήστουΦυγή2000 Μαρία ΣτεργίουΆνοιξη1998 Παίζει

72 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 72 Παράδειγμα Παράδειγμα – Υπάλληλος(ΑΦΜ, κωδικός, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

73 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 73 Καρτεσιανό Γινόμενο Για κάθε υπάλληλο δείξε το όνομα του και την περιγραφή κάθε έργου στο οποίο συμμετέχει. Παράδειγμα π ονομα, περιγραφη (σ κωδικός_έργου = Project.κωδικός_έργου (σ Υπάλληλος.ΑΦΜ = Συμμετέχει.ΑΦΜ (Υπάλληλος x Συμμετέχει) x Project)) Άλλη έκφραση που να περιγράφει το ίδιο ερώτημα? Γιατί?

74 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 74 Σύζευξη (Join) Θ-Σύζευξη (θ-join) συνδυασμός σχετιζόμενων πλειάδων R θ S (  σ θ (R x S) ) =, >, <, , ,  Συνθήκη σύζευξης θ A i B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(A i ) = dom(B j ) Προτάσεις της μορφής συνδυασμένες με AND

75 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 75 Σύζευξη • το αποτέλεσμα είναι οι συνδυασμοί πλειάδων που ικανοποιούν τη συνθήκη • η συνθήκη αποτιμάται για κάθε συνδυασμό • αποτέλεσμα σχέση Q με n + m γνωρίσματα • πλειάδες με τιμή null σε γνώρισμα συνένωσης δεν εμφανίζονται στο αποτέλεσμα • γιατί μια καινούργια πράξη? • πιο αποτελεσματικό implementation + σύνηθες

76 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 76 Σύζευξη B C D UV Α Β C U A

77 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 77 Σύζευξη Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Παράδειγμα π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = “έγχρωμη” (Ταινία))) π όνομα, τίτλος, έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = “έγχρωμη” (Ταινία))

78 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 78 Σύζευξη Ισότητας (equijoin) Συνθήκη σύζευξης A i = B j όπου A i γνώρισμα της R, B j γνώρισμα της S, και dom(A i ) = dom(B j ) Προτάσεις της μορφής συνδυασμένες με AND όταν χρησιμοποιείται μόνο τελεστής ισότητας

79 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 79 Σύζευξη Ισότητας Α Β B C D RS A R.B S.B C D R R.B = S.B S

80 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 80 Φυσική Σύζευξη (Natural Join) Φυσική Σύζευξη σύζευξη ισότητας όπου παραλείπουμε το γνώρισμα της δεύτερης σχέσης από το αποτέλεσμα όταν διαφορετικό όνομα - μετονομασία R * (λίστα1, λίστα2) S επιλεκτικότητα σύζευξης : μέγεθος αποτελέσματος / (n r * n s )

81 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 81 Φυσική Σύζευξη Α Β B C D RSR * S A B C D

82 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 82 Φυσική Σύζευξη B C D UV Α Β C U * V A B C D

83 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 83 Συναθροιστικές Συναρτήσεις (Aggregate functions) • Χρήσιμη η δυνατότητα της συνάθροισης: συνδυασμός των γραμμών μιας σχέσης για τον υπολογισμό μιας συναθροιστικής τιμής (π.χ. min, max, sum, count, avg) • Παραδείγματα: πόσοι ηθοποιοί παίζουν σε μια ταινία, ποιος ηθοποιός πήρε το μεγαλύτερο μισθό, κ.λ.π. Συναθροιστικές Συναρτήσεις • Παραδείγματα: πόσοι δουλεύουν σε κάποιο έργο, ποιός έχει το μεγαλύτερο μισθό, κ.λ.π. • Η βάση για ερωτήματα στήριξης αποφάσεων (decision support)

84 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 84 Συναθροιστικές Συναρτήσεις • συναρτήσεις που παίρνουν ως παράμετρο μια συλλογή (όχι σύνολο) από τιμές • αποτέλεσμα μια σχέση (πίνακας) και όχι μια τιμή π ( ) • συνήθεις συναρτήσεις: SUM, AVERAGE, MAX, MIN, COUNT ζεύγη - π.χ. max(μισθός)

85 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 85 Συναθροιστικές Συναρτήσεις Παράδειγμα: μέση διάρκεια ταινιών AVERAGE_διάρκεια 91 Παράδειγμα: παλιότερη και πιο πρόσφατη έγχρωμη ταινία π AVERAGE(διάρκεια) (Ταινία) π ΜΙΝ (έτος), ΜΑΧ (έτος) ( σ είδος = έγχρωμη (Ταινία)) ΜΙΝ_έτος MAX_έτος

86 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 86 Συναθροιστικές Συναρτήσεις Παρατήρηση: σύμβαση για το όνομα των γνωρισμάτων του αποτελέσματος (δηλ, concatenation του ονόματος της συνάρτησης με το όνομα του γνωρίσματος)- δυνατή και η μετονομασία

87 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 87 Συναθροιστικές Συναρτήσεις F ( ) Ομαδοποίηση (Grouping) Παράδειγμα: πόσοι ηθοποιοί ανά ταινία πόσα έργα ανά υπάλληλο

88 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 88 Συναθροιστικές Συναρτήσεις Παράδειγμα: αριθμός ηθοποιών ανά ταινία Τίτλος, έτος F COUNT Όνομα-Ηθοποιού (Παίζει) Τίτλος Έτος COUNT_Όνομα Ηθοποιού Sixth Sense Run Lola Run Eyes Wide Shut Ποιο θα ήταν το αποτέλεσμα αν δεν υπήρχαν τα γνωρίσματα ομαδοποίησης;

89 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 89 Εξωτερική Σύζευξη (Outer Join) Εξωτερική Σύζευξη Όταν θέλουμε να κρατήσουμε στο αποτέλεσμα όλες τις πλειάδες - και αυτές που δεν ταιριάζουν) είτε της σχέσης στα αριστερά (αριστερή – left - εξωτερική συνένωση) είτε της σχέσης στα δεξιά (δεξιά – right - εξωτερική συνένωση) R S Α C Α B Α C B Α C B null Α C B null 9 R * S

90 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 90 Αλλαγές στη Β.Δ. Διαγραφή (Deletion) • Διαγραφή ολόκληρων γραμμών • Επιτυγχάνεται μέσω της πράξης της ανάθεσης και διαφοράς: R <- R - E • R το όνομα μίας σχέσης, Ε μια έκφραση σε σχεσιακή άλγεβρα • Παράδειγμα: Υπάλληλος 2500 (Υπάλληλος)

91 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 91 Αλλαγές στη Β.Δ. Εισαγωγή (Insertion) • Επιτυγχάνεται μέσω της πράξης της ανάθεσης και ένωσης: R <- R U E ή R <- R U {“ ”, “Damianos”, …} • R το όνομα μίας σχέσης, Ε μια έκφραση σε σχεσιακή άλγεβρα

92 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 92 Αλλαγές στη Β.Δ. Ενημέρωση (Updating) •Επιτυγχάνεται μέσω μίας νέας πράξης, που συμβολίζεται με δ. •δ ), όπου Ε μία έκφραση στο πεδίο τιμών του γνωρίσματος. •Παράδειγμα: δ μισθός <- μισθός*1.05 (Υπάλληλος)

93 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 93 Όψεις Β.Δ. (Views) Views • Δεν είναι απαραίτητο κάθε χρήστης να έχει την ίδια εικόνα της Β.Δ. (λόγοι ασφάλειας, πολυπλοκότητας, personalization) • Κάθε σχέση που δεν είναι μέρος του λογικού μοντέλου αλλά είναι ορατή στο χρήστη σαν «εικονική», λέγεται όψη (view). • Μία όψη δεν είναι απαραίτητa υλοποιημένη (materialized), συνήθως επανα-υπολογίζεται. • Συνήθως μεγάλος αριθμός όψεων επί ενός σχήματος. • Οι αποθήκες δεδομένων στηρίζονται στην έννοια των όψεων. • Οι ενημερώσεις των όψεων δημιουργουν προβλήματα. Γιατί?

94 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 94 Σχεσιακός Λογισμός (Relational Calculus)

95 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 95 Σχεσιακός Λογισμός • Στη σχεσιακή άλγεβρα έχουμε μια ακολουθία πράξεων ενώ στον σχεσιακό λογισμό έχουμε δηλωτικές εκφράσεις (μη διαδικαστικός τρόπος) – βασισμένο στη μαθηματική λογική (First Order Predicate Calculus)

96 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 96 Σχεσιακός Λογισμός Expressivity: Το σύνολο των ερωτημάτων που μπορεί να εκφράσει μια γλώσσα. • Σχεσιακή άλγεβρα = Σχεσιακό λογισμό όποιo ερώτημα μπορεί να προσδιοριστεί σε σχεσιακή άλγεβρα μπορεί και σε σχεσιακό λογισμό και αντιστρόφως σχεσιακά πλήρης γλώσσα

97 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 97 Σχεσιακός Λογισμός Δυο προσαρμογές (από παίρνουν τιμές οι μεταβλητές): -- σχεσιακός λογισμός πλειάδων (tuple relational cal.) -- σχεσιακός λογισμός πεδίου (domain relational cal.) Ορισμός ενός συνόλου από τιμές μέσω μιας λογικής συνθήκης. Π.χ. μαθηματικά: {x : x (0,1) και x < ½}

98 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 98 Σχεσιακός Λογισμός Πλειάδων (Tuple relational calculus) • Ο σχεσιακός λογισμός πλειάδων βασίζεται στον ορισμό ενός συνόλου πλειάδων μέσω μίας λογικής έκφρασης • Κάθε μεταβλητή παίρνει τιμές από μια σχέση μιας Β.Δ.

99 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 99 Παραδείγματα Παράδειγμα – Υπάλληλος(ΑΦΜ, κωδικός, όνομα, διευθυνση, μισθος) Project (κωδικός_έργου, περιγραφή, τοποθεσία) Συμμετέχει(ΑΦΜ, κωδικός_έργου, ώρες)

100 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 100 Παραδείγματα • Βρες τους υπαλλήλους με μισθό πάνω από 1200 ευρώ: {t : t Υπάλληλος και t.μισθός > 1200} ή {t : Υπάλληλος(t) και t.μισθός > 1200 } κατηγορηματικός λογισμός (αποτίμηση σε T/F) • Βρες το όνομα των υπαλλήλων με μισθό πάνω από 1200 ευρώ: {t.όνομα : Υπάλληλος(t) και t.μισθός > 1200 }

101 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 101 Σχεσιακός Λογισμός Πλειάδων • {t | COND(t)} (όπου t μεταβλητή πλειάδων) t είναι μια μεταβλητή πλειάδων (επί μίας σχέσης) και η συνθήκη COND(t) είναι ένας τύπος (formula) που για κάθε t αποτιμάται σε true / false. Αποτέλεσμα είναι το σύνολο όλων των πλειάδων t για τις οποίες η συνθήκη COND(t) είναι TRUE

102 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 102 Παράδειγμα ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

103 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 103 Σχεσιακός Λογισμός Πλειάδων πχ. οι έγχρωμες ταινίες {t | Ταινία(t) and t.Είδος = «Έγχρωμη»} μόνο ο τίτλος και το έτος {t.Τίτλος, t.Έτος | Ταινία(t) and t.Είδος = «Έγχρωμη»}

104 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 104 Σχεσιακός Λογισμός Πλειάδων • {t | COND(t)} (όπου t μεταβλητή πλειάδων) πχ. οι ταινίες με διάρκεια πάνω από 100 λεπτά {t | Ταινία(t) and t.Διάρκεια > 100} μόνο ο τίτλος και το έτος {t.Τίτλος, t.Έτος | Ταινία(t) and t.Διάρκεια > 100}

105 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 105 Σχεσιακός Λογισμός Πλειάδων {t.Τίτλος, t.Έτος | Ταινία(t) and t.Διάρκεια > 100} ποια γνωρίσματα (project) Ποια σχέση Ποια συνθήκη

106 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 106 Σχεσιακός Λογισμός Πλειάδων Τυπικός Ορισμός {t 1.A 1, t 2.A 2, …, t n.A n | COND(t 1, t 2, …, t n, t n+1, t n+2, … t n+m )} t 1, t 2, …, t n+m : μεταβλητές πλειάδων Α 1, Α 2, …, Α n : γνωρίσματα COND ένας τύπος (formula) του σχεσιακού λογισμού πλειάδων

107 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 107 Σχεσιακός Λογισμός Πλειάδων Ένας τύπος του σχεσιακού λογισμού πλειάδων αποτελείται από ατομικούς τύπους Ατομικοί τύποι του σχεσιακού λογισμού πλειάδων: • R(t i ): R όνομα σχέσης, t i μεταβλητή πλειάδων, προσδιορίζει ότι το πεδίο τιμών της πλειάδας είναι η σχέση R • t i.A opt t j.B • t i.A opt c ή c opt t i.A, c σταθερά

108 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 108 Σχεσιακός Λογισμός Πλειάδων Κάθε ατομικός τύπος αποτιμάται σε true ή false (τιμή αληθείας) Κάθε τύπος κατασκευάζεται από ένα ή περισσότερους άτομικούς τύπους • Κάθε ατομικός τύπος ένας τύπος • (F1 or F2) • (F1 and F2) • not(F1)

109 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 109 Σχεσιακός Λογισμός Πλειάδων Επίσης: • (  τ) (Φ) • (  τ) (Φ) Ελεύθερη και δεσμευμένη μεταβλητή Απλά, δεσμευμένη αν ποσοδεικτείται

110 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 110 Παράδειγμα ΤαινίαΤίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός

111 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 111 Σχεσιακός Λογισμός Πλειάδων Παράδειγμα: Το όνομα και η διεύθυνση όλων των ηθοποιών που έπαιξαν στη ταινία «ΑΙ» του 2001 {t.Όνομα, t.διεύθυνση | Ηθοποιός(t) and ((  d) ( Παίζει(d) and d.Τίτλος = ‘ΑΙ’ and d.Έτος = 2001 and d. Όνομα-Ηθοποιού = t. Όνομα))}

112 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 112 Παραδείγματα • Βρες το ΑΦΜ των υπαλλήλων που δουλεύουν σε κάποιο έργο στο «Μαρούσι»: {t.ΑΦΜ : Συμμετέχει(t) και Project (r) και t.ΑΦΜ = r.ΑΦΜ και r.τοποθεσία = «Μάρούσι»} ή {t.ΑΦΜ : Συμμετέχει(t) και (  r) ( Project (r) και t.ΑΦΜ = r.ΑΦΜ και r.τοποθεσία = «Μάρούσι»}

113 Πληροφοριακά Συστήματα & Βάσεις Δεδομένων - ΔΕΤ 113 Παραδείγματα •Βρες το όνομα των υπαλλήλων που δουλεύουν σε όλα τα έργα: {t.όνομα : Υπάλληλος(t) και (  r) ( Project (r) =>  (s) (Συμμετέχει(s) και s.ΑΦΜ = r.ΑΦΜ και s.ΑΦΜ=t.ΑΦΜ)) }


Κατέβασμα ppt "1 Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου Τμ. Διοικητικής Επιστήμης & Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google