650 likes | 902 Views
Κεφάλαιο 2. MONTE ΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ. Εισαγωγικά για Μοντελοποίηση. ΜΟΝΤΕΛΑ - “ ΤΥΠΙΚΟ ” ΜΟΝΤΕΛΟ - “ ΜΟΝΤΕΛΟ ΠΡΑΓΜΑΤΙΚΟΥ ΚΟΣΜΟΥ ” - Διαισθητικό. Εργαλεία για Μοντελοποίηση. ΦΥΣΙΚΗ ΓΛΩΣΣΑ ( Ελληνικά, Αγγλικά, Κινέζικα, κλπ .) ΜΑΘΗΜΑΤΙΚΑ ( ποσότητα,
E N D
Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ
Εισαγωγικά για Μοντελοποίηση • ΜΟΝΤΕΛΑ - “ΤΥΠΙΚΟ” ΜΟΝΤΕΛΟ - “ΜΟΝΤΕΛΟ ΠΡΑΓΜΑΤΙΚΟΥ ΚΟΣΜΟΥ” - Διαισθητικό
Εργαλεία για Μοντελοποίηση ΦΥΣΙΚΗ ΓΛΩΣΣΑ(Ελληνικά, Αγγλικά, Κινέζικα, κλπ.) ΜΑΘΗΜΑΤΙΚΑ (ποσότητα, ΛΟΓΙΚΗ (αιτίαση, επαγωγή, συνεπαγωγή, κλπ.)ΦΥΣΙΚΗ / ΧΗΜΕΙΑ(μοριακή δομή, ενέργεια, κλπ.) Αιτιολογία: - Καταγραφή Πληροφορίας - Εξήγηση Συμπεριφοράς - Πρόβλεψη Συμπεριφοράς - Προσομοίωση - Απόκρυψη Λεπτομερειών / Αφαίρεση
Εργαλεία Μοντέλων Δεδομένων - Από το «περισσότερο» στο «λιγότερο», αφαιρετικά: ΠΡΑΓΜΑΤΙΚΟΣ ΚΟΣΜΟΣ=> =>ΔΕΔΟΜΕΝΑ=>=>ΜΟΝΤΕΛΟ - Πέραν της καταγραφής των δεδομένων, χρειάζεται να: ΟΡΓΑΝΩΣΟΥΜΕ --- ΕΡΜΗΝΕΥΣΟΥΜΕ --- ΔΙΑΣΥΝΔΕΣΟΥΜΕ τα δεδομένα Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ είναι ένα εργαλείο που επιτρέπει αυτή την ΑΦΑΙΡΕΣΗ (ανεξαρτήτως των συγκεκριμένων δεδομένων)
Ερωτήσεις κατά την Μοντελοποίηση Δεδομένων - Πωςπρέπει να μοντελοποιήσουμεαυτό τον μικρόκοσμο? - Ποιες είναι οι βασικές συνιστώσες(components)? - Τι ΄γνωρίζουμε για αυτές ? - Πως πρέπει να οργανωθούν? - Πως συσχετίζονται ? - Ποιες πληροφορίες έχουνενδιαφέρον ? - Ποιες πληροφορίες είναιάσχετες ? - Σε ποιόν ? - Γιαποιο σκοπό ? - Πόσοσυχνά? - Κάτω από ποιες συνθήκες? .........
Μοντέλα Δεδομένων -- Οργάνωση - Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ έχει τρεις βασικές συνιστώσες: ΔΟΜΕΣ (Structures) ΠΡΑΞΕΙΣ (Operations) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ (Constraints) Κάθε συνιστώσα εξετάζεται στην συνέχεια με παραδείγματα (και) από Μαθηματικά Μοντέλα
Οργάνωση Μοντέλου (α) (A) ΔΟΜΕΣ - Αντικείμενα (αφαιρετικά) - objects - Γενίκευση στα χαρακτηριστικά • Παράδειγμα: Μια δομή στα Μαθηματικά: ΣΥΝΟΛΑ Picasso S1 Miro το σύνολο των καλλιτεχνών El Greco Gonzales S2 Picasso Thubithareta το σύνολο των Ισπανών
Οργάνωση Μοντέλου (β) (B) ΠΡΑΞΕΙΣ - χειρισμός των δομών - δημιουργία ΝΕΩΝ δομών από ΠΑΛΑΙΕΣ - αλλαγή του μοντέλου από “στατικό” σε “δυναμικό” • Παράδειγμα: Πράξη σε ΣΥΝΟΛΑ -- ΤΟΜΗ Ç S1 S2 S3 το σύνολο των Ισπανών καλλιτεχνών
Οργάνωση Μοντέλου (γ) (C) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ - Ιδιότητες που οι Δομές του Μοντέλου πρέπει να ΙΚΑΝΟΠΟΙΟΥΝ Παραδείγματα: “όλοι οι καλλιτέχνες έχουν ημερομηνία θανάτου που ΕΠΕΤΑΙ της ημερομηνίας γέννησής των” “κανένας υπάλληλος στο μουσείο δεν έχει μισθό μεγαλύτερο του Διευθυντή” “ο Διευθυντής της Τράπεζας πρέπει να είναι τραπεζικός υπάλληλος” Υπάρχουν 3 ειδών δομικοί περιορισμοί: Έμφυτοι (INHERENT), Ρητοί(EXPLICIT), Συνεπαγόμενοι (IMPLICIT). Οι δομικοί περιορισμοί είναι το εργαλείο που επιτρέπει να εκφράζονται και να παρίστανται στην βάση δεδομένων οι κανόνες της επιχείρησης
Χρήση του Μοντέλου για Ανάπτυξη ΒΔ • Από τον Μικρόκοσμο Real World • Στο Μοντέλο Δεδομένων Data Model Database • Στην Βάση Δεδομένων
Ανάπτυξη Βάσεων Δεδομένων • Η διαδικασία της ανάπτυξης ΒΔ • Μια μακρά και επίπονη διαδικασία μετατροπής της ΓΝΩΣΗΣ ενός πραγματικού μικρόκοσμου σε μια ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ που θα την διαχειρίζεται ένα DBMS • Για εννοιολογική διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε συνεχόμενες αυτοτελείς διαδικασίες (ΦΑΣΕΙΣ), κάθε μια των οποίων δημιουργεί ενδιάμεσες περιγραφές. Συλλογή Απαιτήσεων και Ανάλυση(Requirements Collection and Analysis),Εννοιολογικός Σχεδιασμός Βάσης(Conceptual Database Design),Λογικός Σχεδιασμός Βάσης(Logical Database Design),Φυσικός Σχεδιασμός Βάσης(Physical Database Design)Πλήρωση της Βάσης με Δεδομένα(Database Loading)
Πλήρης Διαδικασία Ανάπτυξης ΒΔ Ανεξάρτητα του DBMS Εξαρτώμενο του επιλεγμένου DBMS . (π.χ.,με Σχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήματα / Όψεις Μικρόκοσμος Συλλογή Απαιτήσεων και Ανάλυση Φυσικός Σχεδιασμός Βάσης Λογικός Σχεδιασμός Βάσης Απαιτήσεις ΒΔ Φυσικό Μοντέλο Εσωτερικό Σχήμα Εννοιολογικός Σχεδιασμός Βάσης (π.χ.,με E-R Model) Πλήρωση Βάσης Εννοιολογικό Μοντέλο (Σχήμα) E-R Διάγραμμα Βάση Δεδομένων
Διαδικασία Ανάπτυξης ΒΔ (1) • Συλλογή Απαιτήσεων και Ανάλυση Η πρώτη φάση ανάπτυξης της ΒΔ είναι απαραίτητη για την «εξόρυξη» των απαιτήσεων για την Βάση από περιγραφές του πραγματικού μικρόκοσμου . Περιγραφές ΜικρόκοσμουΑπαιτήσεις της Βάσης • Η διαδικασία είναι «δύσκολη» (εννοιολογικά) και απαιτεί εμπειρία και επιχειρηματική γνώση (συνήθως στηρίζεται σε συνεντεύξεις, ασαφείς και ημιτελείς περιγραφές, κλπ.)
Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1) • Απαιτήσεις της Βάσης για κάποια Εταιρεία • Μια εταιρεία οργανώνεται σε Τμήματα (DEPARTMENTS.)Κάθε τμήμα έχει όνομα(name), αριθμό (number), και κάποιον υπάλληλο που είναι επικεφαλής (MANAGES)του τμήματος. Μας ενδιαφέρει η ημερομηνία έναρξης της θητείας του μάνατζερ (start date). • Ένα τμήμα κατανέμεται σε διάφορες τοποθεσίες (locations). Κάθε τμήμα ελέγχει έναν αριθμό από έργα( PROJECTS), όπου κάθε έργο έχει όνομα(name), αριθμό (number ) και εκτελείται σε μια προκαθορισμένη τοποθεσία (located).
Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2) • Αναφορικά με Υπαλλήλους(EMPLOYEE), κρατάμε τον αριθμό κοινωνικής ασφάλισης (social security number), διεύθυνση (address), μισθό (salary), φύλλο (sex)και ημερομηνία γέννησης(birth date.) • Κάθε Υπάλληλος εργάζεται(WORKS FOR)σε ένα τμήμα, αλλά μπορεί να εργάζεται (WORK ON)για πολλά έργα. Επίσης, κρατάμε τις ώρες / εβδομάδα(number of hours)που ένας υπάλληλος εργάζεται σε ένα έργο, όπως και τον / την άμεσο προϊστάμενο(direct supervisor.) • Κάθε υπάλληλος μπορεί να έχει μια σειρά από εξαρτώμενα άτομα(DEPENDENTS)Για κάθε έναν, κρατάμε όνομα(name), ημερομηνία γέννησης (birth date), φύλλο (sex)και σχέση (relationship)με τον υπάλληλο.
Διαδικασία Ανάπτυξης ΒΔ (2):Σχεδιασμός • Η διαδικασία συνεχίζεται με τους ΣΧΕΔΙΑΣΜΟΥΣ • Σχεδιασμός είναι η διαδικασία δημιουργίας του ΣΧΗΜΑΤΟΣ (schema)της Βάσης Δεδομένων χρησιμοποιώντας ένα επιλεγμένο Μοντέλο (σε κάποιο επίπεδο της όλης διαδικασίας) • Υπάρχουν 3 αυτοτελείς σχεδιασμοί που δημιουργούν Σχήματα (Περιγραφές) της Βάσης. Εννοιολογικός Σχεδιασμός(Conceptual Data Model) Λογικός Σχεδιασμός(Conceptual and External Schemas - Views) Φυσικός Σχεδιασμός (Internal Schema)
ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ :Δημιουργώντας ένα Διαισθητικό Μοντέλο • ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ (Conceptual Model) • Προσπάθεια για ξεκαθάρισμα των εννοιών • Εύρεση και καταγραφή των Οντοτήτων της βάσης, των μεταξύ τους Συσχετίσεων καθώς και των Εννοιολογικών Κανόνων (semantic rules) που πρέπει να ικανοποιούν • ΣΤΟΧΟΣ: Μια αφαιρετική, αλλά πλήρης περιγραφή του τμήματος του μικρόκοσμού που θα αναπαρασταθεί στην βάση δεδομένων. Αυτή η περιγραφή γίνεται με τη χρήση μιας ημι-τυπικής (pseudo-formal)σημειογραφίας / συμβολισμού (notation).
ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας τα Εξωτερικά και Λογικά (Εννοιολογικά) Σχήματα • ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ • Η διαδικασία μετατροπής ενός εννοιολογικού μοντέλου(διαισθητικής περιγραφής) σε ΤΥΠΙΚΑ ΣΧΗΜΑΤΑ εκφρασμένα στο επιλεγέν (υποστηριζόμενο από το DBMS)μοντέλο δεδομένο (π.χ., Σχεσιακό Μοντέλο) • Τα σχήματα (εξωτερικά, λογικό) μαζί με την DML προσδιορίζουν τα προγράμματα της εφαρμογής. • Μερικά Σχήματα, αν είναι καλά σχεδιασμένα, κάνουν τις ερωταποκρίσεις ευκολότερες. • Μερικά Σχήματα, αν είναι κατάλληλα σχεδιασμένα, αποφεύγουν τους πλεονασμούς,τα προβλήματα σε αλλαγές των δεδομένων, κλπ.
ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα • ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ • Η διαδικασία προδιαγραφών των δομών μνήμης (αρχείων) που υλοποιούν τον λογικό σχεδιασμό και των οργανώσεων αυτών, καθώς και των δομών ευρετηρίων (access methods) που αποτελούν το εσωτερικό σχήμα. ΣΤΟΧΟΙ: • Απόδοση – Απόδοση - Απόδοση • Υποστήριξη του Βελτιστοποιητή Συστήματος
Διαδικασία Ανάπτυξης ΒΔ (3):Πλήρωση της Βάσης με Δεδομένα • Η τελική φάση είναι η διαδικασία DATABASE LOADING Απλά Αρχεία Βάση Δεδομένων Φυσικό Σχήμα • Υπάρχουν, κατά κανόνα σε όλα τα μεγάλα DBMS, βοηθητικά προγράμματα για ΜΑΖΙΚΗ ΠΛΗΡΩΣΗ (BULK LOADING)
Αυτοματοποίηση της Όλης Διαδικασίας • ΕΡΓΑΛΕΙΑ ΓΙΑ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ • Είναι δύσκολη να αυτοματοποιηθούν οι πρώτες Φάσεις της διαδικασίας ανάπτυξης, αλλά για τις επόμενες φάσεις υπάρχουν πολλά και καλά υπολογιστικά εργαλεία που υποστηρίζουν αποτελεσματικά τον σχεδιαστή της ΒΔ. Για παράδειγμα, εργαλείαπου δημιουργούν Λογικά Σχήματα (κατά κανόνα στο Σχεσιακό Μοντέλο) από ένα Εννοιολογικό Μοντέλο (κατά κανόνα E-R) π.χ.., AD/VANCE, Blue/60, Colonel, ER-Designer, Lydia, IDEF/Leverage, MastER PLus, RIDL, Silverun, Oracle Designer / Developer, κλπ. • Μερικά από αυτά δημιουργούν και αξιολογούν το αντίστοιχο Φυσικό Σχήμα(π.χ., σε θέματα πληρότητας και συμβατότητας) ή δημιουργούν καταλόγους συστήματος / λεξικά. • Υπάρχουν και ΠΛΗΡΗ περιβάλλοντα ανάπτυξης (CASE) π.χ., IEW, IEF, Excelerator, CASE Product, Foundation, κλπ.
Το Κλασσικό Μοντέλο Εννοιολογικού Σχεδιασμού:Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship) • Το E-R μοντέλο ήταν ο «νικητής» μεταξύ αρκετών υποψηφίων (την δεκαετία του 80)και έγινε αποδεκτό από τους ερευνητές και την αγορά για την ΑΠΛΟΤΗΤΑ (simplicity), ΣΑΦΗΝΕΙΑ (clarity)και ΓΡΑΦΙΚΟ ΣΥΜΒΟΛΙΣΜΟ (graphical notation.) που έχει. • Το E-R μοντέλο είναι ένα μάλλονδιαισθητικόμοντέλο που επιδιώκει να προσδιορίσει αφαιρετικάτις πληροφορίες που μια ΒΔ αποθηκεύει και οργανώνει. • Όλα τα άλλα μοντέλα δεδομένων μπορούν να κριθούν σε σχέση με αυτά που προσφέρει το E-R μοντέλο
E-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣ • ΔΟΜΕΣ • Υπάρχουν δυο εννοιολογικές βασικές έννοιες: • Οντότητες Συγκεκριμένα αντικείμενα που υπάρχουν (ή πιστεύεται ότι υπάρχουν) και μπορούν να αναπαρασταθούν στην ΒΔ π.χ., ο ΥΠΑΛΛΗΛΟΣ “Μαρία”, στο ΤΜΗΜΑ “Λογιστήριο”,το ΠΡΟΙΟΝ “Βίδες”, ηΟΜΑΔΑ “Ολυμπιακός”, ... • Συσχετίσεις Είναι επίσης (ειδικά) αντικείμενα που αντιστοιχούν δύο ή περισσότερες ξεχωριστές οντότητες με ένα συγκεκριμένο νόημα (τυπικά, μια Συσχέτιση είναι ένα ταξινομημένο σύνολο οντοτήτων)π.χ.,. Η “Μαρία” είναι ΟΠΑΔΟΣ του “Ολυμπιακού”, Η “Μαρία” ΕΡΓΑΖΕΤΑΙ στο “Λογιστήριο”, κλπ.
E-R Μοντέλο:ΔΟΜΕΣ (2) • Οι Οντότητες και οι Συσχετίσεις μπορούν να έχουν ΓΝΩΡΙΣΜΑΤΑ / ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ (ATTRIBUTES,) που είναι ιδιότητες που τα χαρακτηρίζουν π.χ., μια οντότητα ΥΠΑΛΛΗΛΟΣ έχει γνωρίσματα όνομα, ηλικία, διεύθυνση, … (ενδεικτικά, “Μαρία”, “21”, “Κηφισίας 32”, ...) επίσης, ημερομηνίαείναι ένα γνώρισμα της συσχέτισης ΔΑΝΕΙΖΟΜΑΙ (ενδεικτικά, η “Μαρία”ΔΑΝΕΙΣΤΗΚΕ στις “20 Ιουνίου”) το βιβλίο «» • Συνήθως τα Γνωρίσματα των Συσχετίσεων προσδιορίζουν: - Ποιος έκανε την συσχέτιση - Πότε έγινε αυτή - Πότε παύει να ισχύει, κλπ.
E-R Μοντέλο:ΔΟΜΕΣ (3) • Τα ΠΕΔΙΑ (DOMAINS)είναισύνολα τιμώνγια τα γνωρίσματα π.χ., DOMAIN OF NAMES = το σύνολο των ονομάτων DOMAIN of WEIGHT = το σύνολο τιμών για βάρη INTEGERS FROM 0 to 220 CHAR STRINGS from 1 to 10 in length, κλπ. • ΕΙΔΗ ΓΝΩΡΙΣΜΑΤΩΝ • ΑΠΛΑ: μια οντότητα έχει ατομική τιμή για αυτό (π.χ., φύλλο) • ΣΥΝΘΕΤΑ: το γνώρισμα αποτελείται από περισσότερες τιμές (π.χ., η διεύθυνση = { Δρόμος, Αριθμός, Πόλη, Χώρα} ) • ΠΛΕΙΟΤΙΜΑ (MULTI-VALUED): το γνώρισμα έχει πολλαπλές τιμές (π.χ.,color of a CAR, degrees of a PERSON)
E-R Μοντέλο:ΔΟΜΕΣ (4) • Οντότητες με ταυτόσημα γνωρίσματαομαδοποιούνται σε ΤΥΠΟΥΣ ΟΝΤΟΤΗΤΩΝ(ENTITY SETS ήENTITY TYPES) • Ενδεικτικά, all PERSONS, all DEPARTMENTS, κλπ. • Συσχετίσεις ιδίου τύπου επίσης ομαδοποιούνται σε ΤΥΠΟΥΣ ΣΥΣΧΕΤΙΣΕΩΝ (RELATIONSHIP SETS ή TYPES) • Ενδεικτικά, ο τύπος συσχέτισης WORKS-ON όπου συμμετέχουν οι τύποι οντοτήτων EMPLOYEE και PROJECT. ή. Ο τύπος συσχετίσεων MANAGES όπου συμμετέχουν οι τύποι οντοτήτων EMPLOYEE και DEPARTMENΤ. ή ο τύπος συσχέτισης SALE-ACT όπου συμμετέχουν οι τύποι οντοτήτων PRODUCTS, CUSTOMERS, και SALESPERSONS.
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (1) • ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ στο E-R Μοντέλο 1. Ιδιότητες των ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ • Περισσότεροι του ενός τύποι συσχετίσεων μπορεί να υπάρχουν μεταξύ των ιδίων τύπων οντοτήτων (multiplerelationships) π,χ., WORKS-FOR και MANAGES μεταξύ EMPLOYEE και DEPARTMENT. • Μια συσχέτιση μπορεί να συνδέει δύο οντότητες που ανήκουν στονίδιο τύπο οντοτήτων (αποκαλείται, ένας αναδρομικός τύπος συσχετίσεων - recursive relationship type) π.χ., ο SUPERVISION τύπος συσχετίσεωνσυνδέει EMPLOYEE (στον ρόλο αυτού που επιβλέπεται) με κάποιο άλλο EMPLOYEE (στον ρόλο του επιβλέποντα)
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2) • Ένας τύπος Συσχετίσεων έχει ΒΑΘΜΟ (relationshipdegree): 2τύποι οντοτήτων ---> binary relationship 3τύποι οντοτήτων ---> ternary relationship Nτύποι οντοτήτων ---> N-ary relationship • Περιορισμός Ύπαρξης(existencedependency)ορίζει αν η συμμετοχή μιας οντότητας στον τύπο συσχέτισης είναι ΟΛΙΚΗ ή ΜΕΡΙΚΗ (total or partial) π.χ., όλοι οι ΥΠΑΛΛΗΛΟΙ συμμετέχουν στην ΕΡΓΑΖΟΝΤΑΙ-ΣΕ (όλοι δουλεύουν σε ένα τμήμα) --- ΟΛΙΚΗ ενώ, Στην συσχέτιση ΔΙΕΥΘΥΝΩ δεν συμμετέχουν όλοι (υπάρχουν Υπάλληλοι που δεν είναι Διευθυντές) - ΜΕΡΙΚΗ
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (3) • Ο ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ (cardinality) ενός τύπου συσχετίσεων ορίζει το πόσες οντότητες από τον πρώτο τύπο οντοτήτων στην συσχέτιση μπορούν να συνδεθούν με πόσες οντότητες από τον δεύτερο τύπο οντοτήτων Συγκεκριμένα: 1 : 1 PERSON married-to PERSON (συνάρτηση) 1 : N MOTHER having CHILDREN (inverse function) N : 1 STUDENT reports-to ADVISOR (συνάρτηση) N : M EMPLOYEE works-on PROJECT
r1 r2 r3 r4 r5 r1 r2 r3 r4 r5 e1 e2 e3 e4 e1 e2 e3 e4 d1 d2 d3 d1 d2 d3 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4) 1 : N 1 : 1 . PERSON married-to PERSON MOTHER having CHILDREN
r1 r2 r3 r4 r5 r1 r2 r3 r4 r5 e1 e2 e3 e4 e1 e2 e3 e4 d1 d2 d3 d1 d2 d3 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5) N : M N : 1 . STUDENT reports-to ADVISOR EMPLOYEE works-for PROJECT
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1) 2.-Ιδιότητες των ΓΝΩΡΙΣΜΑΤΩΝ των Τύπων • Ένα ΓΝΩΡΙΣΜΑ (ή σύνολο Γνωρισμάτων) ενός ΤύπουΟντοτήτων / Συσχετίσεων για το οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει μοναδική τιμή(unique value(s)είναι ΚΛΕΙΔΙ(key) (ήsuperkey). Ενδεικτικά, ΑΦΜτου ΥΠΑΛΛΗΛΟΥ, ΟΝΟΜΑ και ΔΙΕΥΘΥΝΣΗ του ΥΠΑΛΛΗΛΟΥ, ΑΦΜ και ΟΝΟΜΑ, κλπ. • Ένα ΥΠΟΨΗΦΙΟ ΚΛΕΙΔΙ(candidatekey)είναι ένα ΕΛΑΧΙΣΤΟ(minimal) ΚΛΕΙΔΙ (δηλαδή, κανένα υποσύνολο των γνωρισμάτων του δεν είναι και αυτό κλειδί) Ενδεικτικά, ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασμός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι.
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2) • Το ΚΥΡΙΟ ΚΛΕΙΔΙ (primary key)είναι ένα από τα υποψήφια κλειδιά που ορίζεται σαν αναγνωριστής(identifier)για τον τύπο οντοτήτων / συσχετίσεων Ενδεικτικά, ΑΦΜ είναι μια καλή επιλογή Κυρίου Κλειδιού στον τύπο οντοτήτων ΥΠΑΛΛΗΛΟΣ. • Ένα ΕΞΩΤΕΡΙΚΟ ΚΛΕΙΔΙ (foreign key)είναι ένα σύνολο ενός ή περισσοτέρων γνωρισμάτων ενός τύπου οντοτήτων (ή συσχετίσεων) που αντιστοιχεί σε ένα ΚΥΡΙΟ ΚΛΕΙΔΙ that για κάποιον άλλο τύπο οντοτήτων (ή συσχετίσεων). Ενδεικτικά, για τον τύπο συσχετίσεωνΕΡΓΑΖΕΤΑΙ, το γνώρισμα ΑΦΜ είναι Εξωτερικό Κλειδί (είναι Κύριο Κλειδί στον ΥΠΑΛΛΗΛΟ)..
Το E-R Μοντέλο: Άλλες Έννοιες • Αδύναμοι Τύποι Οντοτήτων(ή Εξαρτώμενοι) • Ένας τύπος οντοτήτων ΧΩΡΙΣ Κλειδί Ενδεικτικά, ο τύπος DEPENDENT (έχει μόνο σημασία σε συσχέτιση με τον συγγενή του που δουλεύει στην Εταιρεία) • Η Συσχέτιση ΓΕΝΙΚΕΥΣΗ (is-A) • Η θεώρηση ενός συνόλου τύπων οντοτήτων ως ένα γενικευμένο(generic)τύπο PAINTING is-A ART-OBJECT, DRAWING is-A ART-OBJECT • Το βασικό πλεονέκτημα αυτού είναι η ιδιότητα της ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑΣ (Inheritance)των Γνωρισμάτων Ενδεικτικά, κρατάμε Γνωρίσματα που είναι κοινά για όλα τα ART-OBJECT και δεν χρειάζεται να τα επαναλάβουμε για τα PAINTINGS και DRAWINGS – κληρονομούνται.
1 N E2 R1 E1 Το E-R Μοντέλο: Γραφικός Συμβολισμός ENTITY SET WEAK ENTITY SET RELATIONSHIP SET ATTRIBUTE PRIMARY KEY . is_A GENERALIZATION E2 R1 E1 Total PARTICIPATION of E1 in R1 Cardinality ratio 1:N for E2:E1 in R1
Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1) 1 N . WORKS-FOR DEPARTMENT EMPLOYEE 1 1 1 MANAGES CONTROLS 1 N N 1 N M WORKS-ON SUPERVISION Dependents-of PROJECT supervisor supervisee N DEPENDENT
Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1) • ΓΝΩΡΙΣΜΑΤΑ σε Οντότητες και Συσχετίσεις • EMPLOYEE -- SSN, Name, BirthDate, Sex, Address, Salary • DEPARTMENT -- Number, Name,Locations, NoOfEmployees • PROJECT -- Number, Name, Location • DEPENDENT -- Name, Sex, BirthDate, Relationship • WORKS-ON -- HoursPerWeek • MANAGES -- StartDate
Επιπλέον ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ • Συναρτησιακές Εξαρτήσεις (Functional dependencies): • Π.χ., Ένα ΤΜΗΜΑ δεν μπορεί να παραγγείλει δύο διαφορετικά ΠΡΟΙΟΝΤΑ από τον ίδιο ΠΡΟΜΗΘΕΥΤΗ. • Δεν μπορεί να εκφραστεί απευθείας στο ER μοντέλο. • Η Κανονικοποίηση είναι η διαδικασία που το επιτρέπει. • Εξαρτήσεις Συμμετοχής: • Ειδική περίπτωση: Εξωτερικά Κλειδιά (Εκφράζονται στο ER). • Π.χ., Τουλάχιστον 1 υπάλληλος πρέπει να αναφέρεται σε κάθε Προϊστάμενο. • Γενικοί Δομικοί Περιορισμοί: • Π.χ., Ο προϋπολογισμός ενός Προϊσταμένου είναι λιγότερο του 10% του συνολικού Προϋπολογισμού όλων των τμημάτων που Προΐσταται
Αδυναμίες του E-R Μοντέλου • Έχουν προταθεί πολλά παρόμοια τουE-R μοντέλα για να αντιμετωπίσουν τις εκφραστικές αδυναμίες αυτού. Π.χ., για: • Δεν υποστηρίζεται ο ορισμός συσχέτισης μεταξύ συσχετίσεων DATE is a relationship between MONTH, DAY and YEAR EMPLOYMENT is a relationship between employee and employer HIRING is a relationship between DATE and EMPLOYMENT Σε αυτή την περίπτωση χρειάζεται AGGREGATION.
name ssn lot Employees Monitors until started_on dname pid pbudget did budget Sponsors Departments Projects Συσσώρευση (Aggregation) Η Συσσώρευση μας επιτρέπει να χρησιμοποιούμε έναν τύπο συσχετίσεων σαν έναν τύπο οντοτήτων για λόγους συμμετοχής σε άλλες συσχετίσεις.
Διαδικασία Ανάπτυξης ΒΔ: Εννοιολογικό Μοντέλο Ανεξάρτητα του DBMS • Μετά την χρήση ενός Εννοιολογικού Μοντέλου Δεδομένων, όπως το E-R, ερχόμαστε σε ένα σημείο όπου αρχίζει η εξάρτηση από το επιλεγέν DBMS και πρέπει να γίνει η ΜΕΤΑΤΡΟΠΗ τις «διαισθητικής» περιγραφής σε μια «τυπική», που να μπορεί να εκτελεστεί από το DBMS. . Μικρόκοσμος Συλλογή Απαιτήσεων και Ανάλυση Απαιτήσεις ΒΔ Εννοιολογικός Σχεδιασμός Βάσης (π.χ.,με E-R Model) Εννοιολογικό Μοντέλο (Σχήμα) E-R Διάγραμμα
ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Εξάρτηση από το DBMS . Λογικό (Εννοιολογικό) Σχήμα και Εξωτερικές Όψεις Σχεσιακό Μοντέλο . Σε αυτό το σημείο ΕΠΙΛΕΓΟΥΜΕ το Μοντέλο Δεδομένων που Υποστηρίζεται από το DBMS. Ο βασικός υποψήφιος είναι το ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (άλλοι Υποψήφιοι ήταν το Ιεραρχικό, ή το Μοντέλο Δικτύου Λογικός Σχεδιασμός Βάσης Δεδομένων Εννοιολογικό Σχήμα E-R διάγραμμα
Λογικός Σχεδιασμός Βάσης • Όλα τα Λογικά Μοντέλα για Σχεδιασμό παριστούν τους Τύπους Οντοτήτων (στο E-R) ως ΑΡΧΕΙΑ ( Relations) Entity Set File (relation) Entity Record (Tuple) Attribute Field (attribute) • Οι διαφοροποιήσεις μεταξύ λογικών μοντέλων είναι στο τρόπο παράστασης των Τύπων Συσχετίσεων • Μερικά Μοντέλα (π.χ. Ιεραρχικό) επιτρέπουν μόνο συναρτησιακές συσχετίσεις (κάτι που δυσκολεύει την παράσταση N:M συσχετίσεων δύσκολη – μόνο έμμεσα είναι δυνατή) • ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ: - Παράσταση συσχετίσεων με ΣΧΕΣΕΙΣ (π.χ., Σχεσιακό Μοντέλο) - Παράστασή των με ΣΥΝΔΕΣΜΟΥΣ μεταξύ αρχείων (π.χ., Μοντέλα Δικτύου και Ιεραρχικό)
PROJECT WORKS-ON SSN Number Location Name Name Παράδειγμα: Μικρό υποσύνολο της Βάσης Δεδομένων μιας Εταιρείας . N M EMPLOYEE Address HoursPerWeek Salary Στο E-R Μοντέλο: Μια N:M ολική συσχέτιση (WORKS-ON) μεταξύ των τύπων οντοτήτων EMPLOYEE και PROJECT
Παράδειγμα: (2) • Θεωρήστε τις παρακάτω 5 πράξεις Q1: Ποιος Υπάλληλος εργάζεται στο έργο P1? Q2: Που εργάζεται ο Υπάλληλος E1? INS: Εισαγωγή πληροφοριών για ένα νέο έργο DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1) • ΔΟΜΕΣ: ΔΕΝΤΡΑ (TREES)– Κόμβοι-Σύνδεσμοι • ΠΡΑΞΕΙΣ:ΣΑΡΩΣΗ ΔΕΝΤΡΩΝ (προδιατεταγμένη) • ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: ελάχιστοι, οι περισσότεροι έμφυτοι από την δομική μορφή • Αντιστοιχίες με το E-R Μοντέλο Τύπος Οντοτήτων <-> Τύπος Εγγραφής (Record Type) Οντότητα<-> Εγγραφή (Record -Segment) Γνώρισμα <-> Πεδίο(Field) Συσχέτιση<-> Γονέας – Παιδί (Parent-to-child) Οι Συσχετίσεις Γονέα-Παιδιού είναι ΜΟΝΟ1:N
-- Ένα Ιεραρχικό Σχήμα είναι ένα • Δέντρο όπου κάθε κόμβος είναι ΄ένας • Τύπος Εγγραφής • Οι Σύνδεσμοι στο Δέντρο • Παριστούν Συσχετίσεις (μόνο 1:N) • Η Σχετική τοποθέτηση των κόμβων • στο Δέντρο υποδηλώνει και την • κατεύθυνση /βαθμό της Συσχέτισης • (Γονέα-Παιδιού) • - Προσέξτε ότι το Γνώρισμα HoursPW • της Συσχέτισης WORKS-ON • έχει μεταφερθεί στο PROJECT EMPLOYEE SSN Name Address Salary PROJECT Number Name Location HoursPW ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2) • ΙΕΡΑΡΧΙΚΟ ΣΧΗΜΑ
... e3 mary patras 450000 p2 rty athens 25 e1 john athens 300000 ... p4 hju patras 20 ... • οι εγγραφές είναι και αυτές • Δέντρα (χιλιάδες) • - Η M:N Συσχέτιση • αντιμετωπίζεται με • Επανάληψη (Duplication) p5 ytu crete 30 p2 rty athens 15 p1 xyz crete 10 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3) • Παράδειγμα ΒΔ: Ένα ΔΑΣΟΣ από δέντρα
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4) • ΠΡΑΞΕΙΣ: Διάσχιση / Σάρωση Δέντρων • get next tree (δεδομένου τύπου) • get next child (μιας δεδομένης εγγραφής) • προδιατεταγμένη διάσχιση (pre-order tree-traversal) • Πρόσβαση RECORD-AT-A-TIME • Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑεκτελούνται στο Μοντέλο(DML) με έναν εντελώς ΑΣΥΜΜΕΤΡΙΚΟ τρόπο • Αυτό έχει να κάνει με την επιλογή του EMPLOYEE ως Γονέα και του Project ως Παιδιού (θα μπορούσε να ήταν αντίστροφα)
P1 E ? ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5) . Q1: Employees of P1 Q2: Projects for E1 do while there are still more employees get next EMPLOYEE get next PROJECT child where Number = “P1” if found then print EMPLOYEE.Name end get next EMPLOYEE where SSN = “E1” do while there are still more project children of employee get next PROJECT child print PROJECT.Name end P ? E1