λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Οι επιπτώσεις του Εαυτού αναφορές σε DBMS

Ορισμένες εφαρμογές διαχείρισης βάσεων δεδομένων ασχολούνται με ιεραρχική πληροφορίες, όπως τα κράτη που αποτελείται από νομούς που με τη σειρά τους περιέχουν πόλεις . Μπορεί να μπείτε στον πειρασμό να οργανώσουν αυτές τις πληροφορίες σε ξεχωριστούς πίνακες στο ΣΔΒΔ σας - ένα για κάθε επίπεδο της ιεραρχίας - αλλά μια πιο κομψή λύση χρησιμοποιεί ένα αυτοαναφοράς τραπέζι, το οποίο είναι πιο εύκολο να διαχειριστεί και να φιλοξενήσει μια ευρύτερη ποικιλία των δεδομένων . Αυτο - αναφορά σε πίνακα
Η

Για να δημιουργήσετε ένα αυτο- αναφορά πίνακα , θα αρχίσει με δύο πεδία , αριθμό ταυτότητας και αριθμό ταυτότητας γονέα . Σε αυτά τα πεδία , μπορείτε να προσθέσετε όποιες άλλες κατάλληλες για την εφαρμογή , όπως το όνομα , την περιγραφή , την τοποθεσία ή τον πληθυσμό . Για λόγους ευκολίας , μπορείτε να ορίσετε τον αριθμό ταυτότητας σε έναν τύπο πεδίου αυτόματης αρίθμησης , ώστε η βάση δεδομένων αυτόματα αριθμούς νέων εγγραφών σε αύξουσα σειρά . Η μητρική ID αναφοράς τον αριθμό ID της μητρικής ρεκόρ στην ιεραρχία ? Εφόσον η εγγραφή δεν έχει γονέας, μπορείτε να ορίσετε αυτό το πεδίο στο μηδέν . Για παράδειγμα, ο φάκελος για την Καλιφόρνια έχει ένα αναγνωριστικό μιας και η μητρική ID μηδέν . Το ρεκόρ για San Francisco County έχει μια ταυτότητα των δύο και η μητρική ID ενός . Κάθε εγγραφή των παιδιών στον πίνακα αναφοράς μητρική εγγραφές στο ίδιο τραπέζι ? Ο πίνακας είναι αυτο-συσχέτιση
εικόνων Ενοποίηση
Η

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

Η ευελιξία
Η

Μια βάση δεδομένων που έχει ένας πίνακας για κάθε επίπεδο σε μια ιεραρχία λειτουργεί καλά μέχρι να εμφανιστεί ένα νέο επίπεδο , καθώς θα πρέπει στη συνέχεια να προσθέσετε ένα νέο πίνακα για να φιλοξενήσει την αλλαγή και να τροποποιήσετε όλα τα προγράμματα εφαρμογών που χρησιμοποιούν τη βάση δεδομένων . Αντίθετα , μια αυτο- αναφορά πίνακα φιλοξενεί οποιοδήποτε αριθμό επιπέδων ιεραρχίας. Το πεδίο ID γονέας δείχνει πάντα στο επόμενο επίπεδο της ιεραρχίας , έτσι ώστε τα αρχεία αποτελούν ένα συνεκτικό αλυσίδα . Ο αριθμός των επιπέδων στην ιεραρχία μπορεί να είναι το ίδιο για όλες τις γονικές εγγραφές ή μπορεί να μεταβάλλεται ? Η αυτο - αναφορά πίνακα λαβές δύο περιπτώσεις
εικόνων Cascading Διαγραφή
Η

Όταν . πίνακα αυτο-συσχέτιση περιέχει πολλά αρχεία δεδομένων , μπορεί να αναρωτιέστε τι να κάνετε όταν διαγράψετε μια γονική ρεκόρ . Αν δεν έχετε , επίσης, να διαγράψετε όλα τα αρχεία του παιδιού , θα ενείχε τον κίνδυνο δημιουργίας « ορφανά », ή τα αρχεία με μη έγκυρα αναγνωριστικά γονέα . Ευτυχώς , υπάρχει ένας μηχανισμός για να χειριστεί αυτόματα την κατάσταση αυτή . Όταν δημιουργείτε το πεδίο γονέα ID , μπορείτε να καθορίσετε ότι έχει ένα πεδίο ξένου κλειδιού , και να χρησιμοποιήσετε το πεδίο ID ως το κύριο κλειδί του πίνακα . Αφού έχετε κάνει αυτό , μπορείτε να προσθέσετε τον περιορισμό , "ON DELETE CASCADE " στο πεδίο . Με τον περιορισμό και ρυθμίσεις των ξένων κλειδιών στη θέση του , η βάση δεδομένων θα διαγράψει όλες τις αντίστοιχες εγγραφές των παιδιών κάθε φορά που διαγράφετε ένα γονέα ρεκόρ .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα