A doua formă normală.
Pentru a aduce masa la a doua formă normală (2NF), masa trebuie să fie deja în 1NF. Normalizarea ar trebui să aibă loc în ordine.
Acum, în a doua formă normală, condiția trebuie să fie îndeplinite - orice coloană care nu este o cheie (inclusiv exterior) ar trebui să depindă de cheia primară. De obicei astfel de coloane având valori care sunt independente de cheie, este ușor de determinat. În cazul în care datele conținute în coloana care nu sunt legate de cheia care descrie linia, acestea ar trebui să fie separate într-un tabel separat. Tabelul vechi este necesar să se întoarcă cheia primară.
În figura de mai sus, precum și titluri de film și numele actorilor încalcă regulile 2NF (cheile ei înșiși nu sunt și nu depind de cheia primară).
După toate transformările, baza de date film va avea un minim de 4 tabele.
Pentru a aduce forma normală a doua bd, a luat patru din tabel. Directori (directori), prezentate în filme (filme) printr-un act de identitate director cheie străină, filme în Tabelul-actori filme (filme-actori) prin ID-ul de film, actori prin actor ID
Fiecare nume al directorului, numele filmului și numele actorului este stocată doar o singură dată, și toate domeniile non-cheie dependente de cheia primară a propriei lor de masă.
De fapt, normalizarea poate fi exagerate numit procesul de creare a tot mai multe tabele noi, atâta timp cât redundanță și repetarea nu vor fi complet distruse.
Pentru a aduce baza de date pentru a doua formă normală, este necesar să:
Pentru a aduce baza de date pentru 2NF, ai nevoie de cel puțin 3 din tabelul
- Identificați toate coloanele care nu sunt direct proporțional cu cheia principală a acestui tabel. Figura mai mare pentru utilizatori și tabele forumuri au o cheie primară. Un mesaje cheie tabel primar - ID-ul mesajului, pe care depind toate celelalte câmpuri din acest tabel.
- Crearea câmpurile obligatorii utilizatorilor tabele și forumuri, selectați din zăcămintele existente sau de a crea de noi chei primare.
Pentru fiecare masă are nevoie de o cheie primară
Ceea ce duce la cheile primare din tabelele lor de a relaționa cele trei tabele din mesaje două chei străine adăugate
sfaturi:
- O altă modalitate de a aduce sistemul la 2NF - să se uite la relația dintre tabele. Ideal - pentru a crea tot felul de relații unu la mulți. Tipul de relatie multi-la-mulți au nevoie de restructurare.
- Dacă te uiți din nou la masa de filme actori, putem vedea că acesta este un tabel intermediar. Ea face o relație mulți-la-mai multe dintre filme și actori într-un unu-la-mulți. Puteți introduce aceste tabelul de intermediar, în care toate coloanele sunt cheile. În aceste tabele nu necesită lor cheie primară proprii, deoarece aceasta poate fi o combinație a celor două chei străine.
- rânduri normalizată în mod corespunzător de masă nu vor fi repetate (două sau mai multe rânduri, valorile care nu sunt chei, și să conțină date identice).
- Pentru a simplifica normalizarea, ține cont de faptul că reducerea la 1NF pe care il cautati duble pe orizontală (dublu coloane), și reducerea la 2NF - vertical (dublu rânduri).