Sobes.tech
Junior

Mi az a normalizálás egy adatbázisban?

sobes.tech MI

Válasz az MI-től

Az adatbázis normalizálása az adatok szervezésének folyamata relációs adatbázisban, célja a redundancia (adatduplikáció) csökkentése és az adatok integritásának javítása. Ez úgy érhető el, hogy nagy táblákat kisebbekre bontunk, és kapcsolatokat határozunk meg közöttük.

A normalizálás fő céljai:

  • Az adatok redundanciájának csökkentése: Az ugyanazon információ ismétlődésének elkerülése különböző helyeken.
  • Az adatok integritásának javítása: Az adatok pontosságának és következetességének biztosítása.
  • Rugalmasság biztosítása: A adatbázis szerkezetének módosítását és bővítését megkönnyítve.

A normalizálás szabályok halmazán keresztül határozható meg, amelyeket normál formáknak nevezünk. A leggyakoribbak az első három normál forma:

  1. Első normál forma (1NF):

    • Minden oszlopnak atomikus (felbonthatatlan) értékeket kell tartalmaznia.
    • Nincsenek ismétlődő oszlopcsoportok.
    • Minden sor egyedi kell legyen (elsődleges kulcs segítségével).
  2. Második normál forma (2NF):

    • A tábla 1NF-ben van.
    • Minden nem-kulcs attribútum (nem része az elsődleges kulcsnak) teljes mértékben függ az elsődleges kulcs egészétől (ha összetett). Nincsenek részleges függőségek.
  3. Harmadik normál forma (3NF):

    • A tábla 2NF-ben van.
    • Nincsenek tranzitív függőségek. A nem-kulcs attribútumok nem függenek más nem-kulcs attribútumoktól.

Vannak magasabb normál formák (BCNF, 4NF, 5NF, 6NF), de a 3NF általában elegendő a legtöbb gyakorlati célra.

Egyszerű példa:

Eredeti, nem normalizált táblázat (ügyfél rendelése):

Rendelés azonosító Ügyfél neve Ügyfél címe Termékek Mennyiség Egységár
101 János Budapest Laptop 1 50000
101 János Budapest Egér 2 1000
102 Mária Szeged Billentyűzet 1 3000

A normalizálás után (például 3NF-ig):

Rendelések táblázat:

Rendelés azonosító Ügyfél azonosító Rendelés dátuma
101 1 2023-10-26
102 2 2023-10-26

Ügyfelek táblázat:

Ügyfél azonosító Ügyfél neve Ügyfél címe
1 János Budapest
2 Mária Szeged

Rendelés részletei táblázat:

Részlet azonosító Rendelés azonosító Termék azonosító Mennyiség Egységár
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Termékek táblázat:

Termék azonosító Termék neve
10 Laptop
20 Egér
30 Billentyűzet

A denormalizáció a normalizálás fordított folyamata, amelyet néha az adatok olvasási teljesítményének javítása érdekében alkalmaznak, a redundancia növelésével.