Svodjenje modela na treću normalnu formu

S

Svođenje modela na treću normalnu formu

Ako pogledamo malo bolje tabelu „KORISNIK“ iz primera za drugu normalnu formu, videćemo da iako ispunjava i prvu i drugu normalnu formu, atribut „ZIVI“ nije direktno zavistan od ID-a korisnika (primarnog ključa). Da bi postigli treću normalnu formu, taj podatak mora da se odvoji u zasebnu tabelu. Zašto? Ako uzmemo na primer da „mali zikica“ napusti forum, te se slogovi koji njega definišu obrišu, nestaće trag o „BIH“ (anomalija pri brisanju) ili ako „Srbija“ ponovo promeni ime u „Republika Beograd sa okolinom“, to ime moramo promeniti na više od jednog mesta (anomalija pri promeni). Razlaganje na treću normalnu formu zahteva da podatak o „ZIVI“ prebacimo u zaseban entitet.

TABELA: DRZAVA

DRZAVA_ID: 1
DRZAVA_IME: Srbija

DRZAVA_ID: 2
DRZAVA_ID: BIH

TABELA: KORISNIK

KORISNIK_ID: 1
KORISNIK_IME: pera peric
DRZAVA_ID: 1

KORISNIK_ID: 2
KORISNIK_IME: mika mikic
DRZAVA_ID: 1

KORISNIK_ID: 3
KORISNIK_IME: zikica zikic
DRZAVA_ID: 1

KORISNIK_ID: 4
KORISNIK_IME: mali perica
DRZAVA_ID: 1

KORISNIK_ID: 5
KORISNIK_IME: mali zikica
DRZAVA_ID: 2

Treća Normalna Forma
Treća Normalna Forma

O autoru

Bogdan Kecman

1 komentar

Ključne Reči

Kategorije

Blog