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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ 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.

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

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

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

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

Φυσική Σχεδίαση Υλοποίηση βάσης

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

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

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

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

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

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

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

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

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

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

Access 2. Φτιάχνοντας μια DB, πίνακες και εισαγωγή εξωτερικών δεδομένων

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

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

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

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

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II

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

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

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

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

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

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

Λίγα λόγια από το συγγραφέα...7

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

Βενετόκλειο Λύκειο Ρόδου Εφαρμογές πληροφορικής Γ' Λυκείου. Εργαστηριακή Άσκηση

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

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

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

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

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

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

Στρατηγική Μάρκετινγκ επιχειρήσεων τροφίμων Ενότητα 7: Ανάλυση Υπηρεσίας

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.


ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ.

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

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

Οδηγίες ενεργοποίησης λογαριασμού στο λογισμικό λογοκλοπής TURNITIN

Από το Μοντέλο Οντοτήτων Συσχετίσεων στο Σχεσιακό Μοντέλο

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

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

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

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

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

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

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0

Δημιουργώντας τον πίνακα διάστασης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Δόμηση Απαιτήσεων: Εννοιολογική Μοντελοποίηση Δεδομένων

Εισαγωγή στο Libre Office. Bάιος Κολοφωτιάς Επιστημονικός Συνεργάτης Sweng Lab A.Π.Θ

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

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

Αρχεία και Βάσεις Δεδομένων

Λύση Άσκησης 2 (Εμβολιασμοί) Απάντηση υπεύθυνο διαχείρισης των εμβολιασμών Αθηνών Περιστερίου, Πειραιά, Ζωγράφου και Κηφισιάς 4 νοσοκομεία

Ελέγξτε την ταινία σας

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

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

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

Transcript:

Σχεδίαση Βάσεων Δεδομένων Χαρτογράφηση Σχέσης Relationship Mapping 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους: Να εφαρμόσει τον κανόνα της χαρτογράφησης σχέσης για τη σωστή μετατροπή 1:Μ (Μία-προς- Πολλές) και ασθενών σχέσεων Να εφαρμόσει τον κανόνα της χαρτογράφησης σχέσης για τη σωστή μετατροπή Μ:Μ (Πολλές-προς- Πολλές) σχέσεων Να μετατρέψει 1:1 (Μία-προς-Μία) σχέσεις Να εφαρμόσει τον κανόνα της χαρτογράφησης για τη σωστή μετατροπή σχέσεων σε τόξο 2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Σκοπός (συνέχεια) Θα μπορούσατε να χτίσετε ένα σπίτι με αυτόν τον τρόπο και να παίρνετε τις αποφάσεις αυτές καθώς προχωράτε, αλλά εάν δεν ξεκινήσετε με ένα προσχέδιο του δομικού σχεδίου, το τελικό προϊόν μπορεί να μην είναι το σπίτι το οποίο έχει στο μυαλό του ο πελάτης. 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Κανόνες για τις Σχέσεις Μία σχέση δημιουργεί μία ή περισσότερες στήλες ξένου-κλειδιού στον πίνακα στο μέρος «πολλές» της σχέσης. Χρησιμοποιούμε τη συντόμευση του πίνακα για να ονομάσουμε τη στήλη του ξένου κλειδιού. Στο παράδειγμα της επόμενης σελίδας, η στήλη του ξένου κλειδιού στον πίνακα ΕΡΓΑΖΟΜΕΝΟΙ (EMPLOYEES) είναι dpt_id για τη σχέση με το ΤΜΗΜΑ (DEPARTMENT), και epe_id για την αναδρομική σχέση με τον εαυτό του. 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Κανόνες για τις Σχέσεις (συνέχεια) Η στήλη του ξένου-κλειδιού μπορεί να είναι είτε υποχρεωτική (mandatory) είτε προαιρετική (optional), αναλόγως των αναγκών της επιχείρησης. Στο παράδειγμα, το dpt_id είναι υποχρεωτικό και το epe_id είναι προαιρετικό. 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Απεικόνιση Κανόνων για Σχέσεις 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Υποχρεωτικής Σχέσης στην Μία Πλευρά Σχέσεις οι οποίες είναι υποχρεωτικές στη μία πλευρά, ή υποχρεωτικές και στις δύο πλευρές, χαρτογραφούνται με τον ακριβώς ίδιο τρόπο όπως σε μία σχέση η οποία είναι προαιρετική στην μία πλευρά. Το θεωρητικό (εννοιολογικό) μοντέλο είναι αρκετά πλούσιο ώστε να συλλάβει την προαιρετικότητα και στα δύο άκρα της σχέσης. Ωστόσο, το φυσικό μοντέλο περιορίζεται στο ότι ένας περιορισμός ξένου-κλειδιού μπορεί να επιβάλλει μία υποχρεωτική σχέση μόνο στη «πολλές» μεριά. Στο ακόλουθο παράδειγμα, το φυσικό μοντέλο δεν μπορεί να επιβάλλει το ότι ένα ΣΥΓΚΡΟΤΗΜΑ (BAND) πρέπει να αποτελείται από τουλάχιστον έναν ΜΟΥΣΙΚΟ (MUSICIAN). Η προαιρετικότητα στο ένα άκρο θα πρέπει να εφαρμοστεί μέσω επιπρόσθετου προγραμματισμού. 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Επιβολή της Προαιρετικότητας MUSICIAN # id * name o instrument a member of composed of BAND # id * name MUSICIANS (MSN) BANDS (BAD) Key type Optionality Column name pk * id * name Foreign key refers to Key type Optionality Column name pk * id * name o instrument fk o bad_id 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Επιβολή Μη Μεταβιβάσιμων Σχέσεων 12 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση ασθενών Σχέσεων Μια ασθενής σχέση χαρτογραφείται στην πλευρά «πολλές» μιας στήλης ξένου-κλειδιού, όπως κάθε άλλη1:μ σχέση. Στην περίπτωση αυτή, η στήλη ξένου-κλειδιού παίζει διπλό ρόλο επειδή είναι επίσης μέρος του πρωτεύοντος κλειδιού. Στο παράδειγμα, το bak_number είναι μία στήλη-ξένου κλειδιού στο ACCOUNTS (ΛΟΓΑΡΙΑΣΜΟΙ) που αναφέρεται στο πρωτεύον κλειδί του BANKS (ΤΡΑΠΕΖΕΣ). Αποτελεί επίσης μέρος του πρωτεύοντος κλειδιού του ACCOUNTS (ΛΟΓΑΡΙΑΣΜΟΙ). 13 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση ασθενών Σχέσεων (συνέχεια) ACCOUNT # number * balance * date opened located in the location of BANK # number * name ACCOUNTS (ACT) Key Type Optionality Column Name pk * act_nbr * balance * date_opened pk,fk * bak_nbr refers BANKS (BAK) to Key Type Optionality Column Name pk * bank_number * name 14 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Διαδοχικές ασθενείς Σχέσεις Οι ιεραρχίες μπορούν να οδηγήσουν σε διαδοχικές ασθενείς σχέσεις, όπου το μοναδικό αναγνωριστικό (UID) της οντότητας στη κορυφή της ιεραρχίας μεταφέρεται κάτω στο μοναδικό αναγνωριστικό (UID) της οντότητας στο κάτω μέρος της ιεραρχίας. Στο παράδειγμα, το μοναδικό αναγνωριστικό (UID) ενός ΔΩΜΑΤΙΟΥ (ROOM) αποτελεί ο αριθμός ΔΩΜΑΤΙΟΥ (ROOM), αριθμός ΣΟΥΙΤΑΣ (SUITE), αριθμός ΟΡΟΦΟΥ (FLOOR), και το id ΚΤΗΡΙΟΥ (BUILDING id). Αυτό εκπροσωπείται από τις ασθενείς σχέσεις. 15 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Διαδοχικές ασθενείς Σχέσεις (συνέχεια) Όταν αυτό χαρτογραφείται σε ένα φυσικό μοντέλο, το αποτέλεσμα μπορεί να είναι ένα πολύ μεγάλο όνομα στήλης ξένου-κλειδιού επειδή χρησιμοποιεί τις συντομεύσεις των αρχικών πινάκων ως πρόθεμα. Η προτεινόμενη σύμβαση είναι να μην χρησιμοποιούνται ποτέ παραπάνω από δύο προθέματα πινάκων. Στο ακόλουθο παράδειγμα, η στήλη του ξένου-κλειδιού στο ΔΩΜΑΤΙΑ (ROOMS) το οποίο προέρχεται από το ΚΤΙΡΙΑ (BUILDINGS) παίρνει το όνομα sue_bdg_id, αντί του sue_flr_bdg_id. 16 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Διαδοχικές ασθενείς Σχέσεις (συνέχεια) 17 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Απεικόνιση Διαδοχικών ασθενών Σχέσεων Το δείγμα δεδομένων για κάθε πίνακα απεικονίζει τις διαδοχικές ασθενείς σχέσεις 18 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση «Πολλές-προς-Πολλές» (Μ:Μ) Σχέσεων Μία Μ:Μ σχέση επιλύεται με μία ενδιάμεση οντότητα, η οποία χαρτογραφεί έναν ενδιάμεσο πίνακα. Αυτός ο ενδιάμεσος πίνακας θα περιέχει στήλες ξένου-κλειδιού οι οποίες αναφέρονται στους πίνακες από τους οποίους προέρχονται. Στο παράδειγμα, το ΣΧΟΛΙΑ - ΑΝΑΘΕΩΡΗΣΕΙΣ (REVIEWS) περιέχει όλους τους συνδυασμούς που υπάρχουν μεταξύ του ΚΡΙΤΗ (CRITIC) και του ΤΑΙΝΙΑ (MOVIE). 19 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση «Πολλές-προς-Πολλές» (Μ:Μ) Σχέσεων (συνέχεια) 20 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση «Μία-προς-Μία» (1:1) Σχέσεων Όταν μετατρέπετε μία 1:1 σχέση, δημιουργείτε ένα ξένο κλειδί και ένα μοναδικό κλειδί. Όλες οι στήλες αυτού του ξένου κλειδιού είναι επίσης και μέρος του μοναδικού κλειδιού. Εάν η σχέση είναι υποχρεωτική στη μία πλευρά, το ξένο κλειδί δημιουργείται στον αντίστοιχο πίνακα. Στο παράδειγμα, το bcp_code είναι το ξένο-κλειδί στο SODA_BOTTLES το οποίο αναφέρεται στο πρωτεύον κλειδί του BOTTLE_CAPS. Το bcp_code θα είναι επίσης μοναδικό μέσα στο πίνακα SODA_BOTTLES. 21 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση «Μία-προς-Μία» (1:1) Σχέσεων (συνέχεια) 22 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Προαιρετική Μία-προς-Μία (συνέχεια) Στο παράδειγμα, ένα γραφείο ενοικίασης αυτοκινήτων θα νοιαζόταν περισσότερο για τα αυτοκίνητα παρά για τους χώρους, έτσι έχει περισσότερο νόημα να βάλουμε το ξένο-κλειδί στο ΑΥΤΟΚΙΝΗΤΑ (CARS). Ωστόσο, σε μία επιχείρηση πάρκινγκ, το κύριο αντικείμενο είναι ο χώρος παρκαρίσματος. Ως εκ τούτου, θα είχε νόημα να βάλουμε το ξένο-κλειδί στο ΧΩΡΟΙ (SPACES). 24 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Επιχειρησιακοί Κανόνες για Προαιρετική Μία-προς-Μία 25 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

Χαρτογράφηση Τόξων Η οντότητα η οποία έχει το τόξο θα χαρτογραφεί σε έναν πίνακα που περιέχει ξένα κλειδιά από τους πίνακες στο «ένα» άκρο των σχέσεων. Σημειώστε ότι ακόμα και αν οι σχέσεις στο τόξο είναι υποχρεωτικές στην πλευρά «πολλές», τα προκύπτοντα ξένα-κλειδιά πρέπει να είναι προαιρετικά (επειδή ένα από αυτά θα είναι πάντα κενό) 27 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Τόξων (συνέχεια) 28 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Τόξων (συνέχεια) Εφόσον το τόξο αντιπροσωπεύει αποκλειστικές σχέσεις, είναι αναγκαίος επιπρόσθετος κώδικας για να επιβάλλει το ότι μόνο ένα από τα ξένα-κλειδιά θα έχει τιμή για κάθε εγγραφή στον πίνακα. Ένας περιορισμός ελέγχου αποθηκευμένος στη βάση δεδομένων μπορεί με ευκολία να το πραγματοποιήσει αυτό. Στο παράδειγμα, ο κώδικας για τον περιορισμό ελέγχου θα έμοιαζε κάπως έτσι: CHECK (pse_id is not null AND phe_id is null) OR (pse_id is null AND phe_id is not null) 29 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Τόξων (συνέχεια) Εάν οι σχέσεις ήταν πλήρως προαιρετικές, θα έπρεπε να προσθέσετε: OR (pse_id is null AND phe_id is null) 30 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Τόξων (συνέχεια) 31 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Χαρτογράφηση Τόξων (συνέχεια) Ο κώδικας επιβεβαιώνει ότι εάν μία τιμή υπάρχει για το id δημοσίου χώρου (public space id, pse_id), τότε η στήλη για το id ιδιωτικού σπιτιού (private home id, phe_id) πρέπει να είναι άδεια. Αντίστροφα, εάν το id δημόσιου χώρου (public space id, pse_id) είναι NULL, τότε πρέπει να υπάρχει μία τιμή για το id ιδιωτικού σπιτιού (private home id, phe_id). Σε μία πλήρως προαιρετική σχέση, υπάρχει η δυνατότητα στο id δημοσίου χώρου και στο id ιδιωτικού σπιτιού να είναι null (η εκδήλωση δεν πραγματοποιείται σε κανένα χώρο) 32 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

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

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