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

Σχετικά έγγραφα
Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

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

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

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

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

Παραστατικά µοντέλα ή µοντέλα υλοποίησης ή λογικά µοντέλα. Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, Δικτυωτό Μοντέλο

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

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

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

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

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

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

Εισαγωγή. Σχεδιασµός µιας Β

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός μιας Β : Βήματα

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

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

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


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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

Διαδικασία Ανάπτυξης ΣΔΒΔ

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

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


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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

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

Εισαγωγή στα Πληροφοριακά Συστήματα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

2. Εννοιολογική Μοντελοποίηση Δεδομένων

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

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

Σχεδιασµός Σχεσιακών Σχηµάτων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Συναρτησιακές Εξαρτήσεις

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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


. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

καλών σχεσιακών σχημάτων

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

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

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

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

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

Transcript:

Μοντέλο Οντοτήτων-Συσχετίσεων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για την περιγραφή αυτής της κωδικοποίησης Έχουν προταθεί πολλά μοντέλα, θα επικεντρωθούμε σε δύο: Μοντέλο Οντοτήτων/συσχετίσεων (γραφικό) Σχεσιακό(υλοποίηση) Student (sid: string, name: string, login: string, age: integer, gpa:real) 10101 11101 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 2 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 1

Σχήµατα και Στιγµιότυπα Σχήµα της Βάσης Πρόθεση (intension) (δοµικά στοιχεία + περιορισµοί ακεραιότητας) Ανάπτυξη (extension) Στιγµιότυπο της Βάσης (κατάσταση ή σύνολο εµφανίσεων ή σύνολο στιγµιοτύπων) (αρχική κατάσταση, έγκυρη κατάσταση) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 3 Η Αρχιτεκτονική Τριών Επιπέδων Περιγράφει πως βλέπουν οι χρήστες τα δεδομένα Εξωτερική Όψη 1... Εξωτερική Όψη n Περιγράφει τη λογική δομή Εννοιολογικό Σχήµα Απεικόνιση Περιγράφει την υλοποίηση (τα αρχεία και τα ευρετήρια που χρησιμοποιούνται) Απεικόνιση Εσωτερικό (ή φυσικό) Σχήµα Β Η περιγραφή της βάσης δεδοµένων περιλαµβάνει ένα σχήµα για καθένα από τα επίπεδα αφαίρεσης Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 4 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 2

Λογική Ανεξαρτησία Δεδοµένων Η Αρχιτεκτονική Τριών Επιπέδων αλλαγή του εννοιολογικού δεν επηρεάζει τα εξωτερικά σχήµατα ή τα προγράµµατα εφαρµογών Εξωτερική Όψη 1... Εννοιολογικό Σχήµα Εξωτερική Όψη n Απεικόνιση Φυσική Ανεξαρτησία Δεδοµένων αλλαγή του εσωτερικού σχήµατος χωρίς να χρειάζεται αλλαγή του εννοιολογικού Β Απεικόνιση Εσωτερικό (ή φυσικό) Σχήµα Ανεξαρτησία Δεδοµένων: αλλαγή του σχήµατος ενός επιπέδου χωρίς να αλλάξουµε το σχήµα του αµέσως υψηλότερου επιπέδου Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 5 Παράδειγµα: Φοιτητολόγιο Εννοιολογικό σχήµα: Students(sid text, name text, login text, age integer, gpa float) Courses(cid text, cname text, credits integer) Enrolled(sid text, cid text, grade text) Φυσικό σχήµα: Οι σχέσεις αποθηκεύονται σε διατεταγµένα αρχεία Ευρετήριο στο γνώριµσα sid Εξωτερικό σχήµα (Όψη): Course_info(cid text, total_enrollment integer) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 6 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 3

Μοντέλα Δεδοµένων Μοντέλο Δεδοµένων: ένα σύνολο από έννοιες (δοµικά στοιχεία) που µπορούν να χρησιµοποιηθούν για την περιγραφή της δοµής της πληροφορίας Υψηλού επιπέδου (εννοιολογικά) µοντέλα Υψηλού επιπέδου, περισσότερο αφηρηµένη περιγραφή της δοµής Μοντέλο Οντοτήτων/Συσχετίσεων Παραστατικά µοντέλα ή µοντέλα υλοποίησης ή λογικά µοντέλα Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, Δικτυωτό Μοντέλο Χαµηλού επιπέδου ή φυσικά µοντέλα Δρόµος Προσπέλασης Σχήµα: η περιγραφή της δοµής της πληροφορίας που είναι αποθηκευµένη στη βδ µε τη χρήση ενός µοντέλου δεδοµένων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 7 Σχεδιασµός µιας εφαρµογής ΒΔ: Βήµατα 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Εισαγωγή Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Λειτουργικές απαιτήσεις (εδώ µας ενδιαφέρουν πράξεις πάνω στη βδ) περισσότερα στη Τεχνολογία Λογισµικού, εδώ µας ενδιαφέρουν τα δεδοµένα 2. Εννοιολογικός Σχεδιασµός/Μοντελοποίηση (conceptual design) Υψηλού-επιπέδου περιγραφή: Δεδοµένα (οντότητες και συσχετίσεις) που θα αποθηκευτούν στη βδ Τι είδους πληροφορία για αυτά θα αποθηκεύσουµε Περιορισµοί ακεραιότητας (integrity constraints) Σχήµα βδ χρήση µοντέλου Ο/Σ Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 8 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 4

Εισαγωγή Σχεδιασµός µιας ΒΔ: Βήµατα 3. Λογικός Σχεδιασµός (ή Απεικόνιση των Μοντέλων Δεδοµένων) (logical design) Επιλογή ενός ΣΔΒΔ για την υλοποίηση του σχεδιασµού Μετατροπή του εννοιολογικού σχεδιασµού σε ένα σχήµα στο µοντέλο δεδοµένων του επιλεγµένου ΣΔΒΔ (επίσης κανονικοποίηση, π.χ., έλεγχοι πλεονασµού) Βελτίωση Σχήµατος (Schema Refinement) χρήση Σχεσιακού Μοντέλου (πίνακες) Κανονικοποίηση 4. Φυσικός Σχεδιασµός (Physical Design) Ευρετήρια, κλπ Οι εσωτερικές δοµές αποθήκευσης και οργανώσεις αρχείων Σχεδιασµός Ασφάλειας Έλεγχος Προσπέλασης Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 9 Εισαγωγή Εννοιλογικός σχεδιασµός µε το Μοντέλο Οντοτήτων/Συσχετίσεων (Ο/Σ) [Entity-Relationship Model (ER)] Γραφικό µοντέλο Δύο βασικά δοµικά στοιχεία/έννοιες: Οντότητες και Συσχετίσεις Περιγραφή του σχήµατος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 10 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 5

Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 11 Εισαγωγή Οντότητες Συσχετίσεις Γνωρίσµατα Βασικές Έννοιες Περιορισµοί ακεραιότητας (κλειδιά, συµµετοχές, πληθικότητα, κλπ) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 12 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 6

Οντότητες Τύπος οντοτήτων Περιγράφει το σχήµα ή πρόθεση Oρίζει ένα σύνολο από οντότητες που έχουν τα ίδια γνωρίσµατα Περιγράφεται από ένα όνοµα και µια λίστα γνωρισµάτων Οντότητα Ένα αντικείµενο µε φυσική ύπαρξη Σύνολο οντοτήτων - ανάπτυξη Κάθε οντότητα έχει συγκεκριµένες ιδιότητες - γνωρίσµατα Μια συγκεκριµένη οντότητα θα έχει µια τιµή για καθένα από τα γνωρίσµατα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 13 Οντότητες Τύπος Οντοτήτων Γνώρισµα Παράδειγµα Χρόνος Τύπος οντοτήτων Είδος Οντότητα Gone with the Wind, 1939, 231, color Τίτλος ΤΑΙΝΙΑ ιάρκεια Γενικά, οι οντότητες αντιστοιχούν σε διακριτά αντικείµενα του πραγµατικού κόσµου Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 14 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 7

απλά ή ατοµικά σύνθετα τιµή: συνένωση των τιµών των απλών γνωρισµάτων που το αποτελούν ιεραρχία χρήσιµο όταν γίνεται αναφορά στα επιµέρους γνωρίσµατα αλλά και ενιαία Τύποι Γνωρισµάτων ιεύθυνση Πόλη Αριθµός Οδός Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 15 Τύποι Γνωρισµάτων µονότιµα πλειότιµα σύνολο από τιµές (κάτω-πάνω όριο) τηλέφωνο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 16 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 8

Τύποι Γνωρισµάτων παραγόµενα µπορεί να υπολογιστεί από σχετιζόµενες οντότητες ή γνωρίσµατα αποθηκευµένα ΗΘΟΠΟΙΟΣ π.χ., αριθµός εργαζοµένων σε ένα Τµήµα Ηµερ. Γέννησης Ηλικία Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 17 Η τιµή null Κάθε γνώρισµα ενός τύπου οντοτήτων έχει ένα πεδίο ορισµού που προσδιορίζει τις τιµές που µπορεί να πάρει ένα γνώρισµα Η τιµή null Όταν µια οντότητα δεν έχει τιµή για ένα γνώρισµα Δεν υπάρχει δυνατή τιµή (not applicable) Υπάρχει δυνατή τιµή αλλά δεν είναι γνωστή -- ξέρουµε ότι υπάρχει (missing) (πχ έτος γέννησης) -- δεν ξέρουµε αν υπάρχει (not known) (πχ τηλέφωνο) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 18 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 9

Πεδίο τιµών Ένα απλό γνώρισµα Α συνδέεται µε ένα σύνολο τιµών ή πεδίο ορισµού που προσδιορίζει το σύνολο των τιµών που µπορεί να πάρει το γνώρισµα Γενικά, ένα (µονότιµο ή πλειότιµο) γνώρισµα Α ενός τύπου οντοτήτων Ε µε πεδίο τιµών V µπορεί να οριστεί ως µια συνάρτηση από το Ε στο δυναµοσύνολο (P) του V Α : Ε P(V) τιµή null {} το κενό σύνολο µονότιµα µονοσύνολα, σύνολο από ένα στοιχείο σύνθετα - καρτεσιανό γινόµενο P(V 1 ) x P(V 2 ) x P(V n ) όπου V 1, V 2,, V n τα πεδία τιµών των απλών συστατικών γνωρισµάτων του Α Συµβολισµός (): σύνθετα, {}: πλειότιµα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 19 Σχήµα και Στιγµιότυπο (πάλι) Τύπος οντότητας (σχήµα) προσδιορίζει ένα σύνολο από οντότητες µε τα ίδια γνωρίσµατα Σύνολο οντοτήτων (στιγµιότυπο): κάθε χρονική στιγµή ποια συλλογή από οντότητες είναι αποθηκευµένες στη βδ Το σχήµα οι τύποι οντοτήτων προσδιορίζονται κατά το σχεδιασµό Το στιγµιότυπο το σύνολο των οντοτήτων αλλάζει κάθε φορά που αλλάζουν τα αποθηκευµένα δεδοµένα (εισαγωγή, διαγραφή, ενηµέρωση) Συχνά χρησιµοποιούµε το ίδιο όνοµα και για τα δύο (πχ ΤΑΙΝΙΑ και για τον τύπο και για τα δεδοµένα) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 20 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 10

Η έννοια του κλειδιού Η έννοια του κλειδιού [περιορισµός κλειδιού ή µοναδικότητας] Οι τιµές κάποιου γνωρίσµατος (ή γνωρισµάτων) προσδιορίζουν µία οντότητα µοναδικά (δηλαδή, δεν µπορεί να υπάρχουν δυο οντότητες µε τις ίδιες τιµές στα γνωρίσµατα κλειδιά) ΠΡΟΣΟΧΗ: το κλειδί είναι σύνολο γνωρισµάτων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 21 Η έννοια του κλειδιού Υπερκλειδί (superkey): σύνολο από ένα ή περισσότερα γνωρίσµατα που προσδιορίζουν µοναδικά µια οντότητα (superkey) Υποψήφιο κλειδί (candidate key): ελάχιστο (µε το µικρότερο αριθµό γνωρισµάτων) - που είναι υπερκλειδί, δηλαδή, αν αφαιρέσουµε ένα γνώρισµα παύει να είναι κλειδί Πρωτεύον κλειδί (primary key): το υποψήφιο κλειδί που επιλέγουµε (primary key) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 22 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 11

Η έννοια του κλειδιού Ισχύει: υπερκλειδί κάθε υποψήφιο κλειδί Προσοχή: ο περιορισµός κλειδιού είναι µέρος του σχήµατος, δηλαδή; Παράδειγµα: Βιβλίο (τύπος οντοτήτων και στιγµιότυπο) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 23 Συσχετίσεις Τύπος Συσχέτισης ΗΘΟΠΟΙΟΣ Τύπος συσχέτισης R ορίζει µια σύνδεση (σχέση) µεταξύ n τύπων οντοτήτων ΠΑΙΖΕΙ ΤΑΙΝΙΑ Στιγµιότυπο Συσχέτισης Σύνολο συνδέσεων Συχνά αναπαράσταση του στιγµιότυπου ως πίνακα (σχέση) όπου κάθε γραµµή αντιστοιχεί στα ζεύγη των οντοτήτων που συµµετέχουν στη συσχέτιση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 24 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 12

Παράδειγµα τύπος Συσχετίσεις ΤΑΙΝΙΑ ΠΑΙΖΕΙ ΗΘΟΠΟΙΟΣ στιγµιότυπο Συχνά ως ένα σύνολο/πίνακα Basic Instinct Sharon Stone Total Recall Arnold Schwarzenegger Total Recall Sharon Stone Thank You for Smoking Katie Holmes Batman Begins Katie Holmes Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 25 Συσχετίσεις Μαθηµατικά: το R είναι ένα σύνολο από στιγµιότυπα συσχετίσεων r i όπου κάθε r i συνδέει n οντότητες R υποσύνολο καρτεσιανού γινοµένου: R E1 x E2 Ε1 R E2 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 26 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 13

Συσχετίσεις Παράδειγµα: Βιβλίο - Συγγραφέας Τόπος-Γέννησης Τίτλος ΣΥΓΓΡΑΦΕΑΣ ΓΡΑΦΕΙ ΒΙΒΛΙΟ Όνοµα ISBN Στιγµιότυπο Σύνολο Οντοτήτων Συγγραφέας Ρέα Γαλανάκη Ηράκλειο Ιωάννα Καρυστιάνη Χανιά Πέτρος Τατσόπουλος Ρέθυµνο 960-03-3343-2 Ο Αιώνας των Λαβυρίνθων 960-03-2985-0 Οι Ανήλικοι 960-03-3544-3 Ο Άγιος της Μοναξιάς 960-03-2986-9 Η Καρδιά του Κτήνους Παράδειγµα (στιγµιότυπο συσχέτισης υποσύνολο του καρτεσιανού γινοµένου) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 27 Συσχετίσεις Γενικά, Δεδοµένου ενός διατεταγµένου συνόλου από οντότητες Ε 1, Ε 2,..., Ε n µια συσχέτιση R ορίζει µια αντιστοίχηση µεταξύ των στιγµιότυπων των οντοτήτων αυτών, δηλαδή η R είναι ένα σύνολο από πλειάδες n στοιχείων: R E 1 x E 2 x E n Ένα στιγµιότυπο σχέσης αντιστοιχεί σε µια πλειάδα από στιγµιότυπα οντοτήτων (e 1, e 2,, e n ) όπου κάθε e i είναι στιγµιότυπο της οντότητας Ε i Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 28 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 14

Βαθµός Τύπου Συσχέτισης Βαθµός ενός τύπου συσχέτισης (degree): πλήθος των τύπων οντοτήτων που συµµετέχουν Παράδειγµα βιβλίο, εκδότης, συγγραφέας Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 29 Λόγος Πληθικότητας Λόγος πληθικότητας Για ένα τύπο συσχετίσεων σε πόσες συσχετίσεις (στιγµιότυπα συσχετίσεων) µια οντότητα µπορεί να συµµετέχει Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 30 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 15

Λόγος Πληθικότητας Σχηµατικά Πολλά-προς-Πολλά Πολλά-προς-Ένα Ένα-προς-Ένα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 31 Για δυαδικές συσχετίσεις ένα-προς-ένα 1:1 ένα-προς-πολλά 1:Ν πολλά-προς-ένα Ν:1 πολλά-προς-πολλά Ν:Μ Λόγος Πληθικότητας Παράδειγµα - Συµβολισµός ΤΑΙΝΙΑ ΠΑΙΖΕΙ ΗΘΟΠΟΙΟΣ Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 32 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 16

Λόγος Πληθικότητας Ένα-προς-Πολλά 1:Ν Παράδειγµα - Συµβολισµοί 1 Ν ΤΜΗΜΑ ΕΧΕΙ ΥΠΑΛΛΗΛΟΣ ΤΜΗΜΑ ΕΧΕΙ ΥΠΑΛΛΗΛΟΣ Ένα τµήµα µπορεί να εµφανίζεται πολλές φορές στη συσχέτιση (µια για κάθε υπάλληλο που έχει) Ένας υπάλληλος εµφανίζεται µόνο µια φορά στη συσχέτιση Ένα Τµήµα έχει πολλούς Υπαλλήλους αλλά ένας Υπάλληλος ανήκει µόνο σε ένα Τµήµα Προσοχή: πόσες φορές ένα Τµήµα/Υπάλληλος εµφανίζεται στη συσχέτιση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 33 Λόγος Πληθικότητας Παράδειγµα - Συµβολισµοί 1 Ν ΤΜΗΜΑ ΕΧΕΙ ΥΠΑΛΛΗΛΟΣ (min, max) (min, max) ΤΜΗΜΑ ΕΧΕΙ ΥΠΑΛΛΗΛΟΣ (0, Ν) (0, 1) ΤΜΗΜΑ ΕΧΕΙ ΥΠΑΛΛΗΛΟΣ Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 34 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 17

Γνωρίσµατα Τύπων Συσχετίσεων Οι τύποι συσχετίσεων µπορεί να έχουν και γνωρίσµατα Παράδειγµα (ώρες απασχόλησης, ηµεροµηνία έναρξης) Πότε είναι αυτό καλή επιλογή αντί της δηµιουργίας νέου τύπου οντοτήτων; Μπορεί να µεταφερθούν σε κάποια από τις οντότητες; (1:1, 1:Ν, Μ:Ν) (ταινία, ηθοποιός, ρόλος) (Φοιτητής, Τµήµα, Έτος Εγγραφής) (Φοιτητής, Μάθηµα, Βαθµός) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 35 Ολική Συµµετοχή Η συµµετοχή ενός συνόλου οντοτήτων Ε σε ένα σύνολο συσχετίσεων R είναι ολική αν κάθε οντότητα του Ε συµµετέχει τουλάχιστον σε µια συσχέτιση στο R Αν κάποιες οντότητες του Ε δεν συµµετέχουν στο R τότε µερική Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 36 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 18

Ολική Συµµετοχή Σχηµατικά Ε1 Ε2 Ε1 Ε2 Ε1 Ε2 Ολική Συµµετοχή για το Ε1 Ολική Συµµετοχή για το Ε2 Ολική Συµµετοχή και για το Ε1 και για το Ε2 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 37 Παράδειγµα Θέλουµε να κατασκευάσουµε µια βδ για δροµολόγια τρένων. Κάθε σταθµός έχει ένα µοναδικό όνοµα και διεύθυνση. Κάθε δροµολόγιο έχει ένα µοναδικό αριθµό, ένα σταθµό προορισµό, ένα σταθµό αφετηρία, ένα χρόνο αναχώρησης από την αφετηρία και ένα χρόνο άφιξης στον προορισµό. Επίσης, κάθε δροµολόγιο έχει έναν τουλάχιστον ενδιάµεσο σταθµό µαζί µε το χρόνο άφιξης σε αυτόν. (i) Κατασκευάστε το µοντέλο Ο/Σ (ii) Τι αλλάζει αν αντί για «έναν τουλάχιστον» ενδιάµεσο σταθµό, έχουµε «µηδέν ή περισσότερους» Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 38 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 19

Μοντέλο Οντοτήτων-Συσχετίσεων (ανακεφαλαίωση) Εννοιoλογικός Σχεδιασµός (Conceptual Design) Με βάση την περιγραφή του προβλήµατος (που προέκυψε µετά την Ανάλυση Απαιτήσεων) Μικρόκοσµος Σχεδιασµός του σχήµατος της Βάσης Δεδοµένων χρησιµοποιώντας το Μοντέλο Οντοτήτων-Συσχετίσεων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 39 Μοντέλο Οντοτήτων-Συσχετίσεων (ανακεφαλαίωση) Οντότητες, Συσχετίσεις, Γνωρίσµατα (πεδία ορισµού) Κλειδί οντότητας Βαθµός Συσχέτισης: πόσοι τύποι οντοτήτων (συνήθως δυαδικές) Πληθικότητα Συσχέτισης: πόσες φορές µια οντότητα εµφανίζεται (το πολύ) στη συσχέτιση (για δυαδικές: 1:1, 1:Ν, Ν:Μ) Συµµετοχή σε Συσχέτιση: ολική ή µερική Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 40 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 20

Μοντέλο Οντοτήτων-Συσχετίσεων (ανακεφαλαίωση) Πληθικότητα Συσχέτισης: πόσες φορές µια οντότητα εµφανίζεται (το πολύ) στη συσχέτιση (για δυαδικές: 1:1, 1:Ν, Ν:Μ) Συµµετοχή σε Συσχέτιση: ολική ή µερική Όνοµα Ώρες Απασχόλησης ΕΡΓΑΖΟΜΕΝΟΣ ΟΥΛΕΥΕΙ ΤΜΗΜΑ Όνοµα ΑΤ Μπορεί να µετακινηθεί το γνώρισµα από τη συσχέτιση; Αριθµός-Τµήµατος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 41 Παράδειγµα Θεωρείστε µια βάση δεδοµένων για το πρόγραµµα σπουδών για ένα πανεπιστήµιο που να περιέχει τις παρακάτω πληροφορίες: όνοµα, διεύθυνση, αριθµό ταυτότητας (που είναι µοναδικός) για Kαθηγητές όνοµα, κωδικό (που είναι µοναδικός), µονάδες, εξάµηνο για Μαθήµατα ποιοι καθηγητές διδάσκουν ποια µαθήµατα Υποθέστε ότι καταγράφεται µόνο η ανάθεση των µαθηµάτων (διδασκαλία) στο τρέχων εξάµηνο Δώστε πληθικότητες/συµµετοχές όταν: 1. Κάθε καθηγητής πρέπει να διδάσκει τουλάχιστον ένα µάθηµα. 2. Κάθε καθηγητής διδάσκει ακριβώς ένα µάθηµα. 3. Κάθε καθηγητής διδάσκει ακριβώς ένα µάθηµα και κάθε µάθηµα πρέπει να διδάσκεται από κάποιον καθηγητή. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 42 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 21

Αναδροµικές Συσχετίσεις Αναδροµικές (τύποι) συσχετίσεις όταν ο ίδιος τύπος συµµετέχει περισσότερες από µια φορές σε µια συσχέτιση Ένας τύπος που συµµετέχει σε µια σχέση παίζει ένα συγκεκριµένο ρόλο Παράδειγµα (παιδί/γονέας, εργαζόµενος/διευθυντής, συνέχεια ταινίας (sequel)) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 43 Αναδροµικές Συσχετίσεις Όνοµα Υπό-επίβλεψη ΕΡΓΑΖΟΜΕΝΟΣ Ν 1 ΠΡΟΙΣΤΑΤΑΙ ΑΤ Επιβλέπων Ώρες Απασχόλησης Ν ΟΥΛΕΥΕΙ ΤΜΗΜΑ Όνοµα 1 Τι γίνεται αν ο ίδιος προϊστάµενος για όλους τους εργαζόµενους σε ένα τµήµα; Αριθµός-Τµήµατος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 44 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 22

Ασθενείς Τύποι Οντοτήτων Μη ισχυροί ή ασθενείς τύποι οντοτήτων Όταν µια οντότητα δεν έχει αρκετά γνωρίσµατα για να σχηµατίσει πρωτεύον κλειδί Παράδειγµα (τµήµατα µαθηµάτων) Κάποια Μαθήµατα έχουν Τµήµατα, τα οποία προσδιορίζονται από έναν αριθµό (Πχ 1 ο Τµήµα, 2 ο Τµήµα, κλπ), που είναι µοναδικός ένα τµήµα µαθήµατος Κάθε τµήµα ενός µαθήµατος µπορεί να διδάσκεται από διαφορετικό καθηγητή Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 45 Ασθενείς Τύποι Οντοτήτων Μια ασθενής οντότητα Ε πρέπει να συµµετέχει µε ολική συµµετοχή σε µια ένα-προς-πολλά συσχέτιση R µε ένα τύπο οντοτήτων F R: προσδιορίζουσα συσχέτιση, F: προσδιορίζοντα ιδιοκτήτη Προσδιορίζεται µοναδικά από µερικό κλειδί (γνωρίσµατα της Ε) + κλειδί της F Συµβολισµός Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 46 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 23

Ασθενείς Τύποι Οντοτήτων ΚΜ Όνοµα ΜΑΘΗΜΑ Όνοµα ΦΟΙΤΗΤΗΣ 1 Μ ΑΜ ΕΧΕΙ Ν Μ Ν Αίθουσα ΠΑΡΑΚΟΛΟΥΘΕΙ ΤΜΗΜΑ Ι ΑΣΚΕΙ... Αριθµός-Τµήµατος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 47 Ασθενείς Τύποι Οντοτήτων Μπορεί επίσης να αναπαρασταθούν ως ένα σύνθετο, πλειότιµο γνώρισµα της κυρίαρχης οντότητας Πότε όχι; Πολλά γνωρίσµατα Ανεξάρτητες συµµετοχές σε συσχετίσεις Επιπλέον περιορισµούς (εργαζόµενος, εξαρτώµενος µέλος) παραπάνω από έναν προσδιορίζοντες τύπους κλειδί, αν ο προσδιορίζοντας ιδιοκτήτης ασθενής; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 48 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 24

Παράδειγµα Θέλουµε να σχεδιάσουµε µια βάση δεδοµένων για επεισόδια τηλεοπτικών σειρών. Στη βάση δεδοµένων θέλουµε να έχουµε πληροφορία για: Ηθοποιούς: το όνοµα τους, την ηµεροµηνία γέννησής τους, το φύλο τους και την πόλη που γεννήθηκαν. Θεωρείστε ότι ένας ηθοποιός προσδιορίζεται µοναδικά από τον συνδυασµό του ονόµατος και της ηµεροµηνίας γέννησής του. Τηλεοπτικές Σειρές: τον τίτλο, τα χρόνια που προβάλλονται (πχ, 2005, 2006, 2010) και το κανάλι που τις προβάλλει. Επεισόδια: Κάθε τηλεοπτική σειρά έχει επεισόδια. Κάθε επεισόδιο έχει έναν αριθµό επεισοδίου και µια ηµεροµηνία προβολής. Εµφανίσεις Ηθοποιού Ρόλοι: Οι ηθοποιοί εµφανίζονται σε συγκεκριµένα επεισόδια τηλεοπτικών σειρών υποδυόµενοι έναν ρόλο (π.χ., «Ντάλια», «Ζουµπουλία») που µπορεί να είναι διαφορετικός σε κάθε επεισόδιο. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 49 Παράδειγµα (ασθενείς οντότητες) Οντότητες: Πρωτάθληµα, Οµάδες και Παίκτες Τα ονόµατα των πρωταθληµάτων είναι µοναδικά. Σε κανένα πρωτάθληµα δε συµµετέχουν δυο οµάδες µε το ίδιο όνοµα, αλλά µπορεί να υπάρχουν οµάδες µε το ίδιο όνοµα σε διαφορετικά πρωταθλήµατα Σε καµιά οµάδα δεν υπάρχουν παίκτες µε το ίδιο νούµερο. Ωστόσο, µπορεί να υπάρχουν παίκτες µε το ίδιο νούµερο σε διαφορετικές οµάδες. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 50 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 25

Τύποι Συσχετίσεων µε Βαθµό Μεγαλύτερο του Δύο: Λόγος Πληθικότητας Περιορισµοί πληθικότητας (διαφέρουν από τις δυαδικές συσχετίσεις) ΗΘΟΠΟΙΟΣ M (*) ΣΥΜΒΟΛΑΙΟ N ΤΑΙΝΙΑ (*) Εναλλακτικός συµβολισµός 1 ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ Αν το βέλος δείχνει στο Ε (ή το 1 είναι στην πλευρά του τύπου Ε), αυτό σηµαίνει ότι αν επιλέξουµε µια οντότητα από καθένα από τα άλλα σύνολα οντοτήτων, αυτές συσχετίζονται µε µια µόνο οντότητα του Ε (Ηθοποιός, Ταινία, Εταιρεία Παραγωγής) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 51 Τύποι Συσχετίσεων µε Βαθµό Μεγαλύτερο του Δύο Για παράδειγµα µετατροπή του: αµοιβή Όνοµα-ταινίας Όνοµα-ηθοποιού ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 Ένας ηθοποιός υπογράφει συµβόλαιο για µια ταινία µε µία µοναδική εταιρεία παραγωγής Όνοµα-εταιρείας ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ Συνδυασµός (τ, η) µε ένα µοναδικό ε Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 52 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 26

Ένα στιγµιότυπο της αρχικής πληροφορίας στην τριαδική συσχέτισης: Όνοµα-ηθοποιού η1 τ1 ε1 {σ1} η2 τ1 ε2 {σ2} η2 τ3 ε1 {σ3}... η1 τ1 η2 τ1 η2 τ3 Τύποι µε Βαθµό Μεγαλύτερο του Δύο ΗΘΟΠΟΙΟΣ ΣΥΜΜΕΤΕΧΕΙ ΤΑΙΝΙΑ Όνοµα-ταινίας τ1 ε1 αµοιβή τ1 ε2 τ3 ε1 ΜΙΣΘΩΝΕΙ ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ ΠΑΡΑΓΕΙ η1 ε1 η2 ε2 η2 ε1 Γιατί όχι; η2 τ1 ε1; Ενώ δεν υπάρχει Όνοµα-εταιρείας Δηλαδή, δεν είναι ισοδύναµη της τριαδικής Κοιτάζοντας τα στοιχεία δεν ξέρουµε µε ποια εταιρεία έκανε συµβόλαιο ο η2 για την ταινία τ1 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 53 Τύποι µε Βαθµό Μεγαλύτερο του Δύο Όνοµα-ηθοποιού Όνοµα-εταιρείας Όνοµα-ταινίας ΗΘΟΠΟΙΟΣ 1 ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ ΤΑΙΝΙΑ ΥΠΟΓΡΑΦΕΙ ΣΥΝΤΑΣΣΕΙ ΑΦΟΡΑ Ν 1 Ν αµοιβή 1 Ν Μπορούµε α εισάγουµε έναν «εικονικό» ασθενή τύπο οντοτήτων Η καινούργια οντότητα είναι ασθενής (δεν τις αναθέτουµε κλειδί): προσδιορίζεται µοναδικά από τις άλλες ΣΥΜΒΟΛΑΙΟ Ποιο είναι το κλειδί του Συµβολαίου; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 54 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 27

Τύποι µε Βαθµό Μεγαλύτερο του Δύο A R B Γενικά C Εισαγωγή «εικονικού» τύπου οντότητας για τη συσχέτιση A B C R1 R2 E R3 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 55 Τύποι µε Βαθµό Μεγαλύτερο του Δύο Στην πράξη, Συχνά εισαγωγή «τεχνητού» κλειδιού για τη συσχέτιση (πχ αριθµό συµβολαίου) παράδειγµα Ένα στιγµιότυπο της συσχέτισης: a1 b1 c1 e1 a2 b2 c2 e2 a2 b3 c1 e3 A R B C Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 56 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 28

Τύποι µε Βαθµό Μεγαλύτερο του Δύο A R B a1 b1 c1 e1 a2 b2 c2 e2 R1 e1 a1 a2 b3 c1 e3 A e2 a2 e3 a2. 1 R1 B C Ν 1 R2 C 1 R2 e1 b1 e2 b2 e3 b3... R3? Ν E Ν R3 Εισαγωγή «εικονικού» τύπου οντότητας για τη συσχέτιση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 57 Τύποι µε Βαθµό Μεγαλύτερο του Δύο Γνωρίσµατα A R B (πάλι στο Ε) C A 1 B 1 C R1 Ν R2 1 Ν E Ν R3 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 58 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 29

Τύποι µε Βαθµό Μεγαλύτερο του Δύο Για παράδειγµα µετατροπή του: αµοιβή Όνοµα-ταινίας Όνοµα-ηθοποιού ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 Όνοµα-εταιρείας ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 59 Τύποι µε Βαθµό Μεγαλύτερο του Δύο Όνοµα-ηθοποιού Όνοµα-εταιρείας Όνοµα-ταινίας ΗΘΟΠΟΙΟΣ ΕΤΑΙΡΕΙΑ ΠΑΡΑΓΩΓΗΣ ΤΑΙΝΙΑ 1 1 1 ΥΠΟΓΡΑΦΕΙ ΣΥΝΤΑΣΣΕΙ ΑΦΟΡΑ Ν Ν ΣΥΜΒΟΛΑΙΟ αµοιβή Ν Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 60 Σ Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 30

Τύποι µε Βαθµό Μεγαλύτερο του Δύο Βαθµός > 2 αποθήκευση πολυπλοκότητα περιορισµούς συµµετοχής Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 61 Κριτήρια Σχεδιασµού Υπάρχουν πολλά σχήµατα Ο/Σ για ένα πρόβληµα Ποιο είναι «καλό»; Πρέπει να ακολουθεί πιστά τους περιορισµούς (specifications) Αποφυγή Πλεονασµού (αποθηκευτικός χώρος, διατήρηση συνέπειας) Απλότητα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 62 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 31

Κριτήρια Σχεδιασµού Επιλογή του κατάλληλου στοιχείου 1. Γνώρισµα ή Τύπο Οντοτήτων; Φοιτητής Μάθηµα, Φοιτητής Τµήµα, Φοιτητής - Διεύθυνση 2. Πολλές δυαδικές συσχετίσεις ή µία συσχέτιση µεγαλύτερου βαθµού; 3. Οντότητα ή Συσχέτιση; 4. Γνωρίσµατα συσχετίσεων (πότε µπορεί να µεταφερθούν στις συµµετέχουσες οντότητες;) 5. Χρήση ασθενούς οντότητας; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 63 Επεκτάσεις Επεκτεταµένο Μοντέλο ΟΣ (ΕΟΣ) Θα δούµε µόνο τα βασικά για τις παρακάτω έννοιες: Υπερκλάση (υποκλάση) Γενίκευση (εξειδίκευση) Κληρονοµικότητα γνωρισµάτων και συσχετίσεων µε ένα παράδειγµα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 64 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 32

Επεκτάσεις Πότε; Υπάρχουν γνωρίσµατα που αφορούν µόνο κάποιες από τις οντότητες ή/και Υπάρχουν συσχετίσεις στις οποίες συµµετέχουν µόνο κάποιες από τις οντότητες Φοιτητής (µεταπτυχιακός, προπτυχιακός) Όχηµα (επιβατικό, επαγγελµατικό) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 65 Μια οντότητα µπορεί να έχει τµήµατα που ανήκουν σε παραπάνω από ένα τύπο οντοτήτων. Τα τµήµατα ενώνονται µέσω µιας isa ιεραρχίας Ταινία Επεκτάσεις isa όπλο Book adaptation murder mystery βασίζεται Βιβλίο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 66 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 33

Εξειδίκευση Μια οντότητα µπορεί να περιλαµβάνει υπο-οµάδες οντοτήτων οι οποίες διακρίνονται από επιπρόσθετα γνωρίσµατα (ταινία ταινία κινουµένων σχεδίων) Εξειδίκευση: η διαδικασία προσδιορισµού υπο-οµάδων Δηµιουργεί ιεραρχίες εξειδίκευσης (είναι υπο-οµάδα) (IsA) Μια σχέση IsA ορίζει επίσης µια σχέση υπερκλάσης/υποκλάσης υπερκλάση υποκλάση C isa D Συµβολισµός βιβλίου: C d D Το cartoons, murdermysteries ορίζουν υποοµάδες (υπο-κλάσεις) των ταινιών Περιλαµβάνουν όλα τα γνωρίσµατα της υπερκλάσης + ιδιαίτερα γνωρίσµατα ή συσχετίσεις Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 67 Κληρονοµικότητα 1. Τα γνωρίσµατα των οντοτήτων που υπάρχουν στα υψηλότερα επίπεδα κληρονοµούνται από τις οντότητες που βρίσκονται στα χαµηλότερα επίπεδα 2. Επίσης, κληρονοµείται η συµµετοχή σε συσχετίσεις µε τους ίδιους περιορισµούς (δηλαδή, κληρονοµεί όλα τα στιγµιότυπα των συσχετίσεων για τους τύπους των συσχετίσεων στους οποίους συµµετέχει η υπερ-κλάση) για παράδειγµα της συσχέτισης ΠΑΙΖΕΙ Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 68 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 34

Συµµετοχή σε Στιγµιότυπα Το σύνολο των οντοτήτων που ανήκουν σε µια υπο-κλάση είναι υποσύνολο των οντοτήτων που ανήκουν στην υπερκλάση Δηλαδή, κάθε ταινία murder mystery είναι και ταινία (η ίδια οντότητα ανήκει και στους δύο τύπους) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 69 Συµµετοχή σε Στιγµιότυπα ΜΗ ΕΠΙΚΑΛΥΨΗ Στη γενική περίπτωση, µπορεί µια οντότητα να ανήκει σε παραπάνω από µια υποκλάσεις (murder mystery + cartoon: Roger Rabbit) (overlap constraint) D D d o C B C B Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 70 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 35

ΠΛΗΡΟΤΗΤΑ Συµµετοχή σε Στιγµιότυπα Στη γενική περίπτωση δεν είναι απαραίτητο κάθε οντότητα µιας υπερ-κλάσης να είναι µέλος µιας υποκλάσης (covering/completeness constraint) - ολική: κάθε οντότητα της υπερκλάσης είναι µέλος κάποιας υποκλάσης µερική εξειδίκευση D Οι δυο περιορισµοί είναι ανεξάρτητοι, άρα 4 διαφορετικούς τύπους εξειδίκευσης d C Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 71 Εξειδίκευση Μια οντότητα µπορεί να έχει παραπάνω από µια εξειδικεύσεις Για παράδειγµα ένας Εργαζόµενος µπορεί να είναι: Γραµµατέας, Τεχνικός, Μηχανικός Ωροµίσθιος, Μισθωτός Η εξειδίκευση µπορεί να εφαρµοστεί επαναληπτικά Ο Μηχανικός µπορεί να είναι Ηλεκτρονικός ή Μηχανολόγος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 72 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 36

Γενίκευση Η εξειδίκευση αντιστοιχεί σε top-down σχεδιασµό Γενίκευση: bottom-up, σύνθεση όλων των οντοτήτων µε βάση τα κοινά τους γνωρίσµατα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 73 Μοντέλο Οντοτήτων-Συσχετίσεων Μοντελοποίηση του προβλήµατος χρησιµοποιώντας το µοντέλο Οντοτήτων-Συσχετίσεων [Chen, ACM TODS 1(1), Jan 1976] Δυο βασικά στοιχεία: Τύποι Οντοτήτων και Τύποι Συσχετίσεων ανάµεσα σε τύπους οντοτήτων Περιγράφουν το σχήµα Υποκειµενική Διαδικασία, πραγµατική υλοποίηση µε Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 74 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 37

Παράδειγµα I Θέλετε να κατασκευάσετε µια βάση δεδοµένων για τα ταξίδια σας σε διάφορες πόλεις µε πληροφορίες για τα ξενοδοχεία, εστιατόρια και αξιοθέατα που επισκεφτήκατε. Κάθε πόλη έχει ένα µοναδικό όνοµα και βρίσκεται σε µια χώρα. Για κάθε ταξίδι διατηρείτε την ηµεροµηνία που έγινε και τη διάρκειά του. Για κάθε ταξίδι κρατάτε επίσης πληροφορία για τα ξενοδοχεία, εστιατόρια και αξιοθέατα που επισκεφτήκατε. Μπορείτε να υποθέσετε ότι στην ίδια πόλη δεν υπάρχουν ξενοδοχεία, εστιατόρια και αξιοθέατα µε το ίδιο όνοµα. Για τα ξενοδοχεία/εστιατόρια/αξιοθέατα κρατάτε τη διεύθυνση τους, για τα εστιατόρια το είδος κουζίνας, για τα ξενοδοχεία την κατηγορία τους και για τα αξιοθέατα το είδος του (π.χ., µουσείο, παραλία κλπ). Για κάθε επίσκεψη σας σε ένα ξενοδοχείο/εστιατόριο/αξιοθέατο κρατάτε την ηµεροµηνία που έγινε και µια βαθµολογία. Για τα ξενοδοχεία κρατάτε και το πόσα βράδια µείνατε σε αυτά. Μπορεί στο ίδιο ταξίδι να επισκεφτείτε το ίδιο ξενοδοχείο/εστιατόριο/αξιοθέατο παραπάνω από µια φορά. Μπορεί να έχετε ταξιδέψει σε µια πόλη περισσότερες από µία φορές. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 75 Παράδειγµα ΙΙ Θέλουµε να σχεδιάσουµε µια βάση δεδοµένων για ένα συνεργείο αυτοκινήτων, στην οποία διατηρούµε την παρακάτω πληροφορία: Για κάθε πελάτη, καταγράφουµε το (µοναδικό) όνοµά του, τη διεύθυνσή του, και ένα τηλέφωνο επικοινωνίας. Για κάθε αυτοκίνητο έχουµε το µοναδικό αριθµό πινακίδων του, τη µάρκα (πχ FIAT, BMW) και το µοντέλο του (πχ, Punto, Polo). Για κάθε επισκευή, αποθηκεύουµε µια περιγραφή της εργασίας που έγινε (έως 200 χαρακτήρες), την ηµεροµηνία, και το συνολικό κόστος. Μια επισκευή περιλαµβάνει αλλαγή µηδέν ή περισσοτέρων εξαρτηµάτων (π.χ., µπαταρία, τακάκια, κλπ). Για κάθε εξάρτηµα καταγράφουµε το µοναδικό αριθµός εξαρτήµατος, το όνοµα του εξαρτήµατος και το κόστος του. Επιπρόσθετα, ισχύουν οι παρακάτω περιορισµοί: Σε κάθε αυτοκίνητο γίνονται µία ή περισσότερες επισκευές. Κάθε πελάτης είναι ο βασικός ιδιοκτήτης ενός ή περισσοτέρων αυτοκινήτων. Κάθε αυτοκίνητο έχει ένα µοναδικό βασικό ιδιοκτήτη (αγνοούµε συν-ιδιοκτησίες αυτοκινήτων). Σε κάθε αυτοκίνητο µπορεί να γίνεται µόνο µια επισκευή σε µια συγκεκριµένη ηµεροµηνία. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 76 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 38

Παράδειγµα IΙΙ Στους παγκόσµιους κολυµβητικούς αγώνες του 2009 στη Ρώµη υπάρχουν πολλά ατοµικά αγωνίσµατα. Θέλουµε να σχεδιάσουµε µια βάση δεδοµένων για αυτά τα αγωνίσµατα στην οποία θα καταγράφετε η εξής πληροφορία. Κάθε αγώνισµα έχει ένα µοναδικό όνοµα (πχ Ελεύθερο Γυναικών 100µ, Πεταλούδα Ανδρών 200µ κλπ). Για κάθε αγώνισµα, θέλουµε να καταγράψουµε το παγκόσµιο ρεκόρ, το ρεκόρ αγώνων και το όνοµα του νικητή στους αγώνες (αυτού που πήρε το χρυσό µετάλλιο). Κάθε αγώνισµα έχει έναν αριθµό από κούρσες. Κάθε κούρσα έχει και ένα όνοµα (πχ τελικός, ηµιτελικός, 1η προκριµατική σειρά, κλπ). Για κάθε κούρσα θέλουµε να καταγράψουµε την ηµεροµηνία και την ώρα διεξαγωγής της. Κάθε κολυµβητής έχει ένα µοναδικό όνοµα (πχ Michael Phelps). Για κάθε αθλητή καταγράφουµε επίσης την ηλικία του και τη χώρα καταγωγής του. Κάθε κολυµβητής αγωνίζεται σε µία ή παραπάνω κούρσες και θέλουµε να καταγράψουµε το χρόνο που κάνει σε κάθε κούρσα που συµµετέχει. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 77 Ερωτήσεις; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 78 Βάσεις εδοµένων2011-2012: Μοντέλο Οντοτήτων/Συσχετίσεων 39