Πολυεπίπεδη εξάρτηση στο σχεδιασμό βάσης δεδομένων

Η πολυεπίπεδη εξάρτηση σπάει την τέταρτη κανονική μορφή

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

Μια πολυεξαρτημένη εξάρτηση εμποδίζει την κανονικοποίηση τυποποιημένη τέταρτη κανονική μορφή (4NF). Οι σχεσιακές βάσεις δεδομένων ακολουθούν πέντε κανονικές μορφές που αντιπροσωπεύουν κατευθυντήριες γραμμές για το σχεδιασμό ρεκόρ. Αποτρέπουν τις ανωμαλίες ενημέρωσης και ασυνέπειες στα δεδομένα. Το τέταρτο κανονικό έντυπο ασχολείται με σχέσεις πολλών προς ένα σε μια βάση δεδομένων .

Λειτουργική εξάρτηση έναντι πολλαπλής εξάρτησης

Για να κατανοήσουμε μια πολυεξαρτώμενη εξάρτηση, είναι χρήσιμο να επανεξετάσουμε τη λειτουργική εξάρτηση.

Αν ένα χαρακτηριστικό X καθορίζει με μοναδικό τρόπο ένα χαρακτηριστικό Y, τότε το Y εξαρτάται λειτουργικά από το Χ. Αυτό γράφεται ως X -> Y. Για παράδειγμα, στον πίνακα μαθητών παρακάτω, ο Student_Name καθορίζει το Major:

Φοιτητές
Ονομα μαθητή Μείζων
Ράβι Ιστορίας της τέχνης
Beth Χημεία


Αυτή η λειτουργική εξάρτηση μπορεί να γραφτεί: Student_Name -> Major . Κάθε Student_Name προσδιορίζει ακριβώς έναν Major, και όχι περισσότερα.

Αν θέλετε η βάση δεδομένων να παρακολουθεί επίσης τα αθλήματα που λαμβάνουν οι φοιτητές, ίσως να πιστεύετε ότι ο ευκολότερος τρόπος να γίνει αυτό είναι να προσθέσετε μια άλλη στήλη με τίτλο Αθλητισμός:

Φοιτητές
Ονομα μαθητή Μείζων Αθλημα
Ράβι Ιστορίας της τέχνης Ποδόσφαιρο
Ράβι Ιστορίας της τέχνης Βόλεϊ
Ράβι Ιστορίας της τέχνης Τένις
Beth Χημεία Τένις
Beth Χημεία Ποδόσφαιρο


Το πρόβλημα εδώ είναι ότι τόσο ο Ravi όσο και ο Beth παίζουν πολλαπλά αθλήματα. Είναι απαραίτητο να προσθέσετε μια νέα σειρά για κάθε επιπλέον άθλημα.

Αυτός ο πίνακας εισήγαγε μια πολυεπίπεδη εξάρτηση επειδή ο κύριος και ο αθλητισμός είναι ανεξάρτητοι ο ένας από τον άλλο, αλλά και οι δύο εξαρτώνται από τον μαθητή.

Αυτό είναι ένα απλό παράδειγμα και εύκολα αναγνωρίσιμο, αλλά μια εξάρτηση πολλών κλήσεων μπορεί να αποτελέσει πρόβλημα σε μια μεγάλη, πολύπλοκη βάση δεδομένων.

Μια εξάρτηση πολλαπλών τιμών γράφεται X -> -> Y. Σε αυτή την περίπτωση:

Student_Name -> -> Major
Student_Name -> -> Αθλητισμός

Αυτό διαβάζεται ως "Student_Name multidetermines Major" και "Student_Name πολλαπλών προσδιορίζει τον αθλητισμό".

Μια πολυεπίπεδη εξάρτηση απαιτεί πάντοτε τουλάχιστον τρία χαρακτηριστικά επειδή αποτελείται από τουλάχιστον δύο χαρακτηριστικά που εξαρτώνται από ένα τρίτο.

Πολλαπλή εξάρτηση και κανονικοποίηση

Ένας πίνακας με εξάρτηση πολλαπλών τιμών παραβιάζει το πρότυπο κανονικοποίησης της Τέταρτης Κανονικής Μορφής (4NK) επειδή δημιουργεί περιττές απολύσεις και μπορεί να συμβάλει σε ασυνεπή δεδομένα. Για να φτάσετε μέχρι το 4NF, είναι απαραίτητο να σπάσετε αυτές τις πληροφορίες σε δύο πίνακες.

Ο κατωτέρω πίνακας έχει τώρα μια λειτουργική εξάρτηση του Student_Name -> Major, και όχι εξαρτήσεις πολλαπλών τιμών:

Φοιτητές & Κυρίες
Ονομα μαθητή Μείζων
Ράβι Ιστορίας της τέχνης
Ράβι Ιστορίας της τέχνης
Ράβι Ιστορίας της τέχνης
Beth Χημεία
Beth Χημεία

Ενώ αυτός ο πίνακας έχει επίσης μια μόνο λειτουργική εξάρτηση του Student_Name -> Sport:

Φοιτητές & Αθλητισμός
Ονομα μαθητή Αθλημα
Ράβι Ποδόσφαιρο
Ράβι Βόλεϊ
Ράβι Τένις
Beth Τένις
Beth Ποδόσφαιρο

Είναι σαφές ότι η εξομάλυνση συχνά αντιμετωπίζεται με την απλοποίηση πολύπλοκων πινάκων, έτσι ώστε να περιέχουν πληροφορίες που σχετίζονται με μία μόνο ιδέα ή θέμα και όχι να προσπαθούν να κάνουν έναν μόνο πίνακα να περιέχουν υπερβολικά πολλές πληροφορίες.