Normalizacija vaše podatkovne baze: prehoda na drugo običajno obliko (2NF)

Prenos baze podatkov v drugo normalno obliko

V zadnjem mesecu smo preučili več vidikov normalizacije tabele zbirke podatkov. Najprej smo razpravljali o osnovnih načelih normalizacije baz podatkov. Nazadnje smo raziskali osnovne zahteve, določene s prvo normalno obliko (1NF). Zdaj pa nadaljujemo pot in pokrivamo načela druge normalne oblike (2NF).

Spomnimo se splošnih zahtev 2NF:

Ta pravila se lahko povzamejo v preprostem izjavo: 2NF poskuša zmanjšati količino odvečnih podatkov v tabeli tako, da jo iztisne, da ga doda v novo tabelo in ustvari razmerja med temi tabelami.

Poglejmo si primer. Predstavljajte si spletno trgovino, ki ohranja podatke o strankah v bazi podatkov. Imajo lahko eno samo tabelo, imenovano Stranke, z naslednjimi elementi:

Kratek pogled na to tabelo kaže majhno količino odvečnih podatkov. Mi shranjujemo "Sea Cliff, NY 11579" in "Miami, FL 33157" vnose dvakrat vsakega. Zdaj se to morda ne zdi preveč dodano skladiščenje v našem preprostem primeru, ampak predstavljamo zapravljen prostor, če bi v tabeli imeli na tisoče vrstic. Poleg tega, če bi morali spremeniti poštno kodo za morsko skalo, bi morali to spremembo spremeniti v mnogih krajih po celotni bazi podatkov.

V strukturi baze podatkov, skladni z 2NF, se te odvečne informacije pridobivajo in shranijo v ločeni tabeli. Naša nova tabela (karkoli lahko rečemo ZIP-ji) ima lahko naslednja polja:

Če želimo biti super-učinkoviti, lahko to tabelo vnaprej napolnimo vnaprej - pošta nudi imenik vseh veljavnih poštnih številk in njihovih odnosov med mesti in mesti. Gotovo ste naleteli na situacijo, v kateri je bila uporabljena ta vrsta podatkovne baze. Nekdo, ki je naročil, bi morda najprej povprašal po vaši poštni številki in poznal mesto in državo, s katero ste klicali. Ta vrsta dogovora zmanjšuje napake operaterja in povečuje učinkovitost.

Zdaj, ko smo odstranili podvojene podatke iz tabele strank, smo zadovoljili prvo pravilo druge običajne oblike. Še vedno moramo uporabiti tuji ključ za povezovanje dveh miz. Za ustvarjanje tega razmerja bomo uporabili poštno številko (primarni ključ iz tabele ZIPs). Tukaj je tabela novih strank:

Zdaj smo zmanjšali količino odvečnih podatkov, shranjenih v bazi podatkov, in naša struktura je v drugi normalni obliki!

Če želite zagotoviti normalizacijo vaše baze podatkov, preberite naše druge članke iz te serije: