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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενδεικτικές λύσεις ασκήσεων

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Θέματα ανακεφαλαίωσης

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

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

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

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

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

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

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

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

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

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

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

ΗΥ360 - Αρχεία και Βάσεις Δεδομένων Χειμερινό Eξάμηνο Μοντέλο Οντοτήτων-Συσχετίσεων Σχεσιακό Μοντέλο

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

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

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

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

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

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

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

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

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

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

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

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

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

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

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


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

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

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

Διαδικασία σχεδιασμού Β.Δ.

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

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

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

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

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

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

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

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

Transcript:

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

Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

Υπενθύμιση ΒΗΜΑ 1: Συλλογή απαιτήσεων ΒΗΜΑ 2: Μοντελοποίηση Εννοιολογικό Μοντέλο (μοντέλο Οντοτήτων/Συσχετίσεων) Μοντέλο Υλοποίησης (σχεσιακό μοντέλο) ΒΗΜΑ 3: Προγραμματισμός/Υλοποίηση Ορισμός Σχέσεων (πρόθεση/σχήμα) Εισαγωγή Στοιχείων (δημιουργία του αρχικού στιγμιότυπου) Διατύπωση Ερωτήσεων ΒΗΜΑ 4: Φυσικός σχεδιασμός Εσωτερικές δομές αποθήκευσης και οργάνωση αρχείων 3

Παράδειγμα - ΕΤΑΙΡΙΑ Κρατά στοιχεία για τους εργαζόμενους, τα τμήματα και τα έργα της Η εταιρία έχει τμήματα. Κάθε τμήμα έχει ένα μοναδικό όνομα, ένα μοναδικό αριθμό και ένα συγκεκριμένο εργαζόμενο που το διευθύνει. Κρατάμε την ημερομηνία που άρχισε να το διευθύνει. Οι εγκαταστάσεις του τμήματος βρίσκονται σε διάφορες τοποθεσίες Ένα τμήμα ελέγχει ένα πλήθος από έργα. Κάθε έργο έχει μοναδικό όνομα και αριθμό και εκτελείται σε συγκεκριμένη τοποθεσία Για κάθε εργαζόμενο αποθηκεύουμε το όνομα, τον αριθμό ταυτότητας, τη διεύθυνση, το μισθό, το φύλο και την ημερομηνία γέννησης. Ένας εργαζόμενος τοποθετείται σε ένα τμήμα αλλά μπορεί να απασχολείται σε διάφορα έργα, που μπορεί να ελέγχονται από άλλα τμήματα. Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών ανά εβδομάδα που απασχολείται ανά έργο. Καταγράφουμε τον άμεσο προϊστάμενό του Για κάθε εργαζόμενο καταγράφουμε τα εξαρτώμενα μέλη του. Για καθένα κρατάμε το όνομα, το φύλο, την ημερομηνία γέννησής του και τη σχέση του με τον εργαζόμενο 4

Οντότητες - Γνωρίσματα Οντότητα: Κάτι με ανεξάρτητη ύπαρξη, φυσική (άνθρωπος) ή ιδεατή (μάθημα) Γνώρισμα: Συγκεκριμένη ιδιότητα μιας οντότητας Τύποι γνωρισμάτων Σύνθετα: Αναλύονται (μέσα σε παρενθέσεις) σε πιο απλά γνωρίσματα (π.χ. Διεύθυνση) Απλά ή ατομικά: Δεν αναλύονται περισσότερο Μονότιμα: Μία μόνο τιμή για το γνώρισμα (π.χ. ηλικία) Πλειότιμα: Πολλές τιμές (μέσα σε άγκιστρα) για το ίδιο γνώρισμα (π.χ. αγαπημένα_χρώματα) Παραγόμενα: Υπολογίζονται με χρήση άλλων γνωρισμάτων (π.χ. αριθμός_υπαλλήλων) Αποθηκευμένα: Αυτά που βρίσκονται στη ΒΔ Κενή τιμή null: Όταν δεν έχει οριστεί τιμή για ένα χαρακτηριστικό 5

οντότητες - γνωρίσματα Κρατά στοιχεία για τους εργαζόμενους, τα τμήματα και τα έργα της Η εταιρία έχει τμήματα. Κάθε τμήμα έχει ένα μοναδικό όνομα, ένα μοναδικό αριθμό και ένα συγκεκριμένο εργαζόμενο που το διευθύνει. Κρατάμε την ημερομηνία που άρχισε να το διευθύνει. Οι εγκαταστάσεις του τμήματος βρίσκονται σε διάφορες τοποθεσίες Ένα τμήμα ελέγχει ένα πλήθος από έργα. Κάθε έργο έχει μοναδικό όνομα και αριθμό και εκτελείται σε συγκεκριμένη τοποθεσία Για κάθε εργαζόμενο αποθηκεύουμε το όνομα, τον αριθμό ταυτότητας, τη διεύθυνση, το μισθό, το φύλο και την ημερομηνία γέννησης. Ένας εργαζόμενος τοποθετείται σε ένα τμήμα αλλά μπορεί να απασχολείται σε διάφορα έργα, που μπορεί να ελέγχονται από άλλα τμήματα. Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών ανά εβδομάδα που απασχολείται ανά έργο. Καταγράφουμε τον άμεσο προϊστάμενό του Για κάθε εργαζόμενο καταγράφουμε τα εξαρτημένα μέλη του. Για καθένα κρατάμε το όνομα, το φύλο, την ημερομηνία γέννησής του και τη σχέση συγγένειας με τον εργαζόμενο 6

Όνομα Επώνυμο Αρ_Υπαλλ Όνομα Αριθμός Τοποθεσίες Ημ_Γεν Πλήρες_όνομα Φύλο Διεύθυνση ΤΜΗΜΑ Αρ_ταυτ ΕΡΓΑΖΟΜΕΝΟΣ Μισθός ΕΡΓΟ Τοποθεσία Αριθμός ΕΞΑΡΤΗΜΕΝΟ_ΜΕΛΟΣ Όνομα Όνομα Φύλο Ημ_Γεν Συγγένεια 7

Τιμές των γνωρισμάτων Κάθε απλό γνώρισμα έχει ένα σύνολο τιμών (value set) ή πεδίο ορισμού (domain) Τύπος οντότητας Ε, γνώρισμα Α, σύνολο τιμών V. Συνάρτηση από το Ε στο σύνολο των υποσυνόλων του V (δυναμοσύνολο P(V)) Α: Ε P(V) Για null Α(e)={} Για μονότιμα Α(e)= {value} Για πλειότιμα Α(e) є P(V) Για σύνθετα Α(e) є V : V=P(V 1 )xp(v 2 )x.. P(V n ) 8

Τύποι Οντοτήτων-Κλειδιά Τύπος οντότητας: Ένα σύνολο από οντότητες που έχουν την ίδια δομή (π.χ. Υπάλληλος) Ατομικές οντότητες: Ομαδοποιούνται σε μια συλλογή (π.χ. ο υπάλληλος Χ) Γνώρισμα-Κλειδί: Κάθε τύπος οντοτήτων έχει ένα γνώρισμα (ή ένα συνδυασμό γνωρισμάτων) που εμφανίζει διακεκριμένες τιμές για κάθε ατομική οντότητα (π.χ. ο αρ_ταυτ για τον Υπάλληλο) Υποψήφιο κλειδί: Το ελάχιστο κλειδί (σε αριθμό γνωρισμάτων) Πρωτεύον κλειδί: Το υποψήφιο κλειδί που επιλέγουμε 9

Κλειδιά Κρατά στοιχεία για τους εργαζόμενους, τα τμήματα και τα έργα της Η εταιρία έχει τμήματα. Κάθε τμήμα έχει ένα μοναδικό όνομα, ένα μοναδικό αριθμό και ένα συγκεκριμένο εργαζόμενο που το διευθύνει. Κρατάμε την ημερομηνία που άρχισε να το διευθύνει. Οι εγκαταστάσεις του τμήματος βρίσκονται σε διάφορες τοποθεσίες Ένα τμήμα ελέγχει ένα πλήθος από έργα. Κάθε έργο έχει μοναδικό όνομα και αριθμό και εκτελείται σε συγκεκριμένη τοποθεσία Για κάθε εργαζόμενο αποθηκεύουμε το όνομα, τον αριθμό ταυτότητας, τη διεύθυνση, το μισθό, το φύλο και την ημερομηνία γέννησης. Ένας εργαζόμενος τοποθετείται σε ένα τμήμα αλλά μπορεί να απασχολείται σε διάφορα έργα, που μπορεί να ελέγχονται από άλλα τμήματα. Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών ανά εβδομάδα που απασχολείται ανά έργο. Καταγράφουμε τον άμεσο προϊστάμενό του Για κάθε εργαζόμενο καταγράφουμε τα εξαρτημένα μέλη του. Για καθένα κρατάμε το όνομα, το φύλο, την ημερομηνία γέννησής του και τη σχέση συγγένειας με τον εργαζόμενο 10

Yποψήφια κλειδιά Όνομα Επώνυμο Αρ_Υπαλλ Όνομα Αριθμός Τοποθεσίες Ημ_Γεν Πλήρες_όνομα Φύλο Διεύθυνση ΤΜΗΜΑ Αρ_ταυτ ΕΡΓΑΖΟΜΕΝΟΣ Μισθός ΕΡΓΟ Τοποθεσία Αριθμός ΕΞΑΡΤΗΜΕΝΟ_ΜΕΛΟΣ Όνομα Όνομα Φύλο Ημ_Γεν Συγγένεια Yποψήφια κλειδιά 11

Συσχετίσεις Τύπος συσχέτισης (relationship type) R ορίζεται μεταξύ τύπων οντοτήτων (Ε 1,.. Ε n ) και υποδηλώνει συνδέσεις μεταξύ των τύπων οντοτήτων Στιγμιότυπα συσχέτισης (relationship instances) r i : συνδέουν οντότητες οι οποίες συμμετέχουν στη συσχέτιση Βαθμός τύπου συσχέτισης: Δείχνει το πλήθος των τύπων οντοτήτων που συμμετέχουν (δυαδικός, τριαδικός κλπ) π.χ. Εργαζόμενος εργάζεται Τμήμα, Προμηθευτής προμηθεύει Προϊόν στο Έργο 12

Συσχετίσεις (2) Συσχετίσεις ως γνωρίσματα: Ένα γνώρισμα σε ένα από τους συμμετέχοντες τύπους οντοτήτων με τιμή την οντότητα του άλλου τύπου π.χ. Κωδ_Τμήμα μονότιμο γνώρισμα στον Εργαζόμενο Εργαζόμενοι πλειότιμο γνώρισμα στο Τμήμα Ονόματα ρόλων: Κάθε τύπος οντοτήτων συμμετέχει σε μια συσχέτιση με ένα συγκεκριμένο ρόλο π.χ. Εργαζόμενος εργάζεται Τμήμα εργαζόμενος εργοδότης Αναδρομικοί τύπο συσχετίσεων: ένας τύπος οντοτήτων, τα στιγμιότυπα οντοτήτων έχουν διαφορετικούς ρόλους π.χ. Εργαζόμενος επιβλέπει Εργαζόμενο 13

Συσχετίσεις Κρατά στοιχεία για τους εργαζόμενους, τα τμήματα και τα έργα της Η εταιρία έχει τμήματα. Κάθε τμήμα έχει ένα μοναδικό όνομα, ένα μοναδικό αριθμό και ένα συγκεκριμένο εργαζόμενο που το διευθύνει. Κρατάμε την ημερομηνία που άρχισε να το διευθύνει. Οι εγκαταστάσεις του τμήματος βρίσκονται σε διάφορες τοποθεσίες Ένα τμήμα ελέγχει ένα πλήθος από έργα. Κάθε έργο έχει μοναδικό όνομα και αριθμό και εκτελείται σε συγκεκριμένη τοποθεσία Για κάθε εργαζόμενο αποθηκεύουμε το όνομα, τον αριθμό ταυτότητας, τη διεύθυνση, το μισθό, το φύλο και την ημερομηνία γέννησης. Ένας εργαζόμενος τοποθετείται σε ένα τμήμα αλλά μπορεί να απασχολείται σε διάφορα έργα, που μπορεί να ελέγχονται από άλλα τμήματα. Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών ανά εβδομάδα που απασχολείται ανά έργο. Καταγράφουμε τον άμεσο προϊστάμενό του Για κάθε εργαζόμενο καταγράφουμε τα εξαρτημένα μέλη του. Για καθένα κρατάμε το όνομα, το φύλο, την ημερομηνία γέννησής του και τη σχέση συγγένειας με τον εργαζόμενο 14

Όνομα Επώνυμο Πλήρες_όνομα Φύλο Ημ_Γεν Διεύθυνση ΕΡΓΑΖΕΤΑΙ Αρ_Υπαλλ ΔΙΕΥΘΥΝΕΙ Όνομα Αριθμός ΤΜΗΜΑ ΕΛΕΓΧΕΙ Τοποθεσίες Αρ_ταυτ ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΧΟΛΕΙΤΑΙ Μισθός ΕΡΓΟ ΕΠΙΒΛΕΠΕΙ ΠΡΟΣΤΑΤΕΥΕΙ Τοποθεσία Αριθμός ΕΞΑΡΤΗΜΕΝΟ_ΜΕΛΟΣ Όνομα Όνομα Φύλο Ημ_Γεν Συγγένεια 15

Δομικοί περιορισμοί Λόγος πληθικότητας (cardinality ratio): Ορίζει τον αριθμό των στιγμιοτύπων μιας συσχέτισης στα οποία μπορεί να συμμετέχει μια οντότητα π.χ. ένα τμήμα σχετίζεται με πολλούς εργαζόμενους, αλλά ένας 1 N εργαζόμενος μπορεί να σχετίζεται (εργάζεται) με ένα μόνο τμήμα Συσχέτιση με πληθικότητα 1:Ν Για δυαδικές σχέσεις ο λόγος πληθικότητας είναι: 1:1, 1:Ν, Μ:Ν Περιορισμός συμμετοχής Ολική συμμετοχή ή εξάρτηση ύπαρξης (existence dependency): Κάθε οντότητα από το ολικό σύνολο οντοτήτων πρέπει να σχετίζεται με μια οντότητα του άλλου τύπου π.χ. Κάθε υπάλληλος πρέπει να εργάζεται σε κάποιο τμήμα Μερική συμμετοχή π.χ. Κάποιοι υπάλληλοι διευθύνουν τμήματα, όχι όμως όλοι υποχρεωτικά 16

Γνωρίσματα τύπων συσχετίσεων Επιπλέον γνωρίσματα που αφορούν τη συσχέτιση ανάμεσα σε δύο τύπους οντοτήτων Για τύπους συσχέτισης 1:1 μπορούν να μεταφερθούν σε οποιονδήποτε από τους συμμετέχοντες τύπους οντοτήτων Για τύπους συσχέτισης 1:Ν μπορούν να μεταφερθούν στον τύπο οντοτήτων που συμμετέχει στη συσχέτιση από την πλευρά του Ν Για τύπους συσχέτισης Μ:Ν πρέπει να ορίζονται ως γνωρίσματα συσχέτισης π.χ Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών ανά εβδομάδα που απασχολείται ανά έργο π.χ. Κρατάμε την ημερομηνία που άρχισε να το διευθύνει 17

18 1 Ν 1 1 Ν Μ 1 Ν 1 Ν 1 Ν Ώρες Ημ_εναρξ (0,1) (1,1) (0,Ν) (1,1) (1,1) (0,Ν) (0,Ν) (0,1) (1,1) (1,Ν) (1,Ν) (4,N) ΕΡΓΑΖΟΜΕΝΟΣ ΤΜΗΜΑ ΕΡΓΟ ΕΞΑΡΤΗΜΕΝΟ_ΜΕΛΟΣ Όνομα Αριθμός Τοποθεσία Φύλο Πλήρες_όνομα Διεύθυνση Μισθός Αρ_ταυτ Ημ_Γεν Επώνυμο Όνομα Όνομα Φύλο Συγγένεια Ημ_Γεν ΕΡΓΑΖΕΤΑΙ ΔΙΕΥΘΥΝΕΙ ΕΛΕΓΧΕΙ ΠΡΟΣΤΑΤΕΥΕΙ ΑΠΑΧΟΛΕΙΤΑΙ Όνομα Αριθμός Τοποθεσίες Αρ_Υπαλλ ΕΠΙΒΛΕΠΕΙ

Μη ισχυροί τύποι οντοτήτων Δεν έχουν από μόνοι τους γνωρίσματα-κλειδιά Συσχετίζονται με ένα άλλο τύπο οντοτήτων (ισχυρό τύπο) σε μια σχέση 1-Ν με περιορισμό ολικής συμμετοχής Διαθέτουν συχνά ένα «μερικό κλειδί» (partial key) που περιλαμβάνει τα γνωρίσματα που μπορούν να προσδιορίσουν μονοσήμαντα μη ισχυρές οντότητες Το μερικό κλειδί συμπληρώνεται κατά την υλοποίηση με το κλειδί του ισχυρού τύπου Εναλλακτικά ο μη ισχυρός τύπος μπορεί να εμφανιστεί ως πλειότιμο γνώρισμα του ισχυρού τύπου Συμβολίζονται με διπλό περίγραμμα, και το μερικό κλειδί με διακεκομμένη υπογράμμιση Μη ισχυρή Οντότητα Μερικό Κλειδί 19

Παράδειγμα Το εξαρτημένο μέλος είναι μη ισχυρός τύπος οντότητας. Δύο εξαρτημένα μέλη μπορεί να έχουν τις ίδιες ακριβώς τιμές αλλά να συνδέονται με άλλο υπάλληλο το καθένα. Το μερικό κλειδί "Όνομα" δεν αρκεί Αν συμπληρωθεί όμως από το κλειδί "ΑρΤαυτ_Εργ" της οντότητας Εργαζόμενος χαρακτηρίζει μοναδικά κάθε Εξαρτημένο Μέλος Εναλλακτικά, μπορεί να χρησιμοποιηθεί ένα σύνθετο πλειότιμο γνώρισμα "Εξαρτώμενοι" στον Εργαζόμενο 20

Συνοψίζοντας Οι περιορισμοί που πρέπει να προσθέσουμε στο διάγραμμα οντοτήτων συσχετίσεων αφορούν: Κλειδιά Μοναδικές Τιμές (Πληθικότητα, Μονότιμα γνωρίσματα) Συμμετοχή (ολική, μερική) Εξάρτηση (Ασθενής Οντότητας) Πληθικότητα 21

Τύποι συσχετίσεων βαθμού μεγαλύτερου από δύο 22

Συσχέτιση βαθμού R Ένας τύπος συσχέτισης βαθμού R συνδέεται με τους R συμμετέχοντες τύπους οντοτήτων Για R=3 τριαδικό τύπο συσχέτισης Παράδειγμα: Μια εταιρία παραγωγής υπογράφει συμβόλαια με ένα ή περισσότερους ηθοποιούς για να παίξουν σε μια ή περισσότερες ταινίες Έχουμε τον τριαδικό τύπο συσχέτισης ΣΥΜΒΟΛΑΙΟ στον οποίο συμμετέχουν οι τρεις τύποι οντοτήτων ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ 23

Χρήση δυαδικών συσχετίσεων Η αναπαράσταση δεν είναι πάντοτε ισοδύναμη Εδώ είναι: Η εταιρία α έχει συμβόλαιο με τον ηθοποιό β Η εταιρία α παράγει την ταινία γ Ο ηθοποιός β παίζει στην ταινία γ Η τριάδα α,β,γ περιλαμβάνεται στην τριαδική συσχέτιση ΗΘΟΠΟΙΟΣ Μ ΠΑΙΖΕΙ Ν ΤΑΙΝΙΑ Ν Ν ΕΧΕΙ ΣΥΜΒΟΛΑΙΟ ΠΑΡΑΓΕΙ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ 1 24

Δεν είναι πάντοτε ισοδύναμες Αν υπάρχει το τριαδικό στιγμιότυπο τότε υπάρχουν και τα αντίστοιχα δυαδικά. Δεν ισχύει όμως πάντοτε το αντίθετο Δυαδικές συσχετίσεις (π,ε) Ο προμηθευτής π προμηθεύει το έργο ε (π,α) Ο προμηθευτείς π μπορεί να προμηθεύσει το αντικείμενο α (ε,α) Το έργο ε χρησιμοποιεί το αντικείμενο α Τριαδική συσχέτιση Δεν είναι σίγουρο ότι στο έργο ε το αντικείμενο α το προμηθεύει ο π : (π,ε,α)???? 25

Ποια η διαφορά; Στο πρώτο παράδειγμα υπάρχει μια προϋπόθεση που εξασφαλίζει την ισοδυναμία. Ένας ηθοποιός έχει συμβόλαιο με μία μόνο εταιρία παραγωγής, το ίδιο και μια ταινία Με το βέλος υποδηλώνουμε ότι αν επιλέξουμε μια οντότητα ταινίας και ηθοποιού, αυτές συσχετίζονται με μια μοναδική οντότητα εταιρίας παραγωγής ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ 26

Εναλλακτικά Μπορούμε να χρησιμοποιήσουμε ένα μη ισχυρό τύπο οντοτήτων στη θέση της συσχέτισης Ο μη ισχυρός τύπος έχει ολική συμμετοχή σε κάθε σχέση με τους ισχυρούς τύπους οντοτήτων Όνομα Ποσότητα Όνομα ΠΡΟΜΗΘΕΥΤΗΣ 1 ΚΑΝΕΙ Ν ΠΡΟΜΗΘΕΙΑ Ν ΧΡΗΣΙΜΟΠΟΙΕΙ 1 ΕΡΓΟ Ν ΠΕΡΙΛΑΜΒΑΝΕΙ Κωδικός 1 ΑΝΤΙΚΕΙΜΕΝΟ 27

Κριτήρια σχεδιασμού Συνέπεια στην περιγραφή και τους περιορισμούς Απλότητα (αποφυγή πλεονασμών) Ερωτήματα Γνώρισμα ή Τύπο Οντοτήτων; Πολλές δυαδικές συσχετίσεις ή μία βαθμού >2 Οντότητα ή Συσχέτιση; Γνωρίσματα συσχετίσεων (πότε μεταφέρονται στις οντότητες); Χρήση ασθενούς οντότητας; 28

Παράδειγμα Καλούμαστε να φτιάξουμε μια ΒΔ που θα κρατά τους βαθμούς των φοιτητών Το πανεπιστήμιο κρατά στοιχεία για το όνομα, τον αριθμό μητρώου, τον αριθμό ταυτότητας, την τρέχουσα διεύθυνση και τηλέφωνο, τη μόνιμη διεύθυνση και τηλέφωνο, την ημερομηνία γέννησης και το φύλο, το έτος κάθε φοιτητή, το τμήμα και τον κύκλο σπουδών (προπτυχιακό, μεταπτυχιακό, διδακτορικό) Κάθε τμήμα περιγράφεται από ένα όνομα, έναν κωδικό τμήματος, αριθμό γραφείου και τηλέφωνο γραμματείας, και τη σχολή που ανήκει. Το όνομα όσο και ο κωδικός έχουν μοναδική τιμή για κάθε τμήμα. Κάθε μάθημα έχει ένα όνομα, μια περιγραφή, ένα κωδικό μαθήματος, ώρες διδασκαλίας ανά εξάμηνο, επίπεδο και τμήμα που το προσφέρει. Η τιμή του κωδικού μαθήματος είναι μοναδική για κάθε μάθημα. Κάθε διδασκαλία ενός μαθήματος έχει ένα διδάσκοντα, εξάμηνο, έτος, μάθημα και αριθμό διδασκαλίας. Ο αριθμός διδασκαλίας διακρίνει τις διαφορετικές διδασκαλίες του ίδιου μαθήματος που προσφέρονται το ίδιο εξάμηνο/έτος. Οι τιμές του είναι 1,2, μέχρι το πλήθος των διδασκαλιών που προσφέρονται σε κάθε εξάμηνο Μια αναλυτική βαθμολογία αναφέρεται σε ένα φοιτητή και μια διδασκαλία και περιέχει το βαθμό λεκτικά (Αποτυχία, Καλώς, Λίαν καλώς, Άριστα) και αριθμητικά (0,1,,10) 29