Κλειδιά (keys) Key (κλειδί) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Σούπερκλειδί (superkey) Ένα πεδίο ορισµού ή ένα σύνολο από πεδία ορισµού το οποίο µοναδικός αναγνωρίζει µια οντότητα Ένα σύνολο από πεδία (attributes) τα οποία περιέχουν ένα σουπερκλειδί είναι και αυτά σουπερκλειδιά
Κλειδιά (keys) Candidate key (Υποψήφιο κλειδί) Ένα σουπερκλειδί το οποίο δεν περιέχει περιττά πεδία Π.χ. {Φοιτητής, Ειδικότητα} δεν είναι Υποψήφιο κλειδί Candidate Key Primary key (Κυρίως κλειδί) Το υποψήφιο κλειδί που έχει εκλεγεί να χρησιµοποιηθεί σαν κλειδί
Παραδείγµατα Κλειδί (key) Αριθµός Κοιν. Ασφ. Αριθµός Τηλεφώνου Αριθµός Πινακίδας Αυτοκίνητου Αριθµός Πινακίδας Αυτοκίνητου (όχι κλειδί) (Πολιτεία, Αριθµός Πινακίδας Αυτοκίνητου) Σύνθετο κλειδί Τύπος Οντότητας Όλοιοικάτοικοιτης Κύπρου Υπεραστικοί Λογαριασµοί ΝC Αυτοκίνητα Όλα τα Αυτοκίνητα της Αµερικής Όλα τα Αυτοκίνητα της Αµερικής
Βασικές Έννοιες του E-R Μοντέλου Σχέσεις (Relationships) Αρχικό σχέδιο της βάσης δεδοµένων ΕΤΑΙΡΕΙΑ ΤΜΗΜΑ (Όνοµα, Αριθµό, Τόπος, Manager, ManagerStartDay) PROJECT (Όνοµα, Αριθµό, Τόπος, Controlling Department) ΥΠΑΛΛΗΛΟΣ (Όνοµα, ΑΚΑ, Φύλο, ιεύθυνσης, Μισθός, Τµήµα, Ηµεροµ. Γεννήσεως, Υπεύθυνος) ΕΞΑΡΤΩΜΕΝΑ (Υπάλληλος, ΌνοµαΕξαρτώµενου, Φύλο, Ηµερ. Γεν., Σχέσης)
Σχέσεις (Relationships) Αρχικό σχέδιο βάσης δεδοµένων ΕΤΑΙΡΕΙΑ Υπάλληλος δουλεύει σε πολλά Project? ΠόσεςώρεςδουλεύεισεαυτάταProject? Για ποιο τµήµαδουλεύειέναςυπάλληλος? Όταν µια οντότητα αναφέρεται σε άλλη τότε κάποια ΣΧΕΣΗ ΥΠΑΡΧΕΙ Στο Ο-Σ µοντέλο αυτές οι σχέσεις παρουσιάζονται σαν ΣΧΕΣΕΙΣ όχι πεδία
Fig 3.8 DEPARTMENT Name, Number, {Locations}, Manager, ManagerStartDate PROJECT Name, Number, Location, ControllingDepartment EMPLOYEE Name (FName, MInit, LName), SSN, Sex, Address, Salary, BirthDate, Department, Supervisor, {WorksOn (Project, Hours)} DEPENDENT Employee, DependentName, Sex, BirthDate, Relationship
Σχέσεις (Relationships) Μια Μεθοδολογία Εύρεσης Σχέσης 1. Κατασκεύασε ένα πίνακα Οντότητας/Οντότητας (Τριγωνικό) 2. Έλεγξε την τοµή κάθε στήλης και γραµµής για πιθανή σχέση 3. Γράψε το ρήµα που περιγράφει τη σχέση
Βασικές Έννοιες του E-R Μοντέλου Σχέσεις (Relationships) Οι οντότητες συνδέονται µε ΣΧΕΣΕΙΣ οι οποίες αντιπροσωπεύουν ένα είδος επικοινωνίας µεταξύ των διαφόρων οντοτήτων Π.χ. Ένας φοιτητής σχετίζεται µε έναµάθηµα µε τονα παίρνει αυτό το µάθηµα
Σχέσεις (Relationships) Μαθηµατικά µια ΣΧΕΣΗ είναι ορισµένη σαν µια «διατεταγµένη λίστα» από Οντότητες Π.χ. ΠΑΙΡΝΕΙ = (ΦΟΙΤΗΤΗΣ, ΜΑΘΗΜΑ) ΣΧΕΣΗ Ένα σύνολο από Κ-διανύσµατα από οντότητες Π.χ. Για το «ΠΑΙΡΝΕΙ» παράδειγµα, µια λίστα από ζευγάρια ΠΑΙΡΝΕΙ = {(Φ100, ΕΠΛ242), (Φ123, ΕΠΛ001), (Φ456, ΜΑΘ124), (Φ100, ΦΙΛ456)} Οντότητα ΦΟΙΤΗΤΗΣ Οντότητα ΜΑΘΗΜΑ
Σχέσεις (Relationships) Μαθηµατικός ορισµός Έστω Pµια σχέση και Ε1, Ε2,..., Εν µια λίστα από οντότητες τότε P E1 χε2 χε3 χε4 χ... ΧΕν (ε1, ε2, ε3,..., εν) P Εάν ε1 Ε1, ε2 Ε2,..., εν Eν καιε1, ε2,..., εν σχετίζονται µεταξύ τους µέσο της σχέσης P
Σχέσεις (Relationships) Βαθµός µιας σχέσης Οαριθµός των οντοτήτων που λαµβάνουν µέρος σε µια σχέση.
Πεδία Ορισµού Σχέσεων (Attribute of Relationship Sets) Εκτός από τα κλειδιά των σχετιζοµένων οντοτήτων, µια σχέση µπορείναέχειιδιότητες, γνωρίσµατα (πεδία ορισµού) τα οποία περιγράφουν τη σχέση και τις οντότητες που λαµβάνουν µέρος στη σχέση Π.χ. Το πεδίο ΒΑΘΜΟΣ είναι µια ιδιότητα, γνώρισµα, χαρακτηριστικό της σχέσης «ΠΑΙΡΝΕΙ»
Ρόλος και Αναγωγική σχέση Σε µια σχέση κάθε οντότητα παίζει κάποιο ρόλο που ονοµάζεται ο ΡΟΛΟΣ της µέσα στη σχέση εν φαίνονται να χρειάζεται να κατονοµασθεί ο ρόλος µια οντότητας όταν αυτές είναι διαφορετικές η µια από την άλλη Π.χ. Στη σχέση WORKS_FOR, o YΠΑΛΛΗΛΟΣ παίζει το ρόλο του υπάλληλου και ο εργοδότης το ρόλο του ΕΡΓΟ ΟΤΗ Όταν η σχέση είναι αναγωγική, δηλαδή η ίδια οντότητα λαµβάνει µέρος περισσότερο από µια φορά ΤΟΤΕ χρειάζεται να καθορίσουµε τονρολοτης κάθε οντότητας
Περιορισµοί πάνω σε µια σχέση (Constraints on Relationship Types) Σηµασιολογία (Semantics) «Ένας υπάλληλος δουλεύει µόνο για ένα τµήµα» «Ένας υπάλληλος πρέπει να δουλεύει για ένα τµήµα» The Cardinality Ratio Καθορίζει τον αριθµό σχέσεων(αντιπροσώπων της σχέσης) που µια οντότητα λαµβάνει µέρος The Participation Constraint (Περιορισµός Συµµετοχής) Καθορίζει κατά πόσο η ύπαρξης κάποιας οντότητας εξαρτάται από τον εάν σχετίζεται µε κάποια άλλη οντότητα µέσο της σχέσης.
Fig 2,1