Βάσεις Δεδομένων Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε: Να συντάσσει με ευχέρεια εντολές σε Structured Query Language για τη Διαχείριση της Βάσης Δεδομένων και την εκτέλεση ερωτημάτων. 4
Περιεχόμενα Ενότητας Η εργασία του Διαχειριστή Βάσεων Δεδομένων Τεχνικές Διαχείρισης της Ακεραιότητας των Βάσεων Δεδομένων Τεχνικές Επαναφοράς Βάσης Δεδομένων Μελέτες Περίπτωσης 5
Διάγραμμα Οντοτήτων - University 6 Μια Εικόνα – Χίλιες Λέξεις
Τύπος Οντότητας - Τάξη Τύπος Οντότητας (Entity Type) – Τάξη – Μια ομάδα αντικειμένων με τις ίδιες ιδιότητες που έχουν ανεξάρτητη ύπαρξη μέσα στην επιχείρηση ή τον οργανισμό Αντικείμενο – Οντότητα - Entity occurrence – Μοναδιαίο οριζόμενο αντικείμενο από μια τάξη 7 StudentNoNameFatherNameBirtdayAddressTelephone DepartmentCO de 1234Γεωργίου ΓεώργιοςΝικόλαος 10/10/199 4 Κήπων 10 - Αθήνα ΔΕ
Τρόπος Εμφάνισης Τύπου Οντότητας στο Διάγραμμα 8 Το όνομα της Οντότητας (Τάξης)
Σχέσεις μεταξύ των Οντοτήτων Τύπος Σχέσης (Relationship Type) – Σύνολο από ορθολογικές συσχετίσεις μεταξύ των οντοτήτων. Σχέση ανάμεσα σε τύπους Οντοτήτων. Σχέση - Περίπτωση Σχέσης (Relationship occurrence) – Η μοναδιαία οριζόμενη συσχέτιση, που περιλαμβάνει τα αντικείμενα από τις εμπλεκόμενες οντότητες. 9 Τύπος Σχέσης
Σημασιολογικό Δίκτυο και Διάγραμμα ενός τύπου Σχέσης Φοιτητής Παρακολουθεί Μάθημα Μ Μ9 Μ5 1031
Τύποι Σχέσεων Degree – Βαθμός της Σχέσης – Ο αριθμός των οντοτήτων που συμμετέχουν στη Σχέση. Για τους βαθμούς δίνουμε : – 2 - Δευτέρου (binary) – 3- Τρίτου (Ternary) – 4- Τέταρτου (quaternary). 11
Τύποι Σχέσεων (2) Αναδρομική Σχέση (Recursive Relationship) – Σχέση κατά την οποία η ίδια οντότητα συμμετέχει και στις δύο πλευρές με διαφορετικούς ρόλους. – Στις σχέσεις δίνουμε όνομα τους ρόλους για να δείχνουμε τον σκοπό με τον οποίο συμμετέχει κάθε οντότητα και το ρόλο που παίζει στην σχέση 12
Οντότητες που έχουν δύο Σχέσεις με Διαφορετικούς Ρόλους 13 Ένας Καθηγητής Διευθύνει το Τμήμα Ο Καθηγητής Εργάζεται στο τμήμα
Χαρακτηριστικά -Attributes Χαρακτηριστικό -Attribute – Ιδιότητα ενός τύπου οντότητας ή μιας σχέση τύπων οντοτήτων. Πεδίο τιμών Χαρακτηριστικού -Attribute Domain – Σύνολο από τις επιτρεπτές τιμές του χαρακτηριστικού. – Το φύλο έχει πεδίο τιμών (Άρρεν, Θήλυ ) 14
Χαρακτηριστικά Απλά Χαρακτηριστικά - Simple Attribute – Τα χαρακτηριστικά που αποτελούνται από ένα μόνο συστατικό με ανεξάρτητη ύπαρξη Σύνθετο Χαρακτηριστικό (Composite Attribute) – Χαρακτηριστικά που αποτελούνται από δύο η περισσότερα συστατικά, καθένα από τα οποία έχουν ανεξάρτητη ύπαρξης Με μία μόνο τιμή (Single-valued Attribute) – Το χαρακτηριστικό δέχεται μόνο μία τιμή για κάθε περίπτωση της οντότητας Χαρακτηριστικά με πολλές τιμές (Multi Value) – Χαρακτηριστικά που μπορούν να δέχονται πολλές τιμές για κάθε περίπτωση της οντότητας Παραγόμενο Χαρακτηριστικό (Derived Attribute) – Χαρακτηριστικό το οποίο εκφράζει τιμές που μπορούν να υπολογισθούν ή να προσδιορισθούν από την τιμή άλλου ή άλλων χαρακτηριστικών (τα οποία δεν είναι απαραίτητο να βρίσκονται στην ίδια σχέση). 15
Κλειδιά Υποψήφια κλειδιά - Candidate Key – Το ελάχιστο σύνολο των χαρακτηριστικών το οποίο μπορεί να ορίσει μοναδικά την περίπτωση ενός τύπου οντότητας Πρωτεύων κλειδί - Primary Key – Ένα υποψήφιο κλειδί που έχει καθορισθεί ότι αποτελεί εκείνο το κλειδί που θα μας ορίζει μοναδικά τις περιπτώσεις των τύπων οντοτήτων Σύνθετο κλειδί -Composite Key – Ένα υποψήφιο κλειδί το οποίο αποτελείται από περισσότερα από ένα χαρακτηριστικά 16
Διάγραμμα Καθηγητής – Τμήμα με τα χαρακτηριστικά τους 17
Τύποι Οντοτήτων Ισχυρός Τύπος Οντότητας -Strong Entity Type – Εκείνη η οντότητα που η ύπαρξή της δεν εξαρτάται από άλλη οντότητα Ασθενής Τύπος Οντότητας -Weak Entity Type – Εκείνη η οντότητα που η ύπαρξή της εξαρτάται από άλλη οντότητα 18 Ασθενής Οντότητα Ισχυρή Οντότητα
Σχέση Διδάσκει με Χαρακτηριστικά 19
Δομικοί περιορισμοί - Structural Constraints Ο βασικός τύπος περιορισμού στις σχέσεις λέγεται πολλαπλότητα Μultiplicity Πολλαπλότητα (Multiplicity) - Ο αριθμός ή το εύρος του πλήθους των περιπτώσεων ενός τύπου οντότητας που είναι συσχετισμένο με μια οντότητα ενός άλλου τύπου οντότητας. Οι Δυαδικές Σχέσεις έχουν την παρακάτω πολλαπλότητα: – Ένα με Ένα - one-to-one (1:1) – Ένα με Πολλά - one-to-many (1:*) – Πολλά με Πολλά - many-to-many (*:*) 20
Σχέσεις και Πολλαπλότητα ( 1:*) 21 Ένας Καθηγητής μπορεί να διδάσκει ένα ή περισσότερα μαθήματα Πολλαπλότητα Ένα μάθημα αν διδάσκεται τότε το διδάσκει ένας μόνο Καθηγητής
Σχέσεις και Πολλαπλότητα 1:1 22 Το Τμήμα Διοικειται από έναν μόνο Καθηγητή Οι Καθηγητές μπορεί να μην διοικούν τμήμα αλλά όταν διοικούν τότε διοικούν ένα μόνο τμήμα
Σχέσεις και Πολλαπλότητα *:* 23 Ένας Καθηγητής μπορεί να διδάσκει ένα ή περισσότερα μαθήματα Ένας μάθημα αν διδάσκεται τότε μπορεί να το διδάσκουν περισσότεροι από ένας καθηγητές
Δομικοί Περιορισμοί Η πολλαπλότητα έχει δύο συστατικά: Πλήθος (Cardinality) και Συμμετοχή (Participation). Cardinality – Περιγράφει τον μέγιστο των συσχετίσεων μιας οντότητας σε ένα δεδομένο τύπο σχέσης. Participation – Προσδιορίζει αν όλες ή μόνο μερικές οντότητες συμμετέχουν σε μια σχέση. 24 Πλήθος Συμμετοχή
Προβλήματα στη Μοντελοποίηση Τα προβλήματα που ενδέχεται να προκύψουν στη δημιουργία του Σημασιολογικού μοντέλου λέγονται Παγίδες Σύνδεσης (connection traps) Συχνά είναι αποτέλεσμα της κακής επεξεργασίας της συγκεκριμένης σχέσης. Υπάρχουν δυο παγίδες που εμφανίζονται συχνά : – Παγίδα της Βεντάλιας (fan traps) και – Παγίδα του χάσματος (chasm traps). 25
Προβλήματα στη Μοντελοποίηση (2) Βεντάλια - Fan Trap – Όταν το μοντέλο παρουσιάζει μια σχέση ανάμεσα σε δυο τύπους οντοτήτων αλλά δεν υπάρχει το μονοπάτι ανάμεσα στις οντότητες Χασμα - Chasm Trap – Όταν το μοντέλο προτείνει μία σχέση ανάμεσα σε δύο τύπους οντοτήτων αλλά δεν υπάρχει το μονοπάτι ανάμεσα σε συγκεκριμένες οντότητες. 26
Το πρόβλημα Fun Trap 27
Το πρόβλημα Fun Trap (2) 28 Σε ποιό τμήμα διδάσκουν οι Κ1, Κ2, Κ3 και Κ4; Κ1 Κ3 Κ2 ΚαθηγητήςΣχολή Τμήμα Τ1 Σ2 Τ3 Τ2 Σ1 Κ4 Τ4
Επίλυση του Προβλήματος - Fan Trap Αναδιοργάνωση των Σχέσεων 29
Παράδειγμα Παγίδας Χάσματος (Chasm Trap) Σε ποιο τμήμα διδάσκεται το μάθημα Μ4 30 Τ1Τ1 Τ3 Τ2Τ2 ΤμήμαΚαθηγητής Μάθημα Μ1Μ1 Κ2Κ2 Μ3Μ3 Μ2Μ2 Κ1Κ1 Μ4Μ4 Κ3
Παράδειγμα Παγίδας Χάσματος (Chasm Trap) (2) Το πρόβλημα λύνεται με αναδιοργάνωση του διαγράμματος – πρόσθεση νέας σχέσης 31
Σημασιολογικό Δίκτυο Νέας Δομής 32 Τ1Τ1 Τ3 Τ2Τ2 Τμήμα Καθηγητής Μάθημα Μ1Μ1 Κ2Κ2 Μ3Μ3 Μ2Μ2 Κ1Κ1 Μ4Μ4 Κ3 Έχει Διδάσκει Περιλαμβάνει
Τέλος Ενότητας