Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Σχετικά έγγραφα
Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Βάσεις Δεδομένων (Databases)

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων (Databases)

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Βάσεις Δεδομένων (Databases)

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Μοντέλο Οντοτήτων-Συσχετίσεων

Βάσεις Δεδομένων Εισαγωγή

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

Βάσεις Δεδομένων (Databases)

Σχεδίαση Σχεσιακών ΒΔ

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Διάγραμμα Οντοτήτων - Συσχετίσεων

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

Διδάσκων: Παναγιώτης Ανδρέου

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Βάσεις Δεδομένων (Databases)

ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6)

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Σχεδιασμός Βάσεων Δεδομένων

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων

Διάλεξη 05: Εννοιολογική Σχεδίαση Βάσης Δεδομένων III (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Θεωρία Κανονικοποίησης

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Εισαγωγή στην πληροφορική

Εισαγωγή στις Βάσεις Δεδομζνων II

Lecture 21: Functional Dependencies and Normalization

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων

Δόμηση Απαιτήσεων: Εννοιολογική Μοντελοποίηση Δεδομένων

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου

Σχεδίαση Βάσεων Δεδομένων

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

Lecture 8: RM I + RA I

Βάσεις Δεδομένων Ενότητα 4

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Lecture 23: Functional Dependencies and Normalization

Βάσεις Δεδομένων (Databases)

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδίαση Βάσεων Δεδομένων

Το Μοντέλο Οντοτήτων Συσχετίσεων

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Κεφάλαιο 2 MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ A ΜΕΡΟΣ. Ανάπτυξη Β και το Μοντέλο E-R Σελίδα 1

Σχεσιακή δοµή δεδοµένων

Εισαγωγή στις Βάσεις Δεδομένων

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

Τα στοιχεία των ΠΣ στο πλαίσιο της ΔΔ Μοντέλο Δεδομένων Data Model

Μοντέλο Οντοτήτων-Συσχετίσεων

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Βάσεις δεδομένων. Π. Φιτσιλής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

Μοντέλο Οντοτήτων-Συσχετίσεων

Βάσεις Δεδομένων (Databases)

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)


Το Μοντέλο Οντοτήτων Συσχετίσεων

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Σχεδίαση Βάσεων Δεδομένων

Βάσεις Δεδομένων. Ενότητα 5: Σημασιολογικός Σχεδιασμός. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Βάσεις Δεδομένων (Databases)

Μοντέλο Οντοτήτων-Συσχετίσεων

Διδάσκων: Παναγιώτης Ανδρέου

Σχεσιακό Μοντέλο Δεδομένων

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

Αρχεία και Βάσεις Δεδομένων

Διδάσκων: Παναγιώτης Ανδρέου

Βάση Δεδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): λογισμικό για δημιουργία και χρήση μιας βάσης δεδομένων

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Σχεδίαση Βάσεων Δεδομένων

Βάσεις Δεδομένων. Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Transcript:

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων Εννοιολογική Σχεδίαση Βάσης (ER Diagram Entities) Παράδειγμα Ανάλυσης Απαιτήσεων Συστήματος και μετατροπή σε ER Διδάσκων: Παναγιώτης Ανδρέου EPL342: Databases Demetris Zeinalipour (University of Cyprus) 1

Διαδικασία Ανάπτυξης Βάσεων Για την ανάπτυξη μιας Σχεσιακής Βάσης δεδομένων ακολουθούνται τα ακόλουθα βήματα A. Ανάλυση Απαιτήσεων (Requirement Analysis): Ο Αναλυτής του συστήματος προετοιμάζει ένα έγγραφο απαιτήσεων με την βοήθεια του πελάτη. Τι δεδομένα να αποθηκεύονται και που; Τι εφαρμογές θα χτιστούν πάνω από τα δεδομένα; Ποιες πράξεις/διαδικασίες πρέπει να υποστηριχθούν και με τι απαιτήσεις επίδοσης; B. Εννοιολογική Σχεδίαση Βάσης (Conceptual Database Design): O DB Designer ετοιμάζει ένα ER διάγραμμα το οποίο μπορεί να γίνει αντιληπτό στο πελάτη (για επικύρωση) Το διάγραμμα αυτό πρέπει να ορθό, πλήρες και αποδοτικό για να είναι εύκολη η μετατροπή στο επόμενο στάδιο. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 2

Διαδικασία Ανάπτυξης Βάσεων (συν.) C. Λογική Σχεδίαση Βάσης (Logical Database Design): Μετατροπή του ER διαγράμματος σε ένα (Σχεσιακό) Σχήμα Βάσης. Μπορεί να γίνει και αυτόματα με κάποιο αλγόριθμο / εργαλείο D. Εκλέπτυνση Σχήματος (Schema Refinement): Ανάλυση σχήματος για εντοπισμό ενδεχόμενων προβλημάτων π.χ., Student(ssn, vehicleid, motorid). Αποφυγή πολλών κενών τιμών π.χ., Ο Κώστας ΔΕΝ έχει αυτοκίνητο δημιουργεί την μη επιθυμητή εγγραφή (111, NULL, NULL); E. Φυσικός Σχεδιασμός Βάσης (Physical Database Design) Έλεγχος ότι η βάση θα ικανοποιεί τις απαιτήσεις επίδοσης/φόρτου κτλ. τα οποία επιβάλλουν οι απαιτήσεις του εγγράφου ανάλυσης. Εάν δεν ικανοποιούνται τοτε σε αυτό το στάδιο λαμβάνονται διορθωτικά μέτρα (π.χ., προσθήκη ευρετηρίων, κτλ). F. Υλοποίηση Εφαρμογής και Μηχανισμών Ασφάλειας (Application & Security Design) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 3

Διαδικασία Ανάπτυξης Βάσεων (συν.) Ανάλυση Απαιτησεων Εννοιολογική Σχεδίαση (ER) Λογική Σχεδίαση (ER2Rel Mapping) Φυσική Σχεδίαση (Ευρετήρια, κτλ) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 4

Ανάλυση Απαιτήσεων Θεωρήστε τις ακόλουθές Απαιτήσεις (Requirements) μιας υποθετικής βάσης COMPANY για την οποία πρέπει να κάνουμε την Εννοιολογική Σχεδίαση: Η COMPANY οργανώνεται σε DEPARTMENTs. Κάθε department έχει τα ακόλουθα πεδία: name, number και ένα manager που διαχειρίζεται το department, start date του department manager. Κάθε department μπορεί να έχει πολλαπλά locations. Κάθε department ελέγχει ένα αριθμό από PROJECTs. Κάθε project έχει ένα μοναδικό name, μοναδικό number και βρίσκεται σε μια μόνο τοποθεσία (location). EPL342: Databases Demetris Zeinalipour (University of Cyprus) 5

Ανάλυση Απαιτήσεων (συν.) Για κάθε EMPLOYEE αποθηκεύουμε το social security number (SSN ταυτότητα), address, salary, sex, και birthdate. Κάθε employee δουλεύει για ένα department αλλά μπορεί να εργάζεται πάνω σε πολλά projects. Για κάθε project καταγράφουμε τον χρόνο (number of hours per week) τα οποία αφιερώνει ένας employee πάνω σε κάθε project. Επίσης καταγράφουμε τον προϊστάμενο (direct supervisor) κάθε employee. Κάθε employee μπορεί να έχει ένα αριθμό από Εξαρτώμενα (DEPENDENTs), δηλ., παιδιά. Για κάθε depend, κρατούμε το name, sex, birthdate, και τον τύπο της σχέσης (relationship) με τον employee. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 6

Εννοιολογική Σχεδίαση Παράδειγμα: Entity Relationship Diagram (ERD) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 7

Εννοιολογική Σχεδίαση Άλλα Παραδείγματα Συμβολισμών Chen CASE Visible Analyst UML Crows Feet EPL342: Databases Demetris Zeinalipour (University of Cyprus) 8

Λογική Σχεδίαση Παράδειγμα: Relational Diagram (RD) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 9

Διαδικασία Σχεδίασης Τώρα θα μελετήσουμε αναλυτικότερα τη φάση της σχεδίασης για την οποία υπάρχουν δυο βασικές διαδικασίες: Σχεδιασμός Βάσης (Database design) Σχεδιασμό Εφαρμογής (Applications design) Ο στόχος μας σε αυτή την ενότητα επικεντρώνεται στο πρώτο, δηλ., επικέντρωση στο σχεδιασμό του εννοιολογικού σχήματος μιας βάσης. Ένα τέτοιο σχήμα θα αντικατοπτρίζει τις προδιαγραφές του χρήστη (πελάτη) όπως αυτές έχουν προκύψει από την ανάλυση απαιτήσεων. Ο σχεδιασμός της εφαρμογής και των συστημάτων διαπροσωπείας γενικά μελετάται στο πλαίσιο της Τεχνολογίας Λογισμικού. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 10

ER Διαγράμματα Διαγράμματα τα οποία χρησιμοποιούνται για την εννοιολογική αναπαράσταση δεδομένων. Ορίζεται το 1976 από τον Prof. Peter Chen The Entity Relationship Model Toward a Unified View of Data, ACM Transactions on Database Systems, Vol. 1, No. 1, March 1976, Pages 9 36 Θα αναφερθούμε σε αυτά τα διαγράμματα ως Διάγραμμα Οντοτήτων Συσχετίσων (ΔΟΣ) ή ER Diagram (ERD) Υπάρχουν διάφορoι (όμοιοι) συμβολισμοί οι οποίοι χρησιμοποιούνται. Στο μάθημα (εργασίες, εξετάσεις, κτλ) θα χρησιμοποιήσουμε την σημειογραφία (notation) του βιβλίου. Παραλλαγές τέτοιων διαγραμμάτων χρησιμοποιούνται σε διάφορα εμπορικά εργαλεία για την ανάπτυξη βάσεων δεδομένων. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 11

ER: Οντότητες, Συσχετίσεις και Γνωρίσματα 1) Οντότητες και Γνωρίσματα Οντότητες (Entitities): είναι συγκεκριμένα αντικείμενα του miniworld που αναπαριστώνται από την βάση. COURSE Π.χ., Ο EMPLOYEE Γιάννος Ιωάννου, Το DEPARTMENT Πληροφορικής, το COURSE ΕΠΛ342 Attributes (Γνωρίσματα, Πεδία ή Χαρακτηριστικά): είναι ιδιότητες που περιγράφουν μια οντότητα. Π.χ., Μια οντότητα EMPLOYEE έχει τα γνωρίσματα Name, SSN (Social Security Number Ταυτότητα), Address, Sex, BirthDate Κάθε γνώρισμα έχει κάποιο τύπο δεδομένων (data type), integer, string, binary, bit, κτλ. Name 2) Συσχετίσεις (Relationships) θα μελετηθούν την επόμενη διάλεξη EPL342: Databases Demetris Zeinalipour (University of Cyprus) 12

ER: Οντότητες και Γνωρίσματα Μια οντότητα έχει τιμές για τα πεδία της: Π.χ., Οντότητα EMPLOYEE Α: Name='John Smith', SSN='123456789', Address = 16, Ιφιγενείας, 1890 Λευκωσία', Sex='M', BirthDate='09 JAN 55 Διαγραμματικά, τα γνωρίσματα συνδέονται με την οντότητα μέσω ακμών Name SSN Address Sex EMPLOYEE Birthdate EPL342: Databases Demetris Zeinalipour (University of Cyprus) 13

ER: Γνωρίσματα Απλά (ή Μονότιμα Simple) To γνώρισμα έχει απλή τιμή π.χ., SSN= 123456 or Sex= M Σύνθετα (Composite) Το γνώρισμα περιέχει πολλαπλά πεδία: Address(Apt#, House#, Street, City, State, ZipCode, Country), ή Name(FirstName, MiddleName, LastName). Η σύνθεση μπορεί να δημιουργήσει μια ιεραρχία όπου κάποια γνωρίσματα είναι και αυτά σύνθετα (εάν και όπως θα δούμε αργότερα θα αποφεύγεται αυτή η λογική) Πλειότιμα (Multi valued) Το γνώρισμα μπορεί να πάρει πολλαπλές απλές τιμές Π.χ., Χρώμα Αυτοκινήτου: {red, white}. Προηγούμενα Πτυχία Ατόμου:{ }, {bsc,msc}, {bsc,phd}, EPL342: Databases Demetris Zeinalipour (University of Cyprus) 14

ER: Τύποι Οντοτήτων και Κλειδιά Τύποι Οντοτήτων (Entity Types): Το σχήμα (δομή) μιας οντότητας. Π.χ., STUDENT(SSN, name, age) Σύνολο Οντοτήτων (Entity Set ή Entity State) Ένα σύνολο οντοτήτων με τα ίδια χαρακτηριστικά π.χ., {Student1, Student2, } κτλ. ENTITY Τύποι Οντοτήτων Σύνολο Οντοτήτων Συνήθως θα αναφερόμαστε και στα: Οντότητα, Τύπος Οντότητας, Σύνολο Οντότητας ως Οντότητα (εκτός και εάν γίνεται ρητή διαφοροποίηση) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 15

ER: Κλειδιά Κάθε Οντότητα ΠΡΕΠΕΙ να έχει ένα χαρακτηριστικό το οποίο θα μας επιτρέπει να το αναγνωρίζουμε ΜΟΝΑΔΙΚΑ Π.χ., SSN για Student. Το πεδίο που αναγνωρίζει μοναδικά μια Οντότητα key ονομάζεται Κλειδί της Οντότητας (Key) Ένα κλειδί (key) μπορεί να είναι σύνθετο Π.χ., VehicleTagNumber = (Number, State) Ένα κλειδί υπογραμμίζεται στο διάγραμμα Άλλες Λεπτομέρειες: Μια οντότητα μπορεί να έχει πάνω από 1 κλειδιά, π.χ.,: Ο Αριθμός Πλαισίου του Αυτοκινήτου (VehicleIdentificationNumber) ή Ο Αριθμός Πινακίδας του Αυτοκινήτου (VehicleTagNumber) (Number, State). EPL342: Databases Demetris Zeinalipour (University of Cyprus) 16

ER: Κλειδιά Πρωτεύων Κλειδί (Primary Key): Ένα από τα κλειδιά τα οποία επιλέγεται από τον σχεδιαστή για να αντιπροσωπεύσει τη σχέση (SSN) Unique Key (Μοναδικό Κλειδί): Όμοια έννοια αλλά δεν εφαρμόζει τον περιορισμό NOT NULL ο οποίος ισχύει εξορισμού στο πρωτεύων κλειδί. Υποψήφιο Κλειδί (Candidate Key) ή Εναλλακτικά κλειδιά: τα εναπομείναντα κλειδιά key Π.χ., StudentID αντί SSN Το πρωτεύων κλειδί είναι υπογραμμισμένο, τα εναλλακτικά κλειδιά είναι over lined Υπερκλειδί (SuperKey): Ένα σύνολο χαρακτηριστικών που περιλαμβάνουν τουλάχιστο 1 κλειδί της σχέσης. Π.χ., (SSN, Name) ή (StudentID, Name, Age), κτλ. key EPL342: Databases Demetris Zeinalipour (University of Cyprus) 17

ER: Διαγράμματα Οντότητα χαρακτηριστικό Πλειότιμο (Multivalue) χαρακτηριστικό A πρωτεύων κλειδί A (primary key) εναλλακτικό κλειδί Σύνθετο (Composite) χαρακτηριστικό Α B (candidate key) Υπολογισμένο χαρακτηριστικό Α B Σύνθετο κλειδί (Composite key) Οι υπόλοιποι συμβολισμοί (για συσχετίσεις) θα παρουσιαστούν στην επόμενη διάλεξη key EPL342: Databases Demetris Zeinalipour (University of Cyprus) 18

Παράδειγμα ER Διαγράμματος ιάγραμμα ER Τύπος Οντότητας Σύνολο Οντότητας EPL342: Databases Demetris Zeinalipour (University of Cyprus) 19

Σχεδίαση ER Βάση των προδιαγραφών διακρίνουμε τέσσερις τύπους οντοτήτων για την βάση COMPANY: DEPARTMENT PROJECT EMPLOYEE DEPENDENT Το πρώτο στάδιο της σχεδίασης περιλαμβάνει την διαγραμματική απεικόνιση των οντοτήτων μαζί με τα επί μέρους γνωρίσματα τους (όπως αυτά δίνονται από τις προδιαγραφές). Ακολουθεί αναλυτική απεικόνιση EPL342: Databases Demetris Zeinalipour (University of Cyprus) 20

Σχεδίαση ER Προδιαγραφή Ι: Κάθε Department έχει τα ακόλουθα πεδία: α) Μοναδικό Name, β) Μοναδικό Number και ένα γ) Manager που διαχειρίζεται το department, δ) Start date του department manager. Κάθε department μπορεί να έχει ε) πολλαπλά Locations. α) β) ή Number ε) γ) Πλειότιμο (Multivalue) δ) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 21

Σχεδίαση ER Προδιαγραφή ΙΙ: α) Κάθε department ελέγχει ένα αριθμό από PROJECTs. β) Κάθε project έχει ένα μοναδικό name, γ) μοναδικό number και βρίσκεται σε μια δ) μόνο τοποθεσία (location). δ) β) γ) α) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 22

Σχεδίαση ER Προδιαγραφή ΙΙΙ: Για κάθε EMPLOYEE αποθηκεύουμε το α) social security number (SSN ταυτότητα), β) address, γ) salary, δ) sex, και ε) birthdate. Κάθε employee ζ) δουλεύει για ένα department αλλά μπορεί να η) εργάζεται πάνω σε πολλά projects. θ) Για κάθε project καταγράφουμε τον χρόνο (num of hours per week) τα οποία αφιερώνει ένας employee πάνω σε κάθε project. ι) Επίσης καταγράφουμε τον προϊστάμενο (direct supervisor) κάθε employee αλλά και το όνομα του Employee Σύνθετο (Composite) - Μετά από συνεννόηση με τον πελάτη (αφού δεν ήταν αρχική απαίτηση να είναι σύνθετο) κ) ζ) ε) α) δ) γ) β) Θ1) Θ2) ι) η) Πλειότιμο & Σύνθετο (Multivalue & Composite) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 23

Σχεδίαση ER Προδιαγραφή IV: α) Κάθε employee μπορεί να έχει ένα αριθμό από Εξαρτώμενα (DEPENDENTs), δηλ., παιδιά. Για κάθε dependent, κρατούμε το β) name, γ) sex, δ) birthdate, και ε) τον τύπο της σχέσης (relationship) με τον employee. δ) γ) α) ε) β) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 24

Σχεδίαση ER Στην ερχόμενη διάλεξη θα εκλεπτύνουμε ο διάγραμμα μας εισάγοντας την έννοια συσχετίσεων μεταξύ των οντοτήτων EPL342: Databases Demetris Zeinalipour (University of Cyprus) 25