Normiranje vaše baze podataka
Ako ste već neko vreme radili sa bazama podataka, šanse su da ste čuli izraz normalizacija. Možda vam je neko pitao: Da li se ta baza podataka normalizuje? ili "Da li je to u BCNF-u ?" Normalizacija je često otklonjena kao luksuz koji ima samo akademika vremena. Međutim, poznavanje principa normalizacije i primene na dnevne zadatke baze podataka stvarno nije sve što je komplikovano i može drastično poboljšati performanse vašeg DBMS-a.
U ovom članku ćemo predstaviti koncept normalizacije i kratko pregledati najčešće normalne forme.
Šta je normalizacija?
Normalizacija je proces efikasnog organizovanja podataka u bazi podataka. Postoje dva cilja procesa normalizacije: eliminisanje redundantnih podataka (na primer, čuvanje istih podataka u više od jedne tabele) i osiguravanje smisla vezanih za podatke (samo skladištenje podataka u tablici). Oba su dostojni ciljevi jer smanjuju količinu prostora za koju se baza podataka troši i osigurava da se podaci logički čuvaju.
Normalni oblici
Zajednica baza podataka je razvila niz smernica kako bi osigurala normalizaciju baza podataka. Ovi se nazivaju normalni oblici i numerirani su od jednog (najniži oblik normalizacije, nazvan kao prvi normalan oblik ili 1NF) kroz pet (peti normalan oblik ili 5NF). U praktičnim primenama često ćete videti 1NF, 2NF i 3NF zajedno sa povremenim 4NF. Peta normalna forma se retko vidi i neće se razmatrati u ovom članku.
Prije nego što započnemo raspravu o normalnim oblicima, važno je istaći da su samo smjernice i smjernice. Povremeno, postaje neophodno odustati od njih kako bi zadovoljio praktične poslovne zahteve. Međutim, kada se varijacije odvijaju, izuzetno je važno procijeniti moguće moguće implikacije koje mogu imati na vašem sistemu i računati na eventualne nedoslednosti. To je rekao, hajde da istražimo normalne forme.
Prva normalna forma (1NF)
Prvi normalni oblik (1NF) postavlja osnovna pravila za organizovane baze podataka:
- Eliminišite duplikate kolone iz iste tabele.
- Napravite odvojene tabele za svaku grupu povezanih podataka i identifikujte svaki red sa jedinstvenom kolonom ili skupom stupaca ( primarni ključ ).
Druga normalna forma (2NF)
Druga normalna forma (2NF) dalje se bavi konceptom uklanjanja duplikativnih podataka :
- Ispunite sve zahteve prvog normalnog oblika.
- Uklonite podskupove podataka koji se odnose na više redova tabele i stavite ih u zasebne tabele.
- Stvorite odnose između ovih novih tabela i njihovih prethodnika koristeći strane ključeve .
Treća normalna forma (3NF)
Treća normalna forma (3NF) ide korak dalje:
- Ispunite sve zahteve drugog normalnog oblika.
- Uklonite kolone koji ne zavise od primarnog ključa.
Normalan obrazac Boyce-Cod (BCNF ili 3.5NF)
Normalni obrazac Boyce-Codd, koji se takođe naziva "treći i pola (3.5) normalni oblik", dodaje još jedan zahtev:
- Ispunite sve zahteve treće normalne forme.
- Svaka odrednica mora biti ključ kandidata.
Četvrta normalna forma (4NF)
Konačno, četvrta normalna forma (4NF) ima još jedan dodatni zahtev:
- Ispunite sve zahteve treće normalne forme.
- Veza je u 4NF ako nema višenamenskih zavisnosti .
Zapamtite, ove smernice za normalizaciju su kumulativne. Da bi baza podataka bila u 2NF, mora prvo ispuniti sve kriterije 1NF baze podataka.
Da li da normalizujem?
Dok je normalizacija baze podataka često dobra ideja, to nije apsolutni zahtev. U stvari, postoje neki slučajevi kada namerno krši pravila normalizacije dobra praksa. Više o ovoj temi pročitajte Trebam li normalizirati svoju bazu podataka?
Ako želite osigurati normalizaciju vaše baze podataka, počnite sa učenjem kako staviti svoju bazu u prvu normalnu formu .