MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ
Εισαγωγικά για Μοντελοποίηση 4/9/2017 Εισαγωγικά για Μοντελοποίηση ΜΟΝΤΕΛΑ - “ΤΥΠΙΚΟ” ΜΟΝΤΕΛΟ - “ΜΟΝΤΕΛΟ ΠΡΑΓΜΑΤΙΚΟΥ ΚΟΣΜΟΥ” - Διαισθητικό
Εργαλεία για Μοντελοποίηση 4/9/2017 Εργαλεία για Μοντελοποίηση ΦΥΣΙΚΗ ΓΛΩΣΣΑ (Ελληνικά, Αγγλικά, Κινέζικα, κλπ.) ΜΑΘΗΜΑΤΙΚΑ (ποσότητα, ΛΟΓΙΚΗ (αιτίαση, επαγωγή, συνεπαγωγή, κλπ.) ΦΥΣΙΚΗ / ΧΗΜΕΙΑ (μοριακή δομή, ενέργεια, κλπ.) Αιτιολογία: - Καταγραφή Πληροφορίας - Εξήγηση Συμπεριφοράς - Πρόβλεψη Συμπεριφοράς - Προσομοίωση - Απόκρυψη Λεπτομερειών / Αφαίρεση
Εργαλεία Μοντέλων Δεδομένων 4/9/2017 Εργαλεία Μοντέλων Δεδομένων - Από το «περισσότερο» στο «λιγότερο», αφαιρετικά: ΠΡΑΓΜΑΤΙΚΟΣ ΚΟΣΜΟΣ => => ΔΕΔΟΜΕΝΑ => => ΜΟΝΤΕΛΟ - Πέραν της καταγραφής των δεδομένων, χρειάζεται να: ΟΡΓΑΝΩΣΟΥΜΕ --- ΕΡΜΗΝΕΥΣΟΥΜΕ --- ΔΙΑΣΥΝΔΕΣΟΥΜΕ τα δεδομένα Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ είναι ένα εργαλείο που επιτρέπει αυτή την ΑΦΑΙΡΕΣΗ (ανεξαρτήτως των συγκεκριμένων δεδομένων)
Ερωτήσεις κατά την Μοντελοποίηση Δεδομένων 4/9/2017 Ερωτήσεις κατά την Μοντελοποίηση Δεδομένων - Πως πρέπει να μοντελοποιήσουμε αυτό τον μικρόκοσμο? - Ποιες είναι οι βασικές συνιστώσες (components)? - Τι ΄γνωρίζουμε για αυτές ? - Πως πρέπει να οργανωθούν? - Πως συσχετίζονται ? - Ποιες πληροφορίες έχουν ενδιαφέρον ? - Ποιες πληροφορίες είναι άσχετες ? - Σε ποιόν ? - Για ποιο σκοπό ? - Πόσο συχνά? - Κάτω από ποιες συνθήκες? .........
Μοντέλα Δεδομένων -- Οργάνωση 4/9/2017 Μοντέλα Δεδομένων -- Οργάνωση - Ένα ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ έχει τρεις βασικές συνιστώσες: ΔΟΜΕΣ (Structures) ΠΡΑΞΕΙΣ (Operations) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ (Constraints) Κάθε συνιστώσα εξετάζεται στην συνέχεια με παραδείγματα (και) από Μαθηματικά Μοντέλα
Οργάνωση Μοντέλου (α) Παράδειγμα: Μια δομή στα Μαθηματικά: ΣΥΝΟΛΑ 4/9/2017 Οργάνωση Μοντέλου (α) (A) ΔΟΜΕΣ - Αντικείμενα (αφαιρετικά) - objects - Γενίκευση στα χαρακτηριστικά Παράδειγμα: Μια δομή στα Μαθηματικά: ΣΥΝΟΛΑ Picasso S1 Miro το σύνολο των καλλιτεχνών El Greco Gonzales S2 Picasso Thubithareta το σύνολο των Ισπανών
Οργάνωση Μοντέλου (β) (B) ΠΡΑΞΕΙΣ - χειρισμός των δομών 4/9/2017 Οργάνωση Μοντέλου (β) (B) ΠΡΑΞΕΙΣ - χειρισμός των δομών - δημιουργία ΝΕΩΝ δομών από ΠΑΛΑΙΕΣ - αλλαγή του μοντέλου από “στατικό” σε “δυναμικό” Παράδειγμα: Πράξη σε ΣΥΝΟΛΑ -- ΤΟΜΗ Ç S1 S2 S3 το σύνολο των Ισπανών καλλιτεχνών
4/9/2017 Οργάνωση Μοντέλου (γ) (C) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ - Ιδιότητες που οι Δομές του Μοντέλου πρέπει να ΙΚΑΝΟΠΟΙΟΥΝ Παραδείγματα: “όλοι οι καλλιτέχνες έχουν ημερομηνία θανάτου που ΕΠΕΤΑΙ της ημερομηνίας γέννησής των” “κανένας υπάλληλος στο μουσείο δεν έχει μισθό μεγαλύτερο του Διευθυντή” “ο Διευθυντής της Τράπεζας πρέπει να είναι τραπεζικός υπάλληλος” Υπάρχουν 3 ειδών δομικοί περιορισμοί: Έμφυτοι (INHERENT), Ρητοί (EXPLICIT), Συνεπαγόμενοι (IMPLICIT). Οι δομικοί περιορισμοί είναι το εργαλείο που επιτρέπει να εκφράζονται και να παρίστανται στην βάση δεδομένων οι κανόνες της επιχείρησης
Χρήση του Μοντέλου για Ανάπτυξη ΒΔ 4/9/2017 Χρήση του Μοντέλου για Ανάπτυξη ΒΔ Από τον Μικρόκοσμο Real World Στο Μοντέλο Δεδομένων Data Model Database Στην Βάση Δεδομένων
Ανάπτυξη Βάσεων Δεδομένων 4/9/2017 Ανάπτυξη Βάσεων Δεδομένων Η διαδικασία της ανάπτυξης ΒΔ Μια μακρά και επίπονη διαδικασία μετατροπής της ΓΝΩΣΗΣ ενός πραγματικού μικρόκοσμου σε μια ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ που θα την διαχειρίζεται ένα DBMS Για εννοιολογική διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε συνεχόμενες αυτοτελείς διαδικασίες (ΦΑΣΕΙΣ), κάθε μια των οποίων δημιουργεί ενδιάμεσες περιγραφές. Συλλογή Απαιτήσεων και Ανάλυση (Requirements Collection and Analysis), Εννοιολογικός Σχεδιασμός Βάσης(Conceptual Database Design), Λογικός Σχεδιασμός Βάσης (Logical Database Design), Φυσικός Σχεδιασμός Βάσης (Physical Database Design) Πλήρωση της Βάσης με Δεδομένα (Database Loading)
Πλήρης Διαδικασία Ανάπτυξης ΒΔ 4/9/2017 Πλήρης Διαδικασία Ανάπτυξης ΒΔ Ανεξάρτητα του DBMS Εξαρτώμενο του επιλεγμένου DBMS . (π.χ., με Σχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήματα / Όψεις Μικρόκοσμος Συλλογή Απαιτήσεων και Ανάλυση Φυσικός Σχεδιασμός Βάσης Λογικός Σχεδιασμός Βάσης Απαιτήσεις ΒΔ Φυσικό Μοντέλο Εσωτερικό Σχήμα Εννοιολογικός Σχεδιασμός Βάσης (π.χ., με E-R Model) Πλήρωση Βάσης Εννοιολογικό Μοντέλο (Σχήμα) E-R Διάγραμμα Βάση Δεδομένων
Διαδικασία Ανάπτυξης ΒΔ (1) 4/9/2017 Διαδικασία Ανάπτυξης ΒΔ (1) Συλλογή Απαιτήσεων και Ανάλυση Η πρώτη φάση ανάπτυξης της ΒΔ είναι απαραίτητη για την «εξόρυξη» των απαιτήσεων για την Βάση από περιγραφές του πραγματικού μικρόκοσμου . Περιγραφές Μικρόκοσμου Απαιτήσεις της Βάσης Η διαδικασία είναι «δύσκολη» (εννοιολογικά) και απαιτεί εμπειρία και επιχειρηματική γνώση (συνήθως στηρίζεται σε συνεντεύξεις, ασαφείς και ημιτελείς περιγραφές, κλπ.)
Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1) 4/9/2017 Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (1) Απαιτήσεις της Βάσης για κάποια Εταιρεία Μια εταιρεία οργανώνεται σε Τμήματα (DEPARTMENTS.) Κάθε τμήμα έχει όνομα (name), αριθμό (number), και κάποιον υπάλληλο που είναι επικεφαλής (MANAGES) του τμήματος. Μας ενδιαφέρει η ημερομηνία έναρξης της θητείας του μάνατζερ (start date). Ένα τμήμα κατανέμεται σε διάφορες τοποθεσίες (locations). Κάθε τμήμα ελέγχει έναν αριθμό από έργα( PROJECTS), όπου κάθε έργο έχει όνομα (name), αριθμό (number ) και εκτελείται σε μια προκαθορισμένη τοποθεσία (located).
Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (2) 4/9/2017 Ενδεικτικό Παράδειγμα: ΒΔ για Εταιρεία (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): Σχεδιασμός 4/9/2017 Διαδικασία Ανάπτυξης ΒΔ (2): Σχεδιασμός Η διαδικασία συνεχίζεται με τους ΣΧΕΔΙΑΣΜΟΥΣ Σχεδιασμός είναι η διαδικασία δημιουργίας του ΣΧΗΜΑΤΟΣ (schema) της Βάσης Δεδομένων χρησιμοποιώντας ένα επιλεγμένο Μοντέλο (σε κάποιο επίπεδο της όλης διαδικασίας) Υπάρχουν 3 αυτοτελείς σχεδιασμοί που δημιουργούν Σχήματα (Περιγραφές) της Βάσης. Εννοιολογικός Σχεδιασμός (Conceptual Data Model) Λογικός Σχεδιασμός (Conceptual and External Schemas - Views) Φυσικός Σχεδιασμός (Internal Schema)
ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας ένα Διαισθητικό Μοντέλο 4/9/2017 ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας ένα Διαισθητικό Μοντέλο ΕΝΝΟΙΟΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ (Conceptual Model) Προσπάθεια για ξεκαθάρισμα των εννοιών Εύρεση και καταγραφή των Οντοτήτων της βάσης, των μεταξύ τους Συσχετίσεων καθώς και των Εννοιολογικών Κανόνων (semantic rules) που πρέπει να ικανοποιούν ΣΤΟΧΟΣ: Μια αφαιρετική, αλλά πλήρης περιγραφή του τμήματος του μικρόκοσμού που θα αναπαρασταθεί στην βάση δεδομένων. Αυτή η περιγραφή γίνεται με τη χρήση μιας ημι-τυπικής (pseudo-formal) σημειογραφίας / συμβολισμού (notation).
4/9/2017 ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας τα Εξωτερικά και Λογικά (Εννοιολογικά) Σχήματα ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ Η διαδικασία μετατροπής ενός εννοιολογικού μοντέλου (διαισθητικής περιγραφής) σε ΤΥΠΙΚΑ ΣΧΗΜΑΤΑ εκφρασμένα στο επιλεγέν (υποστηριζόμενο από το DBMS) μοντέλο δεδομένο (π.χ., Σχεσιακό Μοντέλο) Τα σχήματα (εξωτερικά, λογικό) μαζί με την DML προσδιορίζουν τα προγράμματα της εφαρμογής. Μερικά Σχήματα, αν είναι καλά σχεδιασμένα, κάνουν τις ερωταποκρίσεις ευκολότερες. Μερικά Σχήματα, αν είναι κατάλληλα σχεδιασμένα, αποφεύγουν τους πλεονασμούς,τα προβλήματα σε αλλαγές των δεδομένων, κλπ.
ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα 4/9/2017 ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ : Δημιουργώντας το Εσωτερικό / Φυσικό Σχήμα ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ Η διαδικασία προδιαγραφών των δομών μνήμης (αρχείων) που υλοποιούν τον λογικό σχεδιασμό και των οργανώσεων αυτών, καθώς και των δομών ευρετηρίων (access methods) που αποτελούν το εσωτερικό σχήμα. ΣΤΟΧΟΙ: Απόδοση – Απόδοση - Απόδοση Υποστήριξη του Βελτιστοποιητή Συστήματος
Διαδικασία Ανάπτυξης ΒΔ (3): Πλήρωση της Βάσης με Δεδομένα 4/9/2017 Διαδικασία Ανάπτυξης ΒΔ (3): Πλήρωση της Βάσης με Δεδομένα Η τελική φάση είναι η διαδικασία DATABASE LOADING Απλά Αρχεία Βάση Δεδομένων Φυσικό Σχήμα Υπάρχουν, κατά κανόνα σε όλα τα μεγάλα DBMS, βοηθητικά προγράμματα για ΜΑΖΙΚΗ ΠΛΗΡΩΣΗ (BULK LOADING)
Αυτοματοποίηση της Όλης Διαδικασίας 4/9/2017 Αυτοματοποίηση της Όλης Διαδικασίας ΕΡΓΑΛΕΙΑ ΓΙΑ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Είναι δύσκολη να αυτοματοποιηθούν οι πρώτες Φάσεις της διαδικασίας ανάπτυξης, αλλά για τις επόμενες φάσεις υπάρχουν πολλά και καλά υπολογιστικά εργαλεία που υποστηρίζουν αποτελεσματικά τον σχεδιαστή της ΒΔ. Για παράδειγμα, εργαλεία που δημιουργούν Λογικά Σχήματα (κατά κανόνα στο Σχεσιακό Μοντέλο) από ένα Εννοιολογικό Μοντέλο (κατά κανόνα 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, κλπ.
4/9/2017 Το Κλασσικό Μοντέλο Εννοιολογικού Σχεδιασμού: Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship) Το E-R μοντέλο ήταν ο «νικητής» μεταξύ αρκετών υποψηφίων (την δεκαετία του 80) και έγινε αποδεκτό από τους ερευνητές και την αγορά για την ΑΠΛΟΤΗΤΑ (simplicity), ΣΑΦΗΝΕΙΑ (clarity) και ΓΡΑΦΙΚΟ ΣΥΜΒΟΛΙΣΜΟ (graphical notation.) που έχει. Το E-R μοντέλο είναι ένα μάλλον διαισθητικό μοντέλο που επιδιώκει να προσδιορίσει αφαιρετικά τις πληροφορίες που μια ΒΔ αποθηκεύει και οργανώνει. Όλα τα άλλα μοντέλα δεδομένων μπορούν να κριθούν σε σχέση με αυτά που προσφέρει το E-R μοντέλο
E-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣ 4/9/2017 E-R Μοντέλο: ΣΥΝΙΣΤΩΣΕΣ ΔΟΜΕΣ Υπάρχουν δυο εννοιολογικές βασικές έννοιες: Οντότητες Συγκεκριμένα αντικείμενα που υπάρχουν (ή πιστεύεται ότι υπάρχουν) και μπορούν να αναπαρασταθούν στην ΒΔ π.χ., ο ΥΠΑΛΛΗΛΟΣ “Μαρία”, στο ΤΜΗΜΑ “Λογιστήριο”,το ΠΡΟΙΟΝ “Βίδες”, η ΟΜΑΔΑ “Ολυμπιακός”, ... Συσχετίσεις Είναι επίσης (ειδικά) αντικείμενα που αντιστοιχούν δύο ή περισσότερες ξεχωριστές οντότητες με ένα συγκεκριμένο νόημα (τυπικά, μια Συσχέτιση είναι ένα ταξινομημένο σύνολο οντοτήτων) π.χ.,. Η “Μαρία” είναι ΟΠΑΔΟΣ του “Ολυμπιακού”, Η “Μαρία” ΕΡΓΑΖΕΤΑΙ στο “Λογιστήριο”, κλπ.
4/9/2017 E-R Μοντέλο: ΔΟΜΕΣ (2) Οι Οντότητες και οι Συσχετίσεις μπορούν να έχουν ΓΝΩΡΙΣΜΑΤΑ / ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ (ATTRIBUTES,) που είναι ιδιότητες που τα χαρακτηρίζουν π.χ., μια οντότητα ΥΠΑΛΛΗΛΟΣ έχει γνωρίσματα όνομα, ηλικία, διεύθυνση, … (ενδεικτικά, “Μαρία”, “21”, “Κηφισίας 32”, ...) επίσης, ημερομηνία είναι ένα γνώρισμα της συσχέτισης ΔΑΝΕΙΖΟΜΑΙ (ενδεικτικά, η “Μαρία” ΔΑΝΕΙΣΤΗΚΕ στις “20 Ιουνίου”) το βιβλίο «» Συνήθως τα Γνωρίσματα των Συσχετίσεων προσδιορίζουν: - Ποιος έκανε την συσχέτιση - Πότε έγινε αυτή - Πότε παύει να ισχύει, κλπ.
4/9/2017 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)
4/9/2017 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) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (1) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ στο E-R Μοντέλο 1. Ιδιότητες των ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Περισσότεροι του ενός τύποι συσχετίσεων μπορεί να υπάρχουν μεταξύ των ιδίων τύπων οντοτήτων (multiple relationships) π,χ., WORKS-FOR και MANAGES μεταξύ EMPLOYEE και DEPARTMENT. Μια συσχέτιση μπορεί να συνδέει δύο οντότητες που ανήκουν στον ίδιο τύπο οντοτήτων (αποκαλείται, ένας αναδρομικός τύπος συσχετίσεων - recursive relationship type) π.χ., ο SUPERVISION τύπος συσχετίσεων συνδέει EMPLOYEE (στον ρόλο αυτού που επιβλέπεται) με κάποιο άλλο EMPLOYEE (στον ρόλο του επιβλέποντα)
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (2) Ένας τύπος Συσχετίσεων έχει ΒΑΘΜΟ (relationship degree): 2 τύποι οντοτήτων ---> binary relationship 3 τύποι οντοτήτων ---> ternary relationship N τύποι οντοτήτων ---> N-ary relationship Περιορισμός Ύπαρξης (existence dependency) ορίζει αν η συμμετοχή μιας οντότητας στον τύπο συσχέτισης είναι ΟΛΙΚΗ ή ΜΕΡΙΚΗ (total or partial) π.χ., όλοι οι ΥΠΑΛΛΗΛΟΙ συμμετέχουν στην ΕΡΓΑΖΟΝΤΑΙ-ΣΕ (όλοι δουλεύουν σε ένα τμήμα) --- ΟΛΙΚΗ ενώ, Στην συσχέτιση ΔΙΕΥΘΥΝΩ δεν συμμετέχουν όλοι (υπάρχουν Υπάλληλοι που δεν είναι Διευθυντές) - ΜΕΡΙΚΗ
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (3) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (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
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (4) 1 : N 1 : 1 . e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 PERSON married-to PERSON MOTHER having CHILDREN
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Συσχετίσεις (5) N : M N : 1 . e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 e1 e2 e3 e4 r1 r2 r3 r4 r5 d1 d2 d3 STUDENT reports-to ADVISOR EMPLOYEE works-for PROJECT
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (1) 2.- Ιδιότητες των ΓΝΩΡΙΣΜΑΤΩΝ των Τύπων Ένα ΓΝΩΡΙΣΜΑ (ή σύνολο Γνωρισμάτων) ενός Τύπου Οντοτήτων / Συσχετίσεων για το οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει μοναδική τιμή (unique value(s) είναι ΚΛΕΙΔΙ (key) (ή superkey). Ενδεικτικά, ΑΦΜ του ΥΠΑΛΛΗΛΟΥ, ΟΝΟΜΑ και ΔΙΕΥΘΥΝΣΗ του ΥΠΑΛΛΗΛΟΥ, ΑΦΜ και ΟΝΟΜΑ, κλπ. Ένα ΥΠΟΨΗΦΙΟ ΚΛΕΙΔΙ (candidate key) είναι ένα ΕΛΑΧΙΣΤΟ (minimal) ΚΛΕΙΔΙ (δηλαδή, κανένα υποσύνολο των γνωρισμάτων του δεν είναι και αυτό κλειδί) Ενδεικτικά, ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασμός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι.
ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2) 4/9/2017 ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσματα (2) Το ΚΥΡΙΟ ΚΛΕΙΔΙ (primary key) είναι ένα από τα υποψήφια κλειδιά που ορίζεται σαν αναγνωριστής (identifier) για τον τύπο οντοτήτων / συσχετίσεων Ενδεικτικά, ΑΦΜ είναι μια καλή επιλογή Κυρίου Κλειδιού στον τύπο οντοτήτων ΥΠΑΛΛΗΛΟΣ. Ένα ΕΞΩΤΕΡΙΚΟ ΚΛΕΙΔΙ (foreign key) είναι ένα σύνολο ενός ή περισσοτέρων γνωρισμάτων ενός τύπου οντοτήτων (ή συσχετίσεων) που αντιστοιχεί σε ένα ΚΥΡΙΟ ΚΛΕΙΔΙ that για κάποιον άλλο τύπο οντοτήτων (ή συσχετίσεων). Ενδεικτικά, για τον τύπο συσχετίσεων ΕΡΓΑΖΕΤΑΙ, το γνώρισμα ΑΦΜ είναι Εξωτερικό Κλειδί (είναι Κύριο Κλειδί στον ΥΠΑΛΛΗΛΟ)..
Το E-R Μοντέλο: Άλλες Έννοιες 4/9/2017 Το E-R Μοντέλο: Άλλες Έννοιες Αδύναμοι Τύποι Οντοτήτων (ή Εξαρτώμενοι) Ένας τύπος οντοτήτων ΧΩΡΙΣ Κλειδί Ενδεικτικά, ο τύπος DEPENDENT (έχει μόνο σημασία σε συσχέτιση με τον συγγενή του που δουλεύει στην Εταιρεία) Η Συσχέτιση ΓΕΝΙΚΕΥΣΗ (is-A) Η θεώρηση ενός συνόλου τύπων οντοτήτων ως ένα γενικευμένο (generic) τύπο PAINTING is-A ART-OBJECT, DRAWING is-A ART-OBJECT Το βασικό πλεονέκτημα αυτού είναι η ιδιότητα της ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑΣ (Inheritance) των Γνωρισμάτων Ενδεικτικά, κρατάμε Γνωρίσματα που είναι κοινά για όλα τα ART-OBJECT και δεν χρειάζεται να τα επαναλάβουμε για τα PAINTINGS και DRAWINGS – κληρονομούνται.
Το E-R Μοντέλο: Γραφικός Συμβολισμός 4/9/2017 Το E-R Μοντέλο: Γραφικός Συμβολισμός . ENTITY SET WEAK RELATIONSHIP SET ATTRIBUTE PRIMARY KEY is_A GENERALIZATION E2 R1 E1 Total PARTICIPATION of E1 in R1 E1 E2 R1 1 N Cardinality ratio 1:N for E2:E1 in R1
Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο E-R (1) 4/9/2017 Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο 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) 4/9/2017 Περιγραφή της ΕΤΑΙΡΕΙΑΣ στο 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 Μοντέλου 4/9/2017 Αδυναμίες του 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.
Συσσώρευση (Aggregation) Η Συσσώρευση μας επιτρέπει να χρησιμοποιούμε έναν τύπο συσχετίσεων σαν έναν τύπο οντοτήτων για λόγους συμμετοχής σε άλλες συσχετίσεις. budget did pid started_on pbudget dname until Departments Projects Sponsors Employees Monitors lot name ssn
Διαδικασία Ανάπτυξης ΒΔ: Εννοιολογικό Μοντέλο Ανεξάρτητα του DBMS Μετά την χρήση ενός Εννοιολογικού Μοντέλου Δεδομένων, όπως το E-R, ερχόμαστε σε ένα σημείο όπου αρχίζει η εξάρτηση από το επιλεγέν DBMS και πρέπει να γίνει η ΜΕΤΑΤΡΟΠΗ τις «διαισθητικής» περιγραφής σε μια «τυπική», που να μπορεί να εκτελεστεί από το DBMS. . Μικρόκοσμος Συλλογή Απαιτήσεων και Ανάλυση Απαιτήσεις ΒΔ Εννοιολογικός Σχεδιασμός Βάσης (π.χ., με E-R Model) Εννοιολογικό Μοντέλο (Σχήμα) E-R Διάγραμμα
ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ . Εξάρτηση από το DBMS Σε αυτό το σημείο ΕΠΙΛΕΓΟΥΜΕ 4/9/2017 ΛΟΓΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Εξάρτηση από το DBMS . Σχεσιακό Μοντέλο Λογικό (Εννοιολογικό) Σχήμα και Εξωτερικές Όψεις . Σε αυτό το σημείο ΕΠΙΛΕΓΟΥΜΕ το Μοντέλο Δεδομένων που Υποστηρίζεται από το DBMS. Ο βασικός υποψήφιος είναι το ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (άλλοι Υποψήφιοι ήταν το Ιεραρχικό, ή το Μοντέλο Δικτύου Λογικός Σχεδιασμός Βάσης Δεδομένων Εννοιολογικό Σχήμα E-R διάγραμμα
Λογικός Σχεδιασμός Βάσης 4/9/2017 Λογικός Σχεδιασμός Βάσης Όλα τα Λογικά Μοντέλα για Σχεδιασμό παριστούν τους Τύπους Οντοτήτων (στο E-R) ως ΑΡΧΕΙΑ ( Relations) Entity Set File (relation) Entity Record (Tuple) Attribute Field (attribute) Οι διαφοροποιήσεις μεταξύ λογικών μοντέλων είναι στο τρόπο παράστασης των Τύπων Συσχετίσεων Μερικά Μοντέλα (π.χ. Ιεραρχικό) επιτρέπουν μόνο συναρτησιακές συσχετίσεις (κάτι που δυσκολεύει την παράσταση N:M συσχετίσεων δύσκολη – μόνο έμμεσα είναι δυνατή) ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ: - Παράσταση συσχετίσεων με ΣΧΕΣΕΙΣ (π.χ., Σχεσιακό Μοντέλο) - Παράστασή των με ΣΥΝΔΕΣΜΟΥΣ μεταξύ αρχείων (π.χ., Μοντέλα Δικτύου και Ιεραρχικό)
Παράδειγμα: Μικρό υποσύνολο της Βάσης Δεδομένων μιας Εταιρείας 4/9/2017 Παράδειγμα: Μικρό υποσύνολο της Βάσης Δεδομένων μιας Εταιρείας . N WORKS-ON M PROJECT EMPLOYEE SSN Name Number Name Location Address HoursPerWeek Salary Στο E-R Μοντέλο: Μια N:M ολική συσχέτιση (WORKS-ON) μεταξύ των τύπων οντοτήτων EMPLOYEE και PROJECT
Παράδειγμα: (2) Θεωρήστε τις παρακάτω 5 πράξεις 4/9/2017 Παράδειγμα: (2) Θεωρήστε τις παρακάτω 5 πράξεις Q1: Ποιος Υπάλληλος εργάζεται στο έργο P1? Q2: Που εργάζεται ο Υπάλληλος E1? INS: Εισαγωγή πληροφοριών για ένα νέο έργο DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1) ΔΟΜΕΣ: ΔΕΝΤΡΑ (TREES) – Κόμβοι-Σύνδεσμοι ΠΡΑΞΕΙΣ: ΣΑΡΩΣΗ ΔΕΝΤΡΩΝ (προδιατεταγμένη) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: ελάχιστοι, οι περισσότεροι έμφυτοι από την δομική μορφή Αντιστοιχίες με το E-R Μοντέλο Τύπος Οντοτήτων <-> Τύπος Εγγραφής (Record Type) Οντότητα <-> Εγγραφή (Record -Segment) Γνώρισμα <-> Πεδίο (Field) Συσχέτιση <-> Γονέας – Παιδί (Parent-to-child) Οι Συσχετίσεις Γονέα-Παιδιού είναι ΜΟΝΟ 1:N
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2) ΙΕΡΑΡΧΙΚΟ ΣΧΗΜΑ EMPLOYEE PROJECT SSN Name Address Salary Number Name Location HoursPW -- Ένα Ιεραρχικό Σχήμα είναι ένα Δέντρο όπου κάθε κόμβος είναι ΄ένας Τύπος Εγγραφής Οι Σύνδεσμοι στο Δέντρο Παριστούν Συσχετίσεις (μόνο 1:N) Η Σχετική τοποθέτηση των κόμβων στο Δέντρο υποδηλώνει και την κατεύθυνση /βαθμό της Συσχέτισης (Γονέα-Παιδιού) - Προσέξτε ότι το Γνώρισμα HoursPW της Συσχέτισης WORKS-ON έχει μεταφερθεί στο PROJECT
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3) Παράδειγμα ΒΔ: Ένα ΔΑΣΟΣ από δέντρα e1 john athens 300000 p5 ytu crete 30 e3 mary patras 450000 p2 rty athens 15 p4 hju patras 20 p1 xyz crete 10 p2 rty athens 25 οι εγγραφές είναι και αυτές Δέντρα (χιλιάδες) - Η M:N Συσχέτιση αντιμετωπίζεται με Επανάληψη (Duplication) ...
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4) ΠΡΑΞΕΙΣ: Διάσχιση / Σάρωση Δέντρων get next tree (δεδομένου τύπου) get next child (μιας δεδομένης εγγραφής) προδιατεταγμένη διάσχιση (pre-order tree-traversal) Πρόσβαση RECORD-AT-A-TIME Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΑΣΥΜΜΕΤΡΙΚΟ τρόπο Αυτό έχει να κάνει με την επιλογή του EMPLOYEE ως Γονέα και του Project ως Παιδιού (θα μπορούσε να ήταν αντίστροφα)
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (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 P1 E ? P ? E1
ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6) 4/9/2017 ΙΕΡΑΡΧΙΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6) ΤΡΟΠΟΠΟΙΗΣΕΙΣ INS: Εισαγωγή πληροφοριών για ένα νέο έργο - δεν είναι δυνατόν να εισαχθούν πληροφορίες για ένα νέο έργο , αν δεν υπάρχει κάποιος Υπάλληλος ήδη εργαζόμενος σε αυτό (δεν υφίσταται Παιδί χωρίς Γονέα). DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 - Βρες το Δέντρο με τον E3 στην κορυφή και διέγραψε το παιδί P4 - ΠΡΟΒΛΗΜΑ: τι γίνεται αν είναι ο τελευταίος υπάλληλος στο P4 ? MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα - Βρες ΚΑΘΕ P2 εγγραφή και άλλαξε την τιμή της Πόλης
Μοντέλο Δικτύου (DBTG-Network) (1) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (1) ΔΟΜΕΣ: Περιορισμένο Γράφοι (GRAPHS) με Εγγραφές Και Συνδέσμους ΠΡΑΞΕΙΣ: Τυχαία Σάρωση Γράφων (GRAPH-TRAVERSAL ) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: αρκετά πολλοί, μερικοί έμφυτοι αλλά και πολλοί ρητοί. Αντιστοιχίες με το E-R Μοντέλο Τύπος Οντοτήτων <-> Τύπος Εγγραφής (Record Type) Οντότητα <-> Εγγραφή (Record) Γνώρισμα <-> Πεδίο (Data Item) Συσχέτιση <-> Τύπος Συνόλων (DBTG-set type) συσχετίσεις Ιδιοκτήτη-Μέλους (1:N) Εγγραφές-Σύνδεσμοι χρησιμοποιούνται για N:M συσχετίσεις
Μοντέλο Δικτύου (DBTG-Network) (2) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (2) DBTG-Network (CODASYL) Σχήμα -- Το Σχήμα στο Μοντέλο Είναι είναι Δίκτυο, όπου κάθε Κόμβος είναι Τύπος Εγγραφής Σύνδεσμοι παριστούν Συσχετίσεις (μόνο 1:N) και έχουν Όνομα και Κατεύθυνση (OWNER - MEMBER) Ειδικό Τύποι Εγγραφών είναι Απαραίτητοι για Σχέσεις N:M (Connectors) EMPLOYEE SSN Name Address Salary Emp_Works-On WORKS ON ESSN PNumber HoursPW Proj_Works-On Number Name Location PROJECT
Μοντέλο Δικτύου (DBTG-Network) (3) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (3) Παράδειγμα: ΒΔ Δικτύου (Σπαγγέτι) ... e4 jack athens 145000 e1 john athens 300000 e3 mary patras 450000 ... e1 p1 10 e1 p2 15 e1 p5 30 e3 p4 20 e3 p2 25 e4 p4 40 ... p1 xyz crete p2 rty athens p4 hju patras p5 ytu crete
Μοντέλο Δικτύου (DBTG-Network) (4) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (4) Πράξεις: GRAPH Traversal (Navigation) find next record where ... find next record within set type ... Τυπική ταξινομημένη Διάσχιση (first, next, previous, last, κλπ.) Χρήση ΠΟΛΛΩΝ Δεικτών Πρόσβαση RECORD-AT-A-TIME Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο
Μοντέλο Δικτύου (DBTG-Network) (5) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (5) . Q1: Employees of P1 Q2: Projects for E1 find next PROJECT record where Number = “P1” do while there are still more connector records under project find next WORKS-ON record in Proj_Works-On set find (owner) EMPLOYEE record in Emp_Works-On set print EMPLOYEE.Name end find next EMPLOYEE record where SSN = “E1” do while there are still more connector records under employee find next WORKS-ON record in Emp_Works-On set find (owner) PROJECT record in Proj_Works-On set print PROJECT.Name end
Μοντέλο Δικτύου (DBTG-Network) (6) 4/9/2017 Μοντέλο Δικτύου (DBTG-Network) (6) ΤΡΟΠΟΠΟΙΗΣΕΙΣ INS: Εισαγωγή πληροφοριών για ένα νέο έργο - Δημιούργησε μια νέα εμφάνιση του PROJECT - στην αρχή, δεν υπάρχουν σύνδεσμοι, (Οι Ιδιοκτήτες υπάρχουν χωρίς Μέλη,) DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 - διέγραψε την εγγραφή-σύνδεσμο (Works-On) για με τις κατάλληλες τροποποιήσεις Δεικτών MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα - Βρες τη μοναδική εγγραφή P2 και άλλαξε την τιμή Πόλης
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (1) ΔΟΜΕΣ: RELATIONS (ΣΧΕΣΕΙΣ) – μία μόνο Δομή ΠΡΑΞΕΙΣ: Επεξεργασία των Σχέσεων (Πινάκων) ΔΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: λίγοι έμφυτοι (π.χ, σύνολα), πολλοί ρητοί Αντιστοιχίες με το E-R Μοντέλο Τύπος Οντοτήτων <-> Τύπος Σχέσης (Relation) Οντότητα <-> n-πλειάδα (Tuple) Γνώρισμα <-> Γνώρισμα (Attribute) Συσχέτιση <-> Τύπος Σχέσης (Relation) Ένα ΑΠΛΟ μοντέλο με ΙΣΧΥΡΕΣ (τυπικές) Ρίζες
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (2) Σχεσιακό Σχήμα PROJECT NUMBER NAME LOCATION WORKS-ON ESSN PNUMB HRSPW EMPLOYEE SSN NAME ADDRESS SALARY -- Ένα Σχεσιακό Σχήμα είναι ένα Σύνολο Σχέσεων, ή Πινάκων (με όνομα) - Τα ονόματα των στηλών είναι τα ονόματα των Γνωρισμάτων
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (3) Παράδειγμα ΒΔ: Σύνολο Στιγμιότυπων SSN NAME ADDRESS SALARY ESSN PNUMB HRSPW WORKS-ON PROJECT NUMBER NAME LOCATION EMPLOYEE e1 john athens 300000 e3 mary patras 450000 e4 jack athens 145000 p1 xyz crete p2 rty athens p4 hju patras p5 ytu crete e1 p1 10 e1 p2 15 e1 p5 30 e3 p4 20 e4 p4 40 e3 p2 25
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (4) Operations: Set-Theoretic Simple Operations select records from RELATION(s) where ... Το where-clause μπορεί να είναι Σύνθετο, με πολλούς τελεστές Δεν υπάρχει σειρά (order) στην πρόσβαση σε δεδομένα Πρόσβαση SET-AT-A-TIME στις εγγραφές Τα παραδείγματα Q1 και Q2 (ερωταποκρίσεις), που είναι πλήρως ΣΥΜΜΕΤΡΙΚΑ εκτελούνται στο Μοντέλο (DML) με έναν εντελώς ΣΥΜΜΕΤΡΙΚΟ τρόπο
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (5) . Q1: Employees of P1 Q2: Projects for E1 select from EMPLOYEE, WORKS-ON relations where (WORKS-ON.Pnumb = “P1”) and (WORKS-ON.ESSN = EMPLOYEE.SSN) print EMPLOYEE.Name select from PROJECT, WORKS-ON relations where (WORKS-ON.ESSN= “E1”) and (WORKS-ON.Pnumb = PROJECT.Number) print PROJECT.Name Οι πράξεις στο Σχεσιακό Μοντέλο είναι ΚΛΕΙΣΤΕΣ (CLOSED) Δηλαδή, παίρνουν ΣΧΕΣΕΙΣ και παράγουν πάλι ΣΧΕΣΕΙΣ
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6) 4/9/2017 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ: Εισαγωγή (6) ΤΡΟΠΟΠΟΙΗΣΕΙΣ INS: Εισαγωγή πληροφοριών για ένα νέο έργο - Εισαγωγή μιας n-πλειάδας στη Σχέση PROJECT DEL: Διαγραφή του γεγονότος ότι ο Υπάλληλος E3 εργάζεται στο έργο P4 - Διαγραφή της n-πλειάδας (e2, p4, 20) από την Σχέση WORKS-ON MOD: Το έργο P2 μεταφέρθηκε από την Αθήνα στην Πάτρα - Επέλεξε την n-πλειάδα (p2, rty, athens) από το PROJECT, και άλλαξε την τιμή “athens” σε “patras”
Συγκρίσεις Μεταξύ Μοντέλων 4/9/2017 Συγκρίσεις Μεταξύ Μοντέλων Η βασική διαφοροποίηση μεταξύ των τριών βασικών μοντέλων είναι το ΠΩΣ ΠΑΡΙΣΤΑΝΤΑΙ ΟΙ ΣΥΣΧΕΤΙΣΕΙΣ ΣΧΕΣΙΑΚΟ: Ρητά με τις ΣΧΕΣΕΙΣ (εφόσον η συσχέτιση είναι Ν:Μ) ή / και με έμμεσες συνδέσεις μεταξύ Σχέσεων που παρίστανται με τα Εξωτερικά Κλειδιά (foreign keys. ) ΔΙΚΤΥΟΥ: Ρητές συνδέσεις με ΣΥΝΔΕΣΜΟΥΣ (links) και εγγραφές σύνδεσης. ΣΧΟΛΙΟ: Εκφραστικότητα αλλά και εγγενής πολυπλοκότητα ΙΕΡΑΡΧΙΚΟ (ειδική περίπτωση Δικτύου): Ρητές συνδέσεις με ΣΥΝΔΕΣΜΟΥΣ. Η περίπτωση των N:M συσχετίσεων γίνεται με διπλασιασμό εγγραφών. ΣΧΟΛΙΟ: σημαντικές και σοβαρές αδυναμίες στην έκφραση μη-ιεραρχικών δομών.