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

Σχετικά έγγραφα
Σχεδίαση Βάσεων Δεδομένων

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

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

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

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

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

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

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

Database Design. Τύποι Σχέσεων Relationship Types. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Database Design. Entity Relationship Modeling and ERDs Μοντελοποίηση Σχέσεων Οντοτήτων και ERDs

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

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

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΣΧΕΣΕΙΣ ΥΠΕΡΤΥΠΟΣ (SUPERTYPE) ΥΠΟΤΥΠΟΣ (SUBTYPE) ΣΧΕΣΕΙΣ ΠΟΛΛΑ ΠΡΟΣ ΠΟΛΛΑ (M:M) ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ...

Database Design. Entities, Instances, Attributes, and Identifiers Οντότητες, Εγγραφές, Πεδία, και Αναγνωριστικά

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

Database Design. Documenting Business Rules Τεκμηρίωση Επιχειρησιακών κανόνων. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση


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

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

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

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

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

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

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

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

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

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

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

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

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

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

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

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

Εργαστήριο 5o. Σχέσεις πινάκων Ακεραιότητα αναφορών. Ευάγγελος Γ. Καραπιδάκης

Μεταδεδομένα στο Ψηφιακό περιβάλλον

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

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

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

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

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

Μοντέλο αρχείων Οι βασικές έννοιες

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

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

Lecture 23: Functional Dependencies and Normalization

Μανώλης Ισχάκης - Πνευματικά δικαιώματα - για περισσότερη εκπαίδευση

Εισαγωγή στην Access 2007

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

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

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

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εργαστήριο 1

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

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

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

Jazler RadioStar 2. Εγχειρίδιο χρήσης. Clocks

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

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

Πανεπιστήμιο Πατρών, Βιβλιοθήκη & Κέντρο Πληροφόρησης 31/7/2013

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 8 : Βάσεις Δεδομένων (2/2) Δρ.

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

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

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

Ιστορικό. *Ομάδα ανάπτυξης: Γρεασίδης Θοδωρής: 265 Κουτσαυτίκης Δημήτρης: 258 Μπούρα Βάγια: 257 Πετράκη Ελένη: 266 Φουντά Σταυρούλα: 256

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Database Design. Καλνληθνπνηήζε θαη πξώηε θαλνληθή κνξθή. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Βάση Δεδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): λογισμικό για δημιουργία και χρήση μιας βάσης δεδομένων

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

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

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

Εγχειρίδιο του πίνακα χαρακτήρων

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

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

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

Transcript:

Σχεδίαση Βάσεων Δεδομένων Δεύτερη Κανονική Μορφή Second Normal Form 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους: Να προσδιορίσει τον κανόνα της Δεύτερης Κανονικής Μορφής κατά τη διαδικασία της Κανονικοποιήσης Να εξετάσει μία μη εξομαλυμένη οντότητα και να καθορίσει ποιος κανόνας, ή κανόνες Κανονικοποιήσης παραβιάζονται Να εφαρμόσει τον κανόνα της Δεύτερης Κανονικής Μορφής για την επίλυση μιας παραβίασης στο μοντέλο 2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Σκοπός Ο στόχος σας ως ένας σχεδιαστής βάσεων δεδομένων είναι να «αποθηκεύσετε πληροφορίες σε ένα μόνο μέρος καθώς και στο καλύτερο μέρος». Η συνεπής εφαρμογή των κανόνων της Κανονικοποιήσης σας βοηθά να πετύχετε το στόχο αυτό. Όταν οργανώνετε πληροφορίες όπως οι αριθμοί τηλεφώνου και οι διευθύνσεις των φίλων σας, θέλετε να είστε σίγουροι πως αποθηκεύετε τις πληροφορίες στο σωστό μέρος όπως ένα προσωπικό βιβλίο διευθύνσεων. Εάν αποθηκεύσετε τη διεύθυνση του φίλου σας στο μέρος με τις συνταγές, για παράδειγμα, μπορεί να μη τη βρείτε έως ότου ψάξετε για τη συνταγή αυτή την επόμενη φορά. Η Κανονικοποιήση είναι μια διαδικασία η οποία βοηθά στην εξάλειψη των προβλημάτων αυτών. 3 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Παράδειγμα Δεύτερης Κανονικής Μορφής Εξετάστε την οντότητα ΠΡΟΜΗΘΕΥΤΗΣ ΠΡΟΪΟΝΤΩΝ (PRODUCT SUPPLIER). Το Μοναδικό Αναγνωριστικό (Unique Identifier, UID) είναι ένα σύνθετο Μοναδικό Αναγνωριστικό (UID) το οποίο αποτελείται από τον αριθμό προμηθευτή (supplier number) και τον αριθμό προϊόντος (product number). PRODUCT SUPPLIER # supplier number # product number * purchase price * supplier name Εάν ένας προμηθευτής προμηθεύσει 5 διαφορετικά προϊόντα, τότε δημιουργούνται 5 διαφορετικές εγγραφές. Τι συμβαίνει όταν το όνομα του προμηθευτή αλλάζει; Το όνομα του προμηθευτή θα έπρεπε να αλλάξει σε 5 διαφορετικές εγγραφές. Τι θα γινόταν εάν κάποια από αυτά άλλαζαν και κάποια όχι; Πως θα ήξεραν οι χρήστες ποιο όνομα είναι το σωστό όνομα; 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Περιγραφή Δεύτερης Κανονικής Μορφής Η Δεύτερη Κανονική Μορφή (Second Normal Form, 2NF) απαιτεί το κάθε πεδίο μη μοναδικού αναγνωριστικού (non-unique IDentifier) να εξαρτάται από (να αποτελεί ιδιότητα, ή ένα χαρακτηριστικό) ολόκληρο το Μοναδικού Αναγνωριστικό (UID). PRODUCT SUPPLIER # supplier number # product number * purchase price * supplier name Αποτελεί η τιμή αγοράς (purchase price) μία ιδιότητα του αριθμού προμηθευτή (supplier number), του αριθμού προϊόντος (product number), ή και των δύο; Αποτελεί το όνομα προμηθευτή (supplier name) μία ιδιότητα του αριθμού προμηθευτή (supplier number), του αριθμού προϊόντος (product number), ή και των δύο; Η Δεύτερη Κανονική Μορφή (Second Normal Form, 2NF) απαιτεί την απάντηση «και των δύο», στη κάθε ερώτηση. 5 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Σχέση Ασθενούς Οντότητας Δεύτερης Κανονικής Μορφής Το Μοναδικό Αναγνωριστικό (UID) για το ΛΟΓΑΡΙΑΣΜΟΣ (ACCOUNT) είναι ένα σύνθετο Μοναδικό Αναγνωριστικό (UID) από μια σχέση ασθενούς οντότητας, η οποία αποτελείται από το αριθμός ΛΟΓΑΡΙΑΣΜΟΥ (ACCOUNT number) και του αριθμού ΤΡΑΠΕΖΑΣ (BANK number). Αποτελεί το υπόλοιπο (balance) ιδιότητα του αριθμού ΛΟΓΑΡΙΑΣΜΟΥ (ACCOUNT number) του αριθμού ΤΡΑΠΕΖΑΣ (BANK number), ή και των δύο; Αποτελεί η ημερομηνία ανοίγματος (date opened) μία ιδιότητα του αριθμός ΛΟΓΑΡΙΑΣΜΟΥ (ACCOUNT number), του αριθμός ΤΡΑΠΕΖΑΣ (BANK number), ή και των δύο; ACCOUNT # number * balance BANK # number * name * date opened 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Παραβίαση Δεύτερης Κανονικής Μορφής Σε αυτό το Διάγραμμα Συσχετίσεων Οντοτήτων (Entity Relationship Diagram, ERD), έχει προστεθεί το πεδίο τοποθεσία τράπεζας (bank location). Αποτελεί η τοποθεσία τράπεζας (bank location) μία ιδιότητα του αριθμού ΛΟΓΑΡΙΑΣΜΟΥ (ACCOUNT number), του αριθμού ΤΡΑΠΕΖΑΣ (BANK number), ή και των δύο; Αποτελεί μία ιδιότητα του αριθμού ΤΡΑΠΕΖΑΣ (BANK number) και μόνο και ως εκ τούτου έχει τοποθετηθεί λάθος. Αυτό είναι μία παραβίαση της Δεύτερης Κανονικής Μορφής. Τι θα συνέβαινε εάν άλλαζε η τοποθεσία τράπεζας (bank location); Κάθε λογαριασμός (account) στη τράπεζα αυτή θα έπρεπε να ενημερωθεί. ACCOUNT # number * balance BANK # number * name * date opened * bank location 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Παράδειγμα Τραγουδιού Δεύτερης Κανονικής Μορφής Ο DJ είναι υπεύθυνος για την προετοιμασία της συλλογής των τραγουδιών που θα παιχτούν στη κάθε εκδήλωση (EVENT). Κάθε ΤΡΑΓΟΥΔΙ (SONG) μπορεί να παιχτεί σε παραπάνω από μία ΕΚΔΗΛΩΣΗ (EVENT), και κάθε ΕΚΔΗΛΩΣΗ (EVENT) θα «παίξει» παραπάνω από ένα ΤΡΑΓΟΥΔΙΑ (SONG). Ας δούμε πως ο DJ προετοιμάζει την play list. PLAY LIST ITEM o comments o duration * event date EVENT # id * cost * name o description SONG # id * title o artist 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Τροποποιημένο Διάγραμμα Συσχετίσεων Οντοτήτων (ERD) του DJ PLAY LIST ITEM o comments o duration * event date Τι λάθος υπάρχει με το διάγραμμα αυτό; Απάντηση: Η διάρκεια του πεδίου (attributes duration) και η ημερομηνία της εκδήλωσης (event date) έχουν τοποθετηθεί σε λάθος θέση. Η διάρκεια (duration) εξαρτάται αποκλειστικά από το ΤΡΑΓΟΥΔΙ (SONG), και η ημερομηνία της εκδήλωσης (event date) εξαρτάται αποκλειστικά από το ΕΚΔΗΛΩΣΗ (EVENT). Αυτό αποτελεί μία παραβίαση της Δεύτερης Κανονικής Μορφής. EVENT # id * cost * name o description SONG # id * title o artist 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ορολογία Λέξεις κλειδιά που χρησιμοποιήθηκαν στο μάθημα αυτό;: Δεύτερη Κανονική Μορφή (Second Normal Form, 2NF) 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Περίληψη Στο μάθημα αυτό, θα πρέπει να έχετε μάθει πως να: Προσδιορίζετε τον κανόνα της Δεύτερης Κανονικής Μορφής κατά τη διαδικασία της Κανονικοποιήσης Εξετάζετε μία μη κανονικοποιημένη οντότητα και να καθορίζετε ποιος κανόνας, ή κανόνες της Κανονικοποιήσης παραβιάζονται Εφαρμόζετε τον κανόνα της Δεύτερης Κανονικής Μορφής για την επίλυση μιας παραβίασης στο μοντέλο 11 Copyright 2013, Oracle and/or its affiliates. All rights reserved.