ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε: Να συντάσσει με ευχέρεια εντολές σε Structured Query Language για τη Διαχείριση της Βάσης Δεδομένων και την εκτέλεση ερωτημάτων. 4
Περιεχόμενα Ενότητας Η εργασία του Διαχειριστή Βάσεων Δεδομένων Τεχνικές Διαχείρισης της Ακεραιότητας των Βάσεων Δεδομένων Τεχνικές Επαναφοράς Βάσης Δεδομένων Μελέτες Περίπτωσης 5
Διάγραμμα Οντοτήτων - University Μια Εικόνα Χίλιες Λέξεις 6
Τύπος Οντότητας - Τάξη Τύπος Οντότητας (Entity Type) Τάξη Μια ομάδα αντικειμένων με τις ίδιες ιδιότητες που έχουν ανεξάρτητη ύπαρξη μέσα στην επιχείρηση ή τον οργανισμό Αντικείμενο Οντότητα - Entity occurrence Μοναδιαίο οριζόμενο αντικείμενο από μια τάξη StudentNo Name FatherName Birtday Address Telephone 1234 Γεωργίου Γεώργιος Νικόλαος 10/10/199 4 Κήπων 10 - Αθήνα 210 6010900 DepartmentCO de ΔΕ 7
Τρόπος Εμφάνισης Τύπου Οντότητας στο Διάγραμμα Το όνομα της Οντότητας (Τάξης) 8
Σχέσεις μεταξύ των Οντοτήτων Τύπος Σχέσης (Relationship Type) Σύνολο από ορθολογικές συσχετίσεις μεταξύ των οντοτήτων. Σχέση ανάμεσα σε τύπους Οντοτήτων. Σχέση - Περίπτωση Σχέσης (Relationship occurrence) Η μοναδιαία οριζόμενη συσχέτιση, που περιλαμβάνει τα αντικείμενα από τις εμπλεκόμενες οντότητες. Τύπος Σχέσης 9
Σημασιολογικό Δίκτυο και Διάγραμμα ενός τύπου Σχέσης 121 143 161 Μ4 1031 2543 Μ5 1211 1635 Μ9 Φοιτητής Παρακολουθεί Μάθημα 10
Τύποι Σχέσεων 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) Κ1 Κ2 Κ3 Κ4 Σ1 Σ2 Τ1 Τ2 Τ3 Τ4 Καθηγητής Σχολή Τμήμα Σε ποιό τμήμα διδάσκουν οι Κ1, Κ2, Κ3 και Κ4; 28
Επίλυση του Προβλήματος - Fan Trap Αναδιοργάνωση των Σχέσεων 29
Παράδειγμα Παγίδας Χάσματος (Chasm Trap) Σε ποιο τμήμα διδάσκεται το μάθημα Μ4 Τ1 Τ2 Τ3 Κ1 Κ2 Κ3 Μ1 Μ2 Μ3 Μ4 Τμήμα Καθηγητής Μάθημα 30
Παράδειγμα Παγίδας Χάσματος (Chasm Trap) (2) Το πρόβλημα λύνεται με αναδιοργάνωση του διαγράμματος πρόσθεση νέας σχέσης 31
Σημασιολογικό Δίκτυο Νέας Δομής Τ1 Τ2 Τ3 Έχει Κ1 Κ2 Κ3 Τμήμα Περιλαμβάνει Διδάσκει Καθηγητής Μ1 Μ2 Μ3 Μ4 Μάθημα 32
Τέλος Ενότητας