Sobes.tech
Junior

Шта је нормализација у бази података?

sobes.tech АИ

Одговор од АИ

Normalizacija baze podataka je proces organizacije podataka u relacijskoj bazi podataka s ciljem smanjenja redundancije (dupliranja podataka) i poboljšanja integriteta podataka. To se postiže deljenjem velikih tabela na manje uz definisanje veza između njih.

Glavni cilj normalizacije:

  • Smanjenje redundancije podataka: Izbegavanje ponovnog prikaza iste informacije na različitim mestima.
  • Poboljšanje integriteta podataka: Osiguravanje tačnosti i doslednosti podataka.
  • Obezbeđivanje fleksibilnosti: Olakšavanje promena i proširenja strukture baze podataka.

Normalizacija se definiše skupom pravila nazvanih normalne forme. Najčešće su prve tri normalne forme:

  1. Prva normalna forma (1NF):

    • Svaki stupac tabele mora sadržavati atomarne (nedeljive) vrednosti.
    • Nema ponovljenih grupa kolona.
    • Svaki red mora biti jedinstven (kroz primarni ključ).
  2. Druga normalna forma (2NF):

    • Tabela je u 1NF.
    • Sve neključne atribute (kolone koje nisu deo primarnog ključa) potpuno zavise od celog primarnog ključa (ako je složen). Nedostaju delimične zavisnosti.
  3. Treća normalna forma (3NF):

    • Tabela je u 2NF.
    • Nema tranzitivnih zavisnosti. Neključni atributi ne zavise od drugih neključnih atributa.

Postoje i više normalnih formi (BCNF, 4NF, 5NF, 6NF), ali se 3NF obično smatra dovoljnim za većinu praktičnih svrha.

Primer (pojednostavljen):

Originalna nenormalizovana tabela (porudžbina klijenta):

ID porudžbine Ime klijenta Adresa klijenta Proizvodi Količina Cena po jedinici
101 Jovan Beograd Laptop 1 50000
101 Jovan Beograd Miš 2 1000
102 Marija Novi Sad Tastatura 1 3000

Nakon normalizacije (npr. do 3NF):

Tabela porudžbina:

ID porudžbine ID klijenta Datum porudžbine
101 1 2023-10-26
102 2 2023-10-26

Tabela klijenata:

ID klijenta Ime klijenta Adresa klijenta
1 Jovan Beograd
2 Marija Novi Sad

Tabela detalja porudžbine:

ID detalja ID porudžbine ID proizvoda Količina Cena po jedinici
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Tabela proizvoda:

ID proizvoda Naziv proizvoda
10 Laptop
20 Miš
30 Tastatura

De-normalizacija je obrnuti proces normalizacije, koji se ponekad koristi za poboljšanje performansi čitanja podataka povećanjem redundancije.