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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

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

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

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

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

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

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

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

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

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

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

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

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

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


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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

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

Το Σχεσιακό Μοντέλο 2

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

#5. Σχεσιακό Μοντέλο

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

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

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

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

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

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

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

Κανονικές Μορφές. Αποσύνθεση (decomposition)

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


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

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

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

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

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

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

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

Transcript:

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

Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων σε σχεσιακό σχήμα

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

Σχεσιακό μοντέλο Η βάση δεδομένων είναι μια συλλογή από σχέσεις Σχέση: είναι ένας πίνακας, ένα αρχείο με δεδομένα Πλειάδα: Κάθε γραμμή στον πίνακα, ένα σύνολο τιμών δεδομένων, γεγονότων που περιγράφουν μια οντότητα Γνώρισμα: Κάθε στήλη στον πίνακα. Προσδιορίζει τον τρόπο ερμηνείας των δεδομένων. Όλες οι τιμές δεδομένων σε μια στήλη είναι ίδιου τύπου Πεδίο ορισμού: Το σύνολο (ατομικών) τιμών που μπορεί να λάβει ένα γνώρισμα

Σχεσιακή Βάση Δεδομένων ΦΟΙΤΗΤΗΣ Επώνυμο Αρ_Μητ Έτος Τμήμα Βασιλείου 23 1 ΠΛΗΡ Ιωάννου 26 1 ΠΛΗΡ ΒΑΘΜΟΛΟΓΙΑ Αρ_Μητ Κωδικός_Μαθ Βαθμός 23 1 8 Σχέσεις 26 2 7 Γνωρίσματα ΜΑΘΗΜΑ Όνομα_Μαθ Κωδικός_Μαθ Μονάδες Τμήμα Βάσεις Δεδομένων 1 5 ΠΛΗΡ Γλώσσες Προγραμματισμού 2 4 ΠΛΗΡ Πλειάδες

Ορισμοί Ένα σχήμα σχέσης (relation schema) έχει ένα όνομα σχέσης και μια λίστα από γνωρίσματα R(A 1,A 2,,A n ) Φοιτητής (Επώνυμο, Αρ_Μητ, Έτος, Τμήμα) Κάθε γνώρισμα A i έχει ένα πεδίο ορισμού D Το πεδίο ορισμού έχει ένα όνομα, ένα τύπο δεδομένων και μια μορφοποίηση π.χ. dom(έτος)={1,2,3,4,5} όπου 5:Πτυχίο Κάθε σχέση έχει ένα βαθμό που είναι το πλήθος των γνωρισμάτων της degree(r)=n degree(φοιτητής)=4

Ορισμοί Ένα στιγμιότυπο σχέσης r(r) είναι ένα σύνολο από n-πλειάδες r(r)={t 1,t 2,,t m } r(φοιτητής)= {t 1,t 2 } Κάθε n-πλειάδα (n-tuple) t είναι μια διατεταγμένη λίστα από n τιμές t=<v 1, v 2,, v n > t 1 =( Βασιλείου",23,1,"ΠΛΗΡ") Κάθε τιμή v i είναι ένα στοιχείο του dom(a i ) ή null Μια σχέση r(r) (dom(a 1 )x dom(a 2 )x x dom(a n )) t[a i ]: τιμή v i της t για το γνώρισμα Α i t[a u, A w,,a Z ]: μια λίστα τιμών για μια λίστα γνωρισμάτων

Χαρακτηριστικά Οι πλειάδες σε μια σχέση δεν έχουν συγκεκριμένη διάταξη Στα αρχεία, τα δεδομένα αποθηκεύονται με κάποια φυσική διάταξη Όταν απεικονίζουμε τη σχέση με πίνακα παρουσιάζουμε τις πλειάδες με συγκεκριμένη σειρά Οι τιμές σε μια πλειάδα έχουν διάταξη Σε λογικό επίπεδο δεν είναι σημαντική η διάταξη, εφόσον υπάρχει αντιστοιχία σε γνωρίσματα και τιμές Αλλάζοντας τη σειρά των γνωρισμάτων, παίρνουμε και τις τιμές με διαφορετική σειρά Οι τιμές σε μια πλειάδα είναι ατομικές Δεν επιτρέπονται σύνθετα και πλειότιμα γνωρίσματα (Πρώτη Κανονική μορφή 1-NF) π.χ. Διεύθυνση, Μαθήματα που παρακολουθεί

Περιορισμοί Περιορισμοί στο πεδίο ορισμού Τύπος δεδομένων Περιγραφή VARCHAR2(size) Πεδίο χαρακτήρων μεταβλητού μεγέθους (1..4000) CHAR(size) Πεδίο χαρακτήρων σταθερού μεγέθους (1..2000) NUMBER(p,s) Αριθμητικό πεδίο μεταβλητού μεγέθους με ακρίβεια p (1..38) και κλίμακα s (-84..127) DATE Ημερομηνία από January 1, 4712 B.C., εώς December 31, 9999 A.D. TIMESTAMP Ημερομηνία με κλάσματα δευτερολέπτου INTERVAL YEAR TO MONTH Ημερομηνία ως διάστημα χρόνων και μηνών INTERVAL DAY TO SECOND LONG Ημερομηνία ως ημέρες, ώρες, λεπτά Πεδίο χαρακτήρων μεταβλητού μεγέθους (ως 2 Gbytes) CLOB RAW και LONG RAW BLOB BFILE ROWID Πεδίο χαρακτήρων (ως 4 Gbytes) Δεδομένα binary (ως 2000 ή 2Gbytes) Δεδομένα binary (ως 4Gbytes) Δεδομένα binary σε εξωτερικό αρχείο (ως 4Gbytes) Μοναδικός αριθμός στο 64δικό σύστημα

Περιορισμοί Περιορισμοί κλειδιού Όλες οι πλειάδες σε μια σχέση πρέπει να είναι διαφορετικές Δηλαδή, δεν μπορεί δύο πλειάδες να έχουν τον ίδιο συνδυασμό τιμών στα γνωρίσματά τους Υπερκλειδί: Υπάρχουν υποσύνολα γνωρισμάτων (superkey-sk) της σχέσης R που ικανοποιούν τον περιορισμό (για όλα τα στιγμιότυπα r της R) t 1 [SK] t 2 [SK] Κλειδί: Το ελάχιστο υπερκλειδί της σχέσης R Υποψήφια κλειδιά (candidate keys): Τα ελάχιστα υπερκλειδιά της σχέσης R Πρωτεύον κλειδί (primary key): Αυθαίρετη επιλογή ενός από τα υποψήφια κλειδιά

Περιορισμοί Ακεραιότητα οντοτήτων (entity integrity constraint) Η τιμή ενός πρωτεύοντος κλειδιού δεν μπορεί να είναι null Το πρωτεύον κλειδί χρησιμοποιείται για να αναγνωρίσει μια πλειάδα Αναφορική ακεραιότητα (referential integrity constraint) Χρησιμοποιείται μεταξύ δύο σχέσεων για να διατηρήσει τη συνέπεια των πλειάδων των σχέσεων αυτών Μια πλειάδα μιας σχέσης R που αναφέρεται σε μια άλλη σχέση Q πρέπει να αναφέρεται σε υπαρκτή πλειάδα της Q π.χ. ο ΑΡ_ΜΗΤ στη ΒΑΘΜΟΛΟΓΙΑ για μια πλειάδα πρέπει να έχει τιμή που υπάρχει ήδη σε κάποια πλειάδα του ΦΟΙΤΗΤΗ στο αντίστοιχο γνώρισμα Σημασιολογική ακεραιότητα π.χ. ο μισθός ενός εργαζομένου δεν μπορεί να υπερβαίνει το μισθό του προϊσταμένου του ο μέγιστος αριθμός ωρών που ένας εργαζόμενος μπορεί να απασχοληθεί σε όλα τα έργα ανά εβδομάδα είναι 56

Αναφορές και ξένο κλειδί Ξένο κλειδί: Ένα σύνολο γνωρισμάτων FK του σχήματος σχέσης R 1 που ικανοποιεί τα εξής: Τα γνωρίσματα στο FK έχουν ίδιο πεδίο ορισμού με τα γνωρίσματα του πρωτεύοντος κλειδιού ενός άλλου σχήματος σχέσης R 2 (τα γνωρίσματα αναφέρονται στη σχέση R 2 ) Μια τιμή του FK στην πλειάδα t 1 της R 1, είτε εμφανίζεται ως τιμή του πρωτεύοντος κλειδιού PK σε κάποια πλειάδα t 2 της R 2, είτε είναι null t 1 [FK]=t 2 [PK] : η πλειάδα t 1 αναφέρεται στην πλειάδα t 2 Το ξένο κλειδί μπορεί να αναφέρεται στην ίδια του τη σχέση

Σχηματικά ΦΟΙΤΗΤΗΣ Επώνυμο Αρ_Μητ Έτος Τμήμα ΒΑΘΜΟΛΟΓΙΑ Αρ_Μητ Κωδικός_Μαθ Βαθμός ΜΑΘΗΜΑ Όνομα_Μαθ Κωδικός_Μαθ Μονάδες Τμήμα Προσοχή: οι περιορισμοί ακεραιότητας πρέπει να ισχύουν σε κάθε στιγμιότυπο

Πράξεις ενημέρωσης Εισαγωγή Μια λίστα από τιμές γνωρισμάτων για μια νέα πλειάδα που πρέπει να εισαχθεί στη σχέση R Πρέπει οι τιμές των γνωρισμάτων να συμβαδίζουν με τους τύπους και τη σειρά των γνωρισμάτων στη σχέση, να ικανοποιούν όλους τους περιορισμούς αναφοράς, κλειδιού κλπ. Αν η εισαγωγή παραβιάζει κάποιο περιορισμό: Απορρίπτεται Γίνεται προσπάθεια διόρθωσης της αιτίας απόρριψης (με χρήση null ή default τιμής, με μήνυμα στο χρήστη)

Πράξεις ενημέρωσης Διαγραφή Περιέχει μια συνθήκη σύμφωνα με την οποία επιλέγονται οι πλειάδες που θα διαγραφούν Ενδέχεται να επηρεάσει την αναφορική ακεραιότητα μέσω των αναφορών από ξένα κλειδιά στην πλειάδα που θα διαγραφεί Σε περίπτωση παραβίασης Απορρίπτεται Η διαγραφή διαδίδεται στις πλειάδες που αναφέρονται στη διαγραφόμενη (cascade delete) Τροποποιούνται οι τιμές των αναφορικών γνωρισμάτων που προκαλούν την παραβίαση (γίνονται null ή αναφέρονται σε άλλη πλειάδα)

Πράξεις ενημέρωσης Τροποποίηση Περιέχει μια συνθήκη σύμφωνα με την οποία επιλέγονται οι πλειάδες που θα διαγραφούν Η τροποποίηση γνωρίσματος που δεν είναι κλειδί δεν προκαλεί προβλήματα (μόνο παραβιάσεις τύπου και πεδίου τιμών) Η τροποποίηση κλειδιού έχει πιθανότητα να παραβιάσει περιορισμούς αναφορών (όπως στη διαγραφή)

Ορισμός σχέσεων Απεικόνιση των οντοτήτων και των συσχετίσεων σε σχέσεις Αλγόριθμος για την απεικόνιση 1. Μία σχέση για κάθε τύπο οντοτήτων (πρωτεύον κλειδί) 2. Μία σχέση για κάθε μη ισχυρό τύπο (ξένο κλειδί) 3. Ξένα κλειδιά για κάθε δυαδική 1:1 συσχέτιση 4. Ξένα κλειδιά για κάθε δυαδική 1:Ν συσχέτιση 5. Νέα σχέση για κάθε δυαδική Μ:Ν συσχέτιση 6. Μια σχέση για κάθε πλειότιμο γνώρισμα 7. Μια σχέση για κάθε συσχέτιση βαθμού >2

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

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 Δημιουργούμε μία σχέση R για κάθε ισχυρό τύπο οντότητας Ε (μονότιμα γνωρίσματα) Περιέχει όλα τα απλά γνωρίσματα και τα απλά συστατικά των σύνθετων γνωρισμάτων Έχει πρωτεύον κλειδί ένα από τα γνωρίσματα κλειδιά της οντότητας

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

Βήμα 2 Δημιουργούμε μια σχέση για κάθε μη ισχυρό τύπο οντοτήτων (W) (μονότιμα γνωρίσματα) Στη σχέση αυτή εμφανίζεται επιπλέον το ισχυρό γνώρισμα του τύπου οντοτήτων (Ε) από τον οποίο εξαρτάται ο (W) Το γνώρισμα αυτό αποτελεί ξένο κλειδί στη σχέση και μαζί με τα γνωρίσματα κλειδιά αποτελεί το σύνθετο πρωτεύον κλειδί

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

Βήμα 3 Για κάθε δυαδική συσχέτιση 1:1 (μη ασθενή) το πρωτεύον κλειδί της μίας γίνεται ξένο κλειδί της άλλης Οι σχέσεις S και T αντιστοιχούν στις συσχετιζόμενες οντότητες Έστω ότι η S έχει ολική συμμετοχή στη σχέση Το πρωτεύον κλειδί της Τ γίνεται ξένο κλειδί της S ΔΙΕΥΘΥΝΕΙ: Ολική συμμετοχή για το ΤΜΗΜΑ ως προς τον ΕΡΓΑΖΟΜΕΝΟ Ή συγχωνεύουμε τα S και T σε μια σχέση Προτιμάται όταν έχουν και οι δύο ολική συμμετοχή και δε συμμετέχουν σε άλλες συσχετίσεις

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

Βήμα 4 Για κάθε δυαδική συσχέτιση 1:Ν το πρωτεύον κλειδί της (1) γίνεται ξένο κλειδί της (Ν) ΕΡΓΑΖΕΤΑΙ ΕΡΓΑΖΟΜΕΝΟΣ (Όνομα, Επώνυμο, Αρ_Ταυτ, Ημ_Γεν, Μισθός, Φύλο, Διεύθυνση, Αρ_Τμήματος) ΕΠΙΒΛΕΠΕΙ ΕΡΓΑΖΟΜΕΝΟΣ (Όνομα, Επώνυμο, Αρ_Ταυτ, Ημ_Γεν, Μισθός, Φύλο, Διεύθυνση, Αρ_Τμήματος, Προιστάμενος) ΕΛΕΓΧΕΙ ΕΡΓΟ(Όνομα, Αριθμός, Τοποθεσία, Κ_Τμήμα)

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

Βήμα 5 Κάθε δυαδική συσχέτιση Μ:Ν δίνει νέα σχέση Η νέα σχέση S περιλαμβάνει ως ξένα κλειδιά τα πρωτεύοντα κλειδιά των σχέσεων που αντιστοιχούν στις συμμετέχουσες οντότητες Το ίδιο μπορεί να γίνει για συσχετίσεις 1:1 και 1:Ν

Όνομα Επώνυμο Ημ_Γεν Πλήρες_όνομα Φύλο Διεύθυνση Αρ_ταυτ ΕΡΓΑΖΟΜΕΝΟΣ (1,Ν) Μ ΑΠΑΧΟΛΕΙΤΑΙ Ν Μισθός (1,Ν) Ώρες ΕΡΓΟ Τοποθεσία Όνομα Αριθμός ΕΡΓΑΖΟΜΕΝΟΣ Όνομα Επώνυμο Αρ_Ταυτ Ημ_Γεν Μισθός Φύλο Διεύθυνση Αρ_Τμηματος ΕΡΓΟ Όνομα Αριθμός Τοποθεσία Κ_Τμήμα ΑΠΑΣΧΟΛΗΣΗ Εργ_Αρ_Ταυτ Κ_Έργο Ώρες

Βήμα 6 Για κάθε πλειότιμο γνώρισμα δημιουργούμε νέα σχέση Η σχέση περιλαμβάνει το γνώρισμα και το γνώρισμα πρωτεύοντος κλειδιού της αρχικής οντότητας ως ξένο κλειδί Το γνώρισμα Τοποθεσίες ΤΟΠΟΘ_ΤΜΗΜΑ (Τ_Τοποθεσία, Κωδ_τμήμα)

Αρ_Υπαλλ Όνομα Αριθμός Τοποθεσίες ΤΜΗΜΑ ΤΜΗΜΑ Όνομα Αριθμός Εργ_Αρ_Ταυτ Ημ_εναρξ ΤΟΠΟΘ_ΤΜΗΜΑ Τ_Τοποθεσία Κωδ_τμήμα

Βήμα 7 Οι συσχετίσεις R βαθμού>2 δημιουργούν νέα σχέση (S) Η σχέση S έχει ως ξένα κλειδιά όλα τα πρωτεύοντα κλειδιά των σχέσεων που αντιστοιχούν στις συμμετέχουσες οντότητες Η σχέση έχει επιπλέον όσα γνωρίσματα (απλά) ορίζει η συσχέτιση R Αν για μια από τις οντότητες Ε που συμμετέχουν το max=1 τότε το πρωτεύον κλειδί της S μπορεί να είναι μοναδικό γνώρισμα ξένου κλειδιού που αναφέρεται στη σχέση που αντιστοιχεί στην Ε ΠΡΟΜΗΘΕΥΕΙ (ΟΝΟΜΑ, ΚΩΔ_ΑΝΤΙΚ, ΟΝΟΜΑ_ΕΡΓΟΥ)

ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ ΗΘΟΠΟΙΟΣ Κωδικός Όνομα... ΤΑΙΝΙΑ Κωδικός Τίτλος... ΣΥΜΒΟΛΑΙΟ Κωδικός_Η Κωδικός_Τ Κωδικός_Ε ΕΤΑΙΡΙΑ Κωδικός Όνομα...

Όνομα Ποσότητα Όνομα ΠΡΟΜΗΘΕΥΤΗΣ 1 ΚΑΝΕΙ Ν ΠΡΟΜΗΘΕΙΑ Ν ΧΡΗΣΙΜΟΠΟΙΕΙ 1 ΕΡΓΟ Ν ΠΕΡΙΛΑΜΒΑΝΕΙ Κωδικός 1 ΑΝΤΙΚΕΙΜΕΝΟ

Ανακεφαλαίωση 1. Τύπος οντοτήτων 2. Τύπος συσχέτισης 1:1 ή 1:Ν 3. Τύπος συσχέτισης Μ:Ν 4. (και γενικά) n-αδικός τύπος συσχέτισης 5. Απλό γνώρισμα 6. Σύνθετο γνώρισμα 7. Πλειότιμο γνώρισμα 1. Σχέση (οντοτήτων) 2. Ξένο κλειδί ή Σχέση (συσχέτισης) 3. Σχέση (συσχέτισης) με 2 ξένα κλειδιά 4. Σχέση (συσχέτισης) με n ξένα κλειδιά 5. Γνώρισμα 6. Σύνολο από γνωρίσματα 7. Σχέση και ξένο κλειδί