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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

E-R MODEL. lect#3. Μάθηµα 7

Κεφάλαιο 3 Σχεσιακό Μοντέλο

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

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ: το E-R µοντέλο. Κωνσταντίνος Ταραµπάνης Καθηγητής γρ

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

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

Lecture 8: RM I + RA I

Πληροφοριακά Συστήµατα

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

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

Lecture 24: Functional Dependencies and Normalization IV

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

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

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

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

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

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

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

Επισκόπηση Μαθήµατος

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

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)


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

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

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

Σχεδίαση Βάσεων. Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs

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

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

Ανάλυση & Σχεδιασµός Πληροφοριακών Συστηµάτων Ι (Εργαστήριο) Σύστημα Διαχείρισης Πληροφοριακού υλικού της Δημοτικής επιχείρησης «Αναπτυξιακή ΑΕ»

Lecture 21: Functional Dependencies and Normalization

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

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

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

Εισαγωγή στο DBMS Σχεσιακό Μοντέλο Διαγράµµατα ER. Θεσσαλονίκη, Μάρτιος 2010

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

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

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

Lecture 14: SQL DML I

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 4: ER I Data Modeling Using the ER Model (Chapter 3.1-3.3, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 4-1

Περιεχόµενο ιάλεξης Κεφάλαιο 3 3) Σύνοψη ιαδικασίας Ανάπτυξης Βάσεων 3.1) Χρήση του Μοντέλου Οντοτήτων- Συσχετίσεων για το Σχεδιασµό Βάσεων εδοµένων 3.2) Μια Εφαρµογή Βάσεων εδοµένων- Παράδειγµα (Απαιτήσεις Συστήµατος) 3.3) Τύποι Οντοτήτων, Σύνολα Οντοτήτων, Γνωρίσµατα και Κλειδιά 4-2

ιαδικασία Ανάπτυξης Βάσεων Για την ανάπτυξη µιας Σχεσιακής Βάσης δεδοµένων ακολουθούνται τα ακόλουθα βήµατα A. Ανάλυση Απαιτήσεων (Requirement Analysis):Ο Αναλυτής του συστήµατος προετοιµάζει ένα έγγραφο απαιτήσεων µε την βοήθεια του πελάτη. Τι δεδοµένα να αποθηκεύονται και που; Τι εφαρµογές θα χτιστούν πάνω από τα δεδοµένα; Ποιες πράξεις/διαδικασίεςπρέπει να υποστηριχθούν και µε τι απαιτήσεις επίδοσης; B. Εννοιολογική Σχεδίαση Βάσης (Conceptual Database Design): O DB Designer ετοιµάζει ένα ER διάγραµµα το οποίο µπορεί να γίνει αντιληπτό στο πελάτη (για επικύρωση) Το διάγραµµα αυτό πρέπει να ορθό, πλήρεςκαι αποδοτικό για να είναι εύκολη η µετατροπή στο επόµενο στάδιο. 4-3

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

ιαδικασία Ανάπτυξης Βάσεων ( ιαγραµµατική) Μiniworld Ανάλυση Απαιτησεων Εννοιολογική Σχεδίαση (ER) Λογική Σχεδίαση (ER2Rel Mapping) Φυσική Σχεδίαση (Ευρετήρια, κτλ) 4-5

ιαδικασία Ανάπτυξης Βάσεων (Α. Ανάλυση Απαιτήσεων) Θεωρήστε τις ακόλουθές Απαιτήσεις (Requirements) µιας υποθετικής βάσης COMPANYγια την οποία πρέπει να κάνουµε την Εννοιολογική Σχεδίαση: Η COMPANYοργανώνεται σε DEPARTMENTs. Κάθε department έχει τα ακόλουθα πεδία: name, numberκαι ένα managerπου διαχειρίζεται το department, start date του department manager. Κάθε department µπορεί να έχει πολλαπλά locations. Κάθε departmentελέγχει ένα αριθµό από PROJECTs. Κάθε project έχει ένα µοναδικό name, µοναδικό number και βρίσκεται σε µια µόνο τοποθεσία (location). 4-6

ιαδικασία Ανάπτυξης Βάσεων (Α. Ανάλυση Απαιτήσεων) Για κάθε 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. 4-7

ιαδικασία Ανάπτυξης Βάσεων (Β. Εννοιολογική Σχεδίαση) Αποτέλεσµα: ιάγραµµα ER * Λεπτοµέρειες θα µελετηθούν σε αυτή και τις ερχόµενες διαλέξεις. 4-8

ιαδικασία Ανάπτυξης Βάσεων (C. Λογική Σχεδίαση) Αποτέλεσµα: Σχεσιακό Σχήµα * Λεπτοµέρειες για αυτή και τις άλλες φάσεις (Εκλέπτυνση, Φυσική Σχεδίαση, κτλ)θα δούµε σε ερχόµενες διαλέξεις. 4-9

ιαδικασία Σχεδίασης Τώρα θα µελετήσουµε αναλυτικότερα τη φάση της σχεδίασης για την οποία υπάχουν δυο βασικές διαδικασίες: Σχεδιασµός Βάσης (Database design) Σχεδιασµό Εφαρµογής (Applications design) Ο στόχος µας σε αυτή την ενότητα επικεντρώνεται στο πρώτο. δηλ., επικέντρωση στο σχεδιασµό του εννοιολογικού σχήµατος µιας βάσης. Ένα τέτοιο σχήµα θα αντικατοπτρίζει τις προδιαγραφέςτου χρήστη (πελάτη) όπως αυτές έχουν προκύψει από την ανάλυση απαιτήσεων. Ο σχεδιασµός της εφαρµογής και των συστηµάτων διαπροσωπείαςγενικά µελετάται στο πλαίσιο της Τεχνολογίας Λογισµικού. 4-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) του βιβλίου. Παραλλαγές τέτοιων διαγραµµάτων χρησιµοποιούνται σε διάφορα εµπορικά εργαλεία για την ανάπτυξη βάσεων δεδοµένων. 4-11

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

Έννοιες του ER Model (Οντότητες και Γνωρίσµατα) Μια οντότηταέχει τιµές για τα πεδίατης: Π.χ., Οντότητα EMPLOYEE Α: Name='John Smith', SSN='123456789', Address = 16, Ιφιγενείας, 1890 Λευκωσία', Sex='M', BirthDate='09-JAN-55 ιαγραµµατικά, τα γνωρίσµατα συνδέονται µε την οντότητα µέσω ακµών Name SSN Address Sex EMPLOYEE Birthdate 4-13

Έννοιες του ER Model (Γνωρίσµατα) Απλά (ή Μονότιµα 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}, 4-14

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

Έννοιες του ER Model (Κλειδιά) Κάθε Οντότητα ΠΡΕΠΕΙ να έχει ένα χαρακτηριστικό το οποίο θα µας επιτρέπει να το αναγνωρίζουµε ΜΟΝΑ ΙΚΑ Π.χ., SSN για Student. Το πεδίο που αναγνωρίζει µοναδικά µια Οντότητα ονοµάζεται Κλειδί της Οντότητας (Key) Ένα κλειδί (key) µπορεί να είναι σύνθετο Π.χ., VehicleTagNumber = (Number, State) Αυτός ο περιορισµός ισχύει για οχήµατα στις ΗΠΑ και τον διατηρούµε για λόγους συµβατότητας µε το βιβλίο Ένα κλειδί υπογραµµίζεται στο διάγραµµα Άλλες Λεπτοµέρειες: Μια οντότητα µπορεί να έχει πάνω από 1 κλειδιά, π.χ.,: Ο Αριθµός Πλαισίου του Αυτοκινήτου (VehicleIdentificationNumber) ή Ο Αριθµός Πινακίδας του Αυτοκινήτου (VehicleTagNumber) (Number, State). key 4-16

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

ER- ιαγράµµατα (Σύνοψη της µέχρι τώρα Σηµειογραφίας) Οντότητα χαρακτηριστικό Πλειότιµο (Multivalue) χαρακτηριστικό A πρωτεύων κλειδί A (primary key) εναλλακτικό κλειδί Σύνθετο (Composite) χαρακτηριστικό Α B (candidate key) Υπολογισµένο χαρακτηριστικό Α B Σύνθετο κλειδί (Composite key) Οι υπόλοιποι συµβολισµοί (για συσχετίσεις) θα παρουσιαστούν στην επόµενη διάλεξη key 4-18

Παράδειγµα ER ιαγράµµατος (Οντότητα µε δυο κλειδιά) ιάγραµµα ER Τύπος Οντότητας Σύνολο Οντότητας 4-19

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Βάση των προδιαγραφώνδιακρίνουµε τέσσερις τύπους οντοτήτων για την βάση COMPANY: DEPARTMENT PROJECT EMPLOYEE DEPENDENT Το πρώτο στάδιο της σχεδίασης περιλαµβάνει την διαγραµµατική απεικόνιση των οντοτήτωνµαζί µε τα επί µέρους γνωρίσµατα τους (όπως αυτά δίνονται από τις προδιαγραφές). Ακολουθεί αναλυτική απεικόνιση 4-20

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Προδιαγραφή Ι: Κάθε Department έχει τα ακόλουθα πεδία: α) Μοναδικό Name, β) Μοναδικό Numberκαι ένα γ) Managerπου διαχειρίζεται το department, δ) Start date του department manager. Κάθε department µπορεί να έχει ε) πολλαπλά Locations. α) β) ή Number ε) γ) Πλειότιµο (Multivalue) δ) 4-21

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Προδιαγραφή ΙΙ: α) Κάθε department ελέγχει ένα αριθµό από PROJECTs.β) Κάθε project έχει ένα µοναδικό name,γ) µοναδικό number και βρίσκεται σε µιαδ) µόνο τοποθεσία (location). δ) β) γ) α) 4-22

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Προδιαγραφή ΙΙΙ: Για κάθε 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) 4-23

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Προδιαγραφή IV: α) Κάθε employee µπορεί να έχει ένα αριθµό από Εξαρτώµενα (DEPENDENTs), δηλ., παιδιά. Για κάθε depend, κρατούµε το β) name, γ) sex, δ) birthdate, και ε)τον τύπο της σχέσης (relationship) µε τον employee. ε) δ) γ) α) β) 4-24

Σχεδίαση Τύπων Οντοτήτων: EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT Στην ερχόµενη διάλεξη θα εκλεπτύνουµε ο διάγραµµα µας εισάγοντας την έννοια συσχετίσεων µεταξύ των οντοτήτων 4-25