Μοντέλα Δεδομένων. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο Μοντέλα Δεδομένων. Μοντέλο Δεδομένων. Μοντέλα Δεδομένων. Βάσεις Δεδομένων 9 ο εξάμηνο 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

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

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

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

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

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

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

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

Εισαγωγή-Ορισµοί Ε ΟΜΕΝΑ (DATA) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα ΒΑΣΗ Ε ΟΜΕΝΩΝ (DATABASE) Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή εδοµ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

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

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

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

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

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

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

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


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

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

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

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

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

Transcript:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο 2014 Μοντέλα Δεδομένων Μοντέλο: Αφαιρετική αναπαράσταση του πραγματικού κόσμου Ενότητα 2 Μοντέλα Δεδομένων ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ δομές λειτουργίες Μοντελοποίηση ΣΥΣΤΗΜΑ ΒΔ ΜΟΝΤΕΛΟ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών ΑΠΘ 2 Μοντέλο Δεδομένων Το μοντέλο δεδομένων αναπαριστά μια συγκεκριμένη αντίληψη της πραγματικότητας Η χρήση του μοντέλου αντανακλά τις λειτουργίες της πραγματικότητας Η διαδικασία της μοντελοποίησης περιλαμβάνει επιλογή των δομών της πραγματικότητας και την αφηρημένη αναπαράσταση τους Το μοντέλο δεδομένων περιλαμβάνει τα εργαλεία για την αναπαράσταση: Δομών δεδομένων Περιορισμών ακεραιότητας Λειτουργιών Μοντέλα Δεδομένων Οντοτήτων Συσχετίσεων (E/R) Ιεραρχικό (Hierarchical) Δικτυωτό (Network) Ανεστραμμένο ADABAS (Inverted) Σχεσιακό (Relational) Αντικειμενοστρεφές (Object Oriented) 3 4 2 1

Μοντέλο Δεδομένων Δομές Δεδομένων Σε όλα τα μοντέλα δεδομένων πρέπει να οριστούν: Τύποι γνωρισμάτων (attribute types) Τύποι οντοτήτων (entity types) Τύποι συσχετίσεων (relationship types) Μοντέλο Δεδομένων Περιορισμοί Οι περιορισμοί εκφράζουν κανόνες που δεν μπορούν να υλοποιηθούν μόνο με τις δομές δεδομένων: Πχ, Ολες οι οντότητες πρέπει να έχουν μία και μόνο μία DEPT AIRPORT συσχέτιση DEPT AIRPORT DEPT AIRPORT FLIGHT# AIRPORT CODE FLIGHT# AIRPORT CODE 101 atl 912 cph 101 atl 912 cph 545 lax 545 lax 5 6 Μοντέλο Δεδομένων Λειτουργίες Οι λειτουργίες υποστηρίζουν την προσπέλαση και την ενημέρωση της βάσης: INSERT (97, delta, tu, 258); INSERT DEPT AIRPORT(97, atl); SELECT FLIGHT#, WEEKDAY FROM WHERE AIRLINE= delta ; 97 delta Tu 258 DEPT AIRPORT FLIGHT# AIRPORT CODE 101 atl 912 cph 545 lax 97 atl Μοντέλο Δεδομένων Λειτουργίες με χρήση προγραμμάτων declare C cursor for select FLIGHT#, WEEKDAY from where AIRLINE= delta ; open C; repeat fetch C into :FLIGHT#, :WEEKDAY; do your thing; until done; close C; 7 8 2 2

Κλειδιά και Ταυτότητες (Keys and Identifiers) Τα κλειδιά είναι περιορισμοί μοναδικότητας και ενεργούν ως ταυτότητες των εγγραφών Πχ ΕΡΓΑΖΟΜΕΝΟΣ (ΑΡ_ΤΑΥΤΟΤΗΤΑΣ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΜΗΜΑ) Αν το FLIGHT# είναι κλειδί στο, υποχρεωτικά όλες οι τιμές στο πεδίο FLIGHT# θα είναι μοναδικές στο Κλειδιά Παράδειγμα 1 Θεωρείστε τα παρακάτω κλειδιά στο DEPT AIRPORT: FLIGHT# AIRPORT CODE FLIGHT# AIRPORT CODE FLIGHT# AIRPORT CODE Τι περιορισμούς εισάγουν στο DEPT-AIRPORT; DEPT AIRPORT FLIGHT# AIRPORT CODE 101 atl 912 cph 545 lax 242 bos 9 10 Κλειδιά Παράδειγμα 2 Επίθετο Όνομα ΑΜ Φοιτητή Τμήμα Ακεραιότητα (Data Integrity) Αναπαριστά το μοντέλο σωστά την πραγματικότητα? Υπάρχουν εσωτερικές ασυμβατότητες? Κλειδί (2 γνωρίσματα) Κλειδί Υπερκλειδί Το FLIGHT# στο πρέπει να έχει τιμή, γιατί περιγράφει μια φυσική οντότητα, δηλ μία πτήση Το FLIGHT# στο DEPT AIRPORT πρέπει να υπάρχει στο γιατί δεν μπορεί μια ανύπαρκτη πτήση (οντότητα του ) να προγραμματιστεί από κάποιο αεροδρόμιο (να έχει εγγραφή στο DEPT AIRPORT) Σημείωση: Υπάρχουν πολλά εναλλακτικά κλειδιά!!! Τα κλειδιά είναι {Επίθετο, Όνομα} και {ΑΜ Φοιτητή} DEPT AIRPORT FLIGHT# AIRPORT CODE 101 atl 912 cph 545 lax 242 bos 11 12 2 3

Ενεργοποιητές (Τriggers) Ενεργοποιητές μπορούν να οριστούν σαν προαποθηκευμένες ρουτίνες που θα διασφαλίζουν την τήρηση των περιορισμών (ασφαλείας, ακεραιότητας, αναφοράς, κλπ) στη βάση Ορισμός Συνθήκη ενεργοποίησης Ενέργεια DEFINE TRIGGER DELETE ON DELETE FROM WHERE FLIGHT#= X ACTION DELETE FROM DEPT AIRPORT WHERE FLIGHT#= X ; Ακαθόριστες τιμές (null values) CUSTOMER CUSTOMER# NAME MAIDEN NAME DRAFT STATUS 123 45 6789 Lisa Smith Lisa Jones inapplicable 234 56 7890 George Foreman inapplicable drafted 345 67 8901 unknown Mary Blake inapplicable Η τιμή null unknown σημαίνει πως το γνώρισμα έχει νόημα αλλά η τιμή του δεν είναι, προς το παρόν, γνωστή That s ok! DEPT AIRPORT FLIGHT# AIRPORT CODE 101 atl 912 cph 545 lax 242 bos Η τιμή null inapplicable σημαίνει πως το γνώρισμα δεν έχει νόημα στην παρούσα πλειάδα That s bad! Τιμές null inapplicable προκύπτουν από την απευθείας μετατροπή εντύπων γενικής χρήσης σε σχέσεις κατά τη φάση σχεδίασης της βάσης Τα έντυπα γενικής χρήσης είναι πολύ αποτελεσματικά στην καθημερινή ζωή, αλλά μπορούν να επιφέρουν σημαντικά προβλήματα στη σχεδίαση της βάσης 13 14 Κανονικοποίηση Μέθοδος σχεσιακής βάσης δεδομένων Σκοπός: Αποθήκευση πληροφορίας χωρίς περιττούς πλεονασμούς Χρήση: Λειτουργικών Εξαρτήσεων Κανονικοποίηση (Normalization) 101 delta Mo,Fr 156 545 american Mo,We,Fr 110 μη κανονικοποιημένη πλεονάζουσα 545 american Mo 110 101 delta Fr 156 545 american Fr 110 FLIGHT WEEKDAY FLIGHT# WEEKDAY 101 Mo 545 Mo 912 Fr 101 Fr 545 We 545 Fr just right! FLIGHT# AIRLINE PRICE 101 delta 156 545 american 110 912 scandinavian 450 15 16 2 4

Μοντέλα Δεδομένων Μοντέλα βασισμένα σε αντικείμενα (object based models) Οντοτήτων Συσχετίσεων (E/R) Αντικειμενοστραφές Εννοιολογικό Συναρτησιακό Μοντέλα βασισμένα σε εγγραφές (record based models) Ιεραρχικό Δικτυακό Σχεσιακό Μοντέλο Οντοτήτων Συσχετίσεων Το μοντέλο ΟΣ βασίζεται στην αντίληψη ότι ο πραγματικός κόσμος αποτελείται από οντότητες (entities) με γνωρίσματα (atributes) και συσχετίσεις (relationships) μεταξύ των οντοτήτων Αναπτύχθηκε για να διευκολύνει το σχεδιασμό μίας ΒΔ, επιτρέποντας τον ορισμό ενός σχήματος (schema) που να αναπαριστά τη συνολική λογική δομή της βάσης Το μοντέλο ΟΣ αναπτύχθηκε από τον P Chen (1976) ως ένας τρόπος επικοινωνίας μεταξύ χρηστών και σχεδιαστών 17 18 Μοντέλο ΟΣ Δομή Παράδειγμα Οντότητα Αντικείμενο, γεγονός, κατάσταση ή αφηρημένη έννοια που ενδιαφερόμαστε να καταγράψουμε Όνομα Τμήμα Διεύθυνση Γνωρίσματα Ιδιότητες ή χαρακτηριστικά που περιγράφουν μια οντότητα φοιτά Συσχέτιση Απεικόνιση μεταξύ οντοτήτων Όνομα Φοιτητής/τρια ΑΕΜ Κλειδί το σύνολο των γνωρισμάτων της οντότητας, το οποίο ταυτοποιεί κάθε εγγραφή και τη διακρίνει από τις άλλες 19 20 2 5

Μοντέλο Ο/Σ Δομές Δεδομένων Μοντέλο Ο/Σ Διάγραμμα visa required Τύπος οντότητας Τύπος συσχέτισης Ημερ γέννησης street airport name airport addr city zip airport code airport 1 dept time 1 dept airport arriv airport n n domestic flight p flight schedule 1 international flight weekdays flight# Γνώρισμα Παραγόμενο γνώρισμα Ηλικία arriv time instance of δρόμος Διεύθυνση πόλη Σύνθετο γνώρισμα Mon,Tues Πλειότιμο γνώρισμα 21 customer name customer# customer n seat# reservation 22 date n n flight instance Οντότητες Κλειδιά 23 Τύποι Οντοτήτων : Αντικείμενα με κοινά χαρακτηριστικά ομαδοποιούνται Πχ ο Thom Yorke και οι Depeche Mode μπορούν να ομαδοποιηθούν στην οντότητα Performer Στιγμιότυπο οντότητας (entity instance) απτό αντικείμενο του πραγματικού κόσμου πχ το τελευταίο cd των Depeche Mode, ο παραγωγός της εκπομπής Ράδιο Αρβύλα ένα αφηρημένο αντικείμενο πχ ένα «πικάντικο» σχόλιο για τον Thom Yorke Γνωρίσματα : περιγράφουν τις οντότητες Το πεδίο ορισμού (domain) ενός γνωρίσματος προσδιορίζει το σύνολο από το οποίο αντλούνται οι τιμές του Κλειδιά (keys): Το γνώρισμα/γνωρίσματα που προσδιορίζει με μοναδικό τρόπο μία οντότητα reccompany medium Album ID daterecorded name Απλό ή Σύνθετο (simple, composite) Πρωτεύον ή Δευτερεύον (primary, secondary) Υποψήφιο ή Εναλλακτικό (candidate, alternative) 24 2 6

Συσχετίσεις Το μοντέλο Ο Σ διαχωρίζει ξεκάθαρα τις οντότητες από τον μηχανισμό που τις συνδέει μεταξύ τους, δηλ τις συσχετίσεις (relationships) πχ τα στιγμιότυπα της οντότητας Μάθημα συνδέονται με τα στιγμιότυπα της οντότητας Φοιτητής μέσω της συσχέτισης Παρακολουθεί Φοιτητής παρακολουθεί Μάθημα Οι συσχετίσεις μπορούν να έχουν γνωρίσματα πχ η συσχέτιση Διδάσκει μπορεί να έχει γνωρίσματα που να δείχνουν από πότε έως πότε ένας καθηγητής δίδασκε ένα μάθημα Καθηγητής fromyear Διδάσκει toyear Μάθημα Περιορισμοί στις Συσχετίσεις Έστω συσχέτιση Α, στην οποία συμμετέχει η οντότητα C Ο περιορισμός πληθικότητας min max δηλώνει ότι ο αριθμός των στιγμιοτύπων της συσχέτισης τύπου A στα οποία μπορεί να συμμετέχει μία συγκεκριμένη οντότητα του τύπου C, πρέπει να είναι στο (κλειστό) διάστημα min max min 0 και max > 0 max μπορεί να είναι το σύμβολο *, που αντιπροσωπεύει το άπειρο Ισχύουν οι παρακάτω συντομεύσεις: περιορισμοί της μορφής ΝΝ (όπου min=max) γράφονται απλώς Ν το * σημαίνει 0* έγκυρο στιγμιότυπο του διαγράμματος Ο/Σ: η συσχέτιση a3 έχει διαγραφεί γιατί θα παραβίαζε τα όρια πληθικότητας 12 25 26 Συσχετίσεις(min,max) Εκφράζουν τα (min, max) στιγμιότυπα της δεύτερης οντότητας στα οποία μπορεί να συμμετέχει η πρώτη φοιτητής (0,8) Έχει (0,N) γραφτεί Μαθήματα Ένας φοιτητής μπορεί να γραφτεί σε 0 μέχρι 8 μαθήματα Ένα μάθημα μπορούν να το πάρουν από 0 έως Ν φοιτητές Τύποι Συσχετίσεων Θεμελιώδεις Ένα προς ένα (1:1) Ένα προς πολλά (1:Ν) Πολλά προς ένα (Ν:1) Πολλά προς πολλά (Ν:Μ) Αναδρομικές (recursive) Πολλαπλές συσχετίσεις μεταξύ δύο τύπων οντοτήτων 27 28 2 7

Συσχέτιση 1:1 Κάθε στιγμιότυπο (instance) μιας οντότητας Ε1 μπορεί να συσχετίζεται με ακριβώς μία παρουσία μιας άλλης οντότητας Ε2 και αντιθέτως E1: Φοιτητής R: Συμβουλεύει E2: Καθηγητής Ε1 Ε2 Ε3 Ε4 Ε5 r1 r2 r3 Ένας καθηγητής συμβουλεύει το πολύ έναν φοιτητή και ένας φοιτητής μπορεί να έχει το πολύ ένα σύμβουλο Τ1 Τ2 Τ3 Συσχέτιση Ν:1 Κάθε στιγμιότυπο της οντότητας Ε2 μπορεί να συσχετίζεται με καμία ή περισσότερες (0 έως N) παρουσίες της Ε1, αλλά κάθε παρουσία της Ε1 μπορεί να συσχετίζεται με μια μόνο παρουσία της Ε2 Ένας καθηγητής συμβουλεύει πολλούς φοιτητές και ένας φοιτητής μπορεί να έχει το πολύ ένα σύμβουλο E1: Φοιτητής R: Συμβουλεύει r1 E2: Καθηγητής Ε1 Ε2 Ε3 Ε4 r2 r3 r4 r5 Τ1 Τ2 Τ3 Ε5 r6 29 30 Συσχέτιση Μ:Ν Ένας Φοιτητής μπορεί να έχει πολλούς συμβούλους και ένας καθηγητής μπορεί να συμβουλεύει πολλούς φοιτητές E1: Φοιτητής R: Συμβουλεύει r1 E2: Καθηγητής Ε1 Ε2 Ε3 Ε4 r2 r3 r4 r5 Τ1 Τ2 Τ3 Ε5 r6 Θεμελιώδεις Συσχετίσεις Παράδειγμα Μέσω της συσχέτισης Α και των περιορισμών πληθικότητας, υπονοούνται οι ακόλουθες συσχετίσεις: 1:1 μεταξύ των οντοτήτων Β και C 1:Ν μεταξύ των οντοτήτων Β και Ε 1:Ν μεταξύ των οντοτήτων Β και D, 1:Ν μεταξύ των οντοτήτων C και D, 1:Ν μεταξύ των οντοτήτων C και E Μ:Ν μεταξύ των οντοτήτων D και E και αντίστροφα Μία συσχέτιση 1:Ν (πχ η συσχέτιση μεταξύ Β και Ε) δεν είναι συμμετρική: η αντίστροφη συσχέτιση (πχ η συσχέτιση μεταξύ Ε και Β) ονομάζεται πολλά προς ένα και συμβολίζεται Ν:1 31 32 2 8

Πολλαπλές Συσχετίσεις Βαθμός Συσχέτισης Το πλήθος των οντοτήτων που συμμετέχουν σε μία συσχέτιση Πχ δυαδική, τριαδική, κτλ Τριαδική Συσχέτιση Ο κάθε φοιτητής μπορεί να παρακολουθεί ένα ή περισσότερα μαθήματα σε ένα ή περισσότερους καθηγητές 33 Φοιτητής Μ Παρακολουθεί Ν Καθηγητής Η συσχέτιση εκφράζει ποια μαθήματα παρακολουθεί ο φοιτητής από τον κάθε καθηγητή Κ Μάθημα 34 E1: Φοιτητής R: Παρακολουθεί Π1 Π2 E3: Μάθημα Υ1 Υ2 Υ3 r1 r2 r3 r4 r5 r6 r7 E2: Καθηγητής P1 P2 P3 Προσέξτε ότι σε κάθε «τετραγωνάκι» της συσχέτισης συμβάλλουν 3 γραμμές Αναδρομική Συσχέτιση Ρόλος (role) οντότητας είναι η λειτουργία που επιτελεί μία οντότητα σε μία συσχέτιση Είναι δυνατόν μία οντότητα να διακρίνεται από πολλούς ρόλους Για παράδειγμα, στην οντότητα Εργαζόμενος διακρίνουμε δύο διακριτούς ρόλους: διευθυντής και υπάλληλος Σε μία αναδρομική (recursive) συσχέτιση έχουμε μία οντότητα που συσχετίζεται με τον εαυτό της Αναδρομική Συσχέτιση Παράδειγμα E1: Μάθημα Ε1 Ε2 Ε3 Ε4 Ε5 R: Προαπαιτούμενα r1 r2 r3 r4 r5 r6 Ε1 προαπαιτούμενο το Ε2, Ε4 Ε2 προαπαιτούμενα Ε3 Ε4 προαπαιτούμενα Ε5, Ε3 35 36 2 9

Γνωρίσματα Συσχέτισης Μπορεί να εμφανιστούν σε συσχετίσεις 1:Ν και Ν:Μ όνομα Καθηγητής διεύθυνση N Από ημερ Συμβουλεύει M Έως ημερ Φοιτητής ΑΜ όνομα επώνυμο Συνδέουμε τις ιδιότητες «Από Ημερ»,«Έως Ημερ» για να καθορίσουμε το διάστημα για το οποίο ένας καθηγητής ήταν σύμβουλος Ιεραρχίες τύπων οντοτήτων Κατά την σχεδίαση ενός μοντέλου Ο Σ συχνά προκύπτουν οντότητες οι οποίες είναι υποτύποι άλλων O τύπος οντότητας R είναι υποτύπος του τύπου οντότητας R : Κάθε στιγμιότυπο της οντότητας R είναι επίσης στιγμιότυπο της R Κάθε γνώρισμα της R είναι επίσης γνώρισμα της R Η οντότητα R μπορεί να έχει και γνωρίσματα τα οποία δεν είναι εφαρμόσιμα σε μία τυπική οντότητα τύπου R Συνεπώς Κάθε κλειδί του τύπου οντότητας R είναι επίσης κλειδί για τον τύπο οντότητας R 37 38 Ιεραρχίες τύπων οντοτήτων Παράδειγμα Περιορισμοί στις Ιεραρχίες Οντοτήτων ID country Performer website name ID country Performer website name Αντιπροσωπεύει ταυτόχρονα δύο συσχετίσεις: Singer IsA Performer & Group IsA Performer Is A disjoint Is A disjoint dateofbirth Singer Group creationdate breakupdate dateofbirth Singer Group creationdate breakupdate Is A disjoint O τύπος DeadSinger είναι υποτύπος του Singer, αλλά και του Performer currentaddress Alive Singer Dead Singer dateofdeath causeofdeath Κάθε γνώρισμα του Performer είναι και γνώρισμα του Singer και, μεταβατικά, και γνώρισμα του DeadSinger Περιορισμός κάλυψης (covering constraint): η ένωση των οντοτήτων που ανήκουν στους τύπους Singer και Group είναι ίση με το σύνολο των οντοτήτων του (υπερτύπου) Performer Περιορισμός αμοιβαίου αποκλεισμού (disjointness constraint): οι υποτύποι οντοτήτων Singer και Group είναι αμοιβαία αποκλειόμενοι (disjoint) δεν υπάρχει τραγουδιστής που να αποτελεί group από μόνος του 39 40 2 10

Περιορισμοί στις Ιεραρχίες Οντοτήτων Μια ομάδα IsA συσχετίσεων, C 1 IsA C; C 2 IsA C; ; C k IsA C ικανοποιεί τον περιορισμό αμοιβαίου αποκλεισμού αν τα σύνολα των στιγμιοτύπων των οντοτήτων C 1, C 2,, C Κ είναι αμοιβαία αποκλειόμενα ικανοποιεί τον περιορισμό κάλυψης αν η ένωση των συνόλων των στιγμιοτύπων των οντοτήτων C 1, C 2,, C Κ ταυτίζεται με το σύνολο των στιγμιοτύπων της οντότητας C Περιορισμός κάλυψης (covering constraint): η ένωση των οντοτήτων που ανήκουν στους τύπους Singer και Group είναι ίση με το σύνολο των οντοτήτων του (υπερτύπου) Performer Περιορισμός αμοιβαίου αποκλεισμού (disjointness constraint): οι υποτύποι οντοτήτων Singer και Group είναι αμοιβαία αποκλειόμενοι (disjoint) δεν υπάρχει τραγουδιστής που να αποτελεί group από μόνος του Υποχρεωτική και Προαιρετική Συμμετοχή Η συμμετοχή (participation) μίας οντότητας σε ένα σύνολο συσχετισμών δηλώνει αν πρέπει οπωσδήποτε (ή όχι) να συμμετέχει η οντότητα τουλάχιστον σε ένα συσχετισμό του συνόλου Υποχρεωτική ή καθολική: αν κάθε οντότητα ενός συνόλου οντοτήτων Ε συμμετέχει σε ένα τουλάχιστον συσχετισμό του συνόλου R Προαιρετική ή μερική: αν μερικές μόνο οντότητες συμμετέχουν σε συσχετισμούς του R 41 42 Υποχρεωτική Συμμετοχή Υποχρεωτική Συμμετοχή (από την πλευρά του Μαθήματος) Υποχρεωτική Συμμετοχή Υποχρεωτική Συμμετοχή (και από τις δύο πλευρές) μονάδες τηλέφωνο τίτλος όνομα όνομα Σύνολο Άρθρων τίτλος N 1 Μάθημα Ανήκει Τμήμα Καθηγητής N Συγγραφή Άρθρου M Άρθρο κτίριο PDF Κάθε μάθημα θα πρέπει να ανήκει σε ένα τμήμα Κάθε Καθηγητής πρέπει να έχει Άρθρο Κάθε Άρθρο πρέπει να έχει Καθηγητή 43 45 2 11

Προαιρετική Συμμετοχή τίτλος Άρθρο PDF Αρχική σελίδα Τελική σελίδα N Δημοσίευση 1 Σε Πρακτικά Πρακτικά Συνεδρίου Συνέδριο Τόπος Ένα Άρθρο μπορεί να μην έχει δημοσιευτεί ακόμα Για κάποιο Συνέδριο μπορεί να μην έχουμε πληροφορία για τα άρθρα του Ασθενείς οντότητες Ιδιότητες Δεν έχουν ούτε απλό, ούτε σύνθετο κλειδί Έχουν Μερικό (partial) κλειδί είναι το γνώρισμα της ασθενούς οντότητας, το οποίο με το πρωτεύον κλειδί της ισχυρής οντότητας ταυτοποιούν τις πλειάδες της αδύναμης οντότητας Προσδιορίζονται από τη σχέση τους (προσδιορίζουσα συσχέτιση) με άλλες ισχυρές οντότητες σε συνδυασμό με τα μερικά κλειδιά Συμμετέχουν σε συσχετίσεις Ν:Μ μέσω προσδιορίζουσας συσχέτισης με ισχυρή οντότητα Ασθενής Οντότητα έχει υποχρεωτική συμμετοχή ως προς την προσδιορίζουσα συσχέτιση!! 46 48 Ασθενείς οντότητες Παράδειγμα Ασθενείς οντότητες Παράδειγμα Σχέση παιδιού γονέα Όνομα Μάθημα 1 ανήκει N Ενότητα id έτος Όνομα Πατέρας 1 Είναι N γονέας Παιδί Όνομα Φύλο μονάδες περίοδος Επώνυμο ΑΔΤ Κάθε ενότητα θα πρέπει να σχετίζεται με ένα μόνο μάθημα Η ενότητα προσδιορίζεται από {id,έτος, περίοδος} και τον κωδικό του μαθήματος Το παιδί προσδιορίζεται από το Όνομα του και ΑΔΤ του πατέρα Κάθε παιδί έχει οπωσδήποτε γονέα! 49 50 2 12

Μοντέλο Ο/Σ Περιορισμοί Ακεραιότητας (min,max) 1 Ν E1 R E2 E1 R E2 Λόγος πληθικότητας 1:Ν γιατις E1:E2 στην R Περιορισμός (min,max) για τη συμμετοχή της E2 στην R E1 R E2 E1 R E2 Ολική συμμετοχή της E2 στην R E Ασθενής τύπος οντότητας:e2 Προσδιορίζουσα συσχέτιση:r Παράδειγμα E1 E2 E3 A Πρωτεύον γνώρισμα Εταιρεία Συνεργείου Αυτοκινήτων Συσχέτιση μέρους συνόλου 52 53 Σύνολο απαιτήσεων για ΒΔ συνεργείου αυτοκινήτων Το συνεργείο απασχολεί ένα σύνολο από υπαλλήλους Για τους υπαλλήλους μας ενδιαφέρει να κρατάμε: το ονοματεπώνυμο, τη διεύθυνση, το τηλέφωνο, την ειδικότητα και το μισθό Οι πελάτες κλείνουν ραντεβού με το συνεργείο για την επισκευή του αυτοκινήτου τους Για κάθε πελάτη θέλουμε να ξέρουμε: το ονοματεπώνυμο, τη διεύθυνση, πόλη και το τηλέφωνο Για τα ραντεβού κρατάμε : την ημερομηνία, την ώρα, την περιγραφή του προβλήματος Για το αυτοκίνητο κρατάμε: τη μάρκα, το μοντέλο, τη χρονολογία κατασκευής, τον αριθμό κυκλοφορίας και τον αριθμό πλαισίου Κάθε πελάτης μπορεί να φέρει περισσότερα από ένα αυτοκίνητα για επισκευή Σε κάθε αυτοκίνητο γίνεται μία επισκευή για την οποία κρατάμε: ημερομηνία έναρξης, ημερομηνία λήξης και περιγραφή Το συνεργείο διαθέτει ανταλλακτικά για τις επισκευές Για κάθε ανταλλακτικό κρατάμε: τον τύπο, τον κωδικό, το κόστος και την ποσότητα των αποθεμάτων Μας ενδιαφέρει να ξέρουμε ποια και πόσα ανταλλακτικά χρησιμοποιήθηκαν σε κάθε επισκευή Κάθε επισκευή έχει ένα συνολικό κόστος Μας ενδιαφέρει να διατηρούμε στοιχεία για τις οφειλές κάθε πελάτη Προδιαγραφές Οντότητες Υπάλληλοι Πελάτες Αυτοκίνητα Ραντεβού Επισκευή Ανταλλακτικά Σχέσεις Πελάτης Πρέπει να έχει αυτοκίνητο Μπορεί να κλείνει ραντεβού Επισκευή Πρέπει να επισκευάζεται αυτοκίνητο Μπορεί να γίνει χρήση ανταλλακτικών Πρέπει η επισκευή να γίνει από υπαλλήλους 54 55 2 13

Παράδειγμα Κατάλογος Βιβλιοθήκης Προδιαγραφές Βιβλιοθήκης Η βιβλιοθήκη διατηρεί πληροφορίες για τα βιβλία που έχει στην κατοχή της καθώς επίσης και για συγγραφείς Κάθε βιβλίο πρέπει να έχει γραφτεί από κάποιον συγγραφέα του οποίου τα στοιχεία διατηρεί η βιβλιοθήκη Η βιβλιοθήκη διατηρεί σύστημα ιεραρχικής κατηγοριοποίησης των βιβλίων της Κάθε κατηγορία μπορεί να είναι υποκατηγορία μιας άλλης κτλ Κάθε βιβλίο πρέπει να ανήκει σε κάποια κατηγορία Κάθε βιβλίο έχει μοναδικό ISBN, η βιβλιοθήκη διατηρεί όμως αντίτυπα από κάθε βιβλίο, τα οποία δανείζει σε χρήστες Οι χρήστες ανοίγουν λογαριασμό στη βιβλιοθήκη και λαμβάνουν έναν μοναδικό κωδικό Οι χρήστες μπορούν να δανειστούν βιβλία 56 57 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο 2013 Ενότητα 2 (συνεχίζεται ) Ευχαριστώ για την προσοχή σας! 2 14