Acasă Dezvoltare Care este a treia formă normală (3nf)? - definiție din techopedia

Care este a treia formă normală (3nf)? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă a treia formă normală (3NF)?

A treia formă normală (3NF) este a treia etapă în normalizarea unei baze de date și se bazează pe primele și a doua forme normale, 1NF și 2NF.

3NF precizează că toate referințele la coloane din datele de referință care nu depind de cheia primară trebuie eliminate. Un alt mod de a pune acest lucru este faptul că numai coloanele cu cheie străină ar trebui utilizate pentru a face referire la un alt tabel și nu trebuie să existe alte coloane din tabelul părinte în tabelul referențiat.

Techopedia explică forma a treia normală (3NF)

Luați în considerare baza de date a unei bănci, care conține două tabele: CUSTOMER_MASTER pentru stocarea detaliilor clientului și ACCOUNT_MASTER pentru stocarea detaliilor despre conturile bancare, inclusiv clientul care deține contul. În acest caz, trebuie să existe o modalitate de a conecta cele două tabele pentru a lega un cont de clientul care îl deține. Modul de a face acest lucru este printr-o cheie străină. Aceasta este o coloană din tabelul ACCOUNT_MASTER care indică sau face referire la o coloană corespunzătoare (numită cheie primară) din tabelul părinte CUSTOMER_MASTER. Să numim această coloană Custid.

Să presupunem că clientul Andrew Smith creează un cont în tabelul CUSTOMER_MASTER cu Custid 20454. Domnul Smith deține un cont de economii cu numărul S-200802-005, ale cărui detalii sunt stocate în tabelul ACCOUNT_MASTER. Aceasta înseamnă că tabelul ACCOUNT_MASTER va avea o coloană numită Custid, care nu este o informație originală. În schimb, are și valoarea 20454, care face referire pur și simplu la același Custid din tabelul CUSTOMER_MASTER.

Acum, 3NF dictează că în tabelul nostru ACCOUNT_MASTER, singura informație pe care o deținem despre client ar trebui să fie Custidul (20454) ca o cheie străină și se referă la și identifică clientul care deține același Custid în tabelul CUSTOMER_MASTER (Andrew Smith ). Nicio altă informație despre clientul nostru (cum ar fi numele, data nașterii, sexul și așa mai departe) nu ar trebui stocată în tabelul ACCOUNT_MASTER sau, într-adevăr, în orice alt tabel, deoarece toate aceste date despre el sunt deja stocate în CUSTOMER_MASTER. Procedând astfel, singurele date despre clienți stocate în afara tabelului CUSTOMER_MASTER sunt Custidul. Aceasta plătește dividende frumoase, asigurând că nu există nicio duplicare a datelor, ceea ce la rândul său face căutările să fie difuzate mult mai eficient și reduce cantitatea de stocare necesară.

Care este a treia formă normală (3nf)? - definiție din techopedia