Teie andmebaasi normaliseerimine: üleminek teisele normaalsele vormile (2NF)

Andmebaasi asetamine teises tavalises vormis

Viimase kuu jooksul oleme uurinud mitmeid andmebaasi tabeli normaliseerimise aspekte. Esiteks arutasime andmebaasi normaliseerimise aluspõhimõtteid. Viimasel korral uurisime esimeses normaalses vormis (1NF) sätestatud põhinõudeid. Nüüd jätkame teekonda ja katma teise normaalse vormi (2NF) põhimõtted.

Tuletame meelde 2NF üldisi nõudeid:

Neid reegleid saab kokku võtta lihtsas avalduses: 2NF üritab tabelis olevaid koondatud andmeid vähendada, ekstraheerides need, asetades need uude tabelisse ja linkide loomiseks nende tabelite vahel.

Vaatame näitena. Kujutage ette veebipoodi, mis säilitab kliendiandmeid andmebaasis. Neil võib olla üks tabel nimega Kliendid, millel on järgmised elemendid:

Lühike ülevaade sellest tabelist näitab vähese hulga koondatud andmeid. Me hoiame kirjeid "Sea Cliff, NY 11579" ja "Miami, FL 33157" kaks korda korraga. Nüüd ei pruugi see meie lihtsas näites tunduda liiga palju salvestusruumi, vaid kujutlege raisatud ruumi, kui meie tabelis oli tuhandeid ridu. Kui Sea Cliffi sihtnumber peaks muutuma, peaksime seda muutma paljudes kohtades kogu andmebaasi.

2NF-i ühilduvas andmebaasi struktuuris on see ülearune teave ekstraheeritud ja salvestatud eraldi tabelisse. Meie uus tabel (nimetame seda ZIP-failideks) võib olla järgmisi välju:

Kui tahame olla ülitõhusad, võime seda tabelit eelnevalt täita - postkontor annab kataloogi kõigi kehtiva postiindeksi ja nende linna / riigi suhete kohta. Kindlasti on teil tekkinud olukord, kus sellist tüüpi andmebaasi kasutati. Ükskõik, kes tellimuse võtab, oleks võinud teilt kõigepealt küsida oma sihtnumbri ja seejärel teada, millist linna ja riiki olete helistanud. Selline kokkulepe vähendab operaatori viga ja suurendab tõhusust.

Nüüd, kui eemaldasime kattuvad andmed Klientide tabelist, oleme täitnud teise tavalise vormi esimese reegli. Kahe tabeli ühendamiseks peame ikka veel võõrvõti kasutama. Selle suhte loomiseks kasutame postiindeksit (esmane võti ZIP- failide tabelist). Siin on meie uus klientide tabel:

Oleme nüüd andmebaasi salvestatud üleliigse teabe hulga vähendanud ja meie struktuur on teises tavalises vormis!

Kui soovite tagada, et teie andmebaas on normaliseeritud, uurige meie teisi selles sarjas olevaid artikleid: