Σπίτι Ανάπτυξη Ποια είναι η τρίτη κανονική μορφή (3nf); - ορισμός από την τεχνολογία

Ποια είναι η τρίτη κανονική μορφή (3nf); - ορισμός από την τεχνολογία

Πίνακας περιεχομένων:

Anonim

Ορισμός - Τι σημαίνει η τρίτη κανονική μορφή (3NF);

Η τρίτη κανονική μορφή (3NF) είναι το τρίτο βήμα στην ομαλοποίηση μιας βάσης δεδομένων και βασίζεται στην πρώτη και τη δεύτερη κανονική μορφή, 1NF και 2NF.

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

Η Techopedia εξηγεί την Τρίτη Κανονική Μορφή (3NF)

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

Ας υποθέσουμε ότι ο πελάτης Andrew Smith δημιουργεί έναν λογαριασμό στον πίνακα CUSTOMER_MASTER με το CustID 20454. Ο κ. Smith κατέχει λογαριασμό αποταμίευσης με τον αριθμό S-200802-005, των οποίων τα στοιχεία αποθηκεύονται στον πίνακα ACCOUNT_MASTER. Αυτό σημαίνει ότι ο πίνακας ACCOUNT_MASTER θα έχει μια στήλη που ονομάζεται CustID, η οποία δεν είναι ένα πρωτότυπο κομμάτι δεδομένων. Αντίθετα, έχει επίσης την τιμή 20454, η οποία απλά αναφέρει το ίδιο CustID στον πίνακα CUSTOMER_MASTER.

Τώρα, το 3NF υπαγορεύει ότι στον πίνακα ACCOUNT_MASTER, οι μόνες πληροφορίες που διατηρούμε για τον πελάτη πρέπει να είναι το CustID (20454) ως ξένο κλειδί και αναφέρεται και προσδιορίζει τον πελάτη που κατέχει το ίδιο CustID στον πίνακα CUSTOMER_MASTER (Andrew Smith ). Δεν πρέπει να αποθηκεύονται στον πίνακα ACCOUNT_MASTER ή σε οποιοδήποτε άλλο πίνακα, άλλα δεδομένα σχετικά με τον πελάτη μας (όπως όνομα, ημερομηνία γέννησης, φύλο κλπ.), Επειδή όλα αυτά τα δεδομένα γι 'αυτόν αποθηκεύονται ήδη στο CUSTOMER_MASTER. Με αυτόν τον τρόπο, τα μοναδικά δεδομένα πελατών που είναι αποθηκευμένα εκτός του πίνακα CUSTOMER_MASTER είναι το CustID. Αυτό καταβάλλει όμορφα μερίσματα διασφαλίζοντας ότι δεν υπάρχει αλληλεπικάλυψη δεδομένων, η οποία με τη σειρά της κάνει τα ερωτήματα να τρέχουν πολύ πιο αποτελεσματικά και μειώνει το απαιτούμενο μέγεθος αποθήκευσης.

Ποια είναι η τρίτη κανονική μορφή (3nf); - ορισμός από την τεχνολογία