Mit tud a normál formákról az adatbázisokban?
sobes.tech MI
Válasz az MI-től
A normál formák (NF) egy szabályok és ajánlások összessége az relációs adatbázis szerkezetének tervezéséhez, amelyek célja az adatok redundanciájának minimalizálása és az anomáliák megelőzése beszúrás, frissítés és törlés során.
Fő normál formák:
-
Első normál forma (1NF):
- Minden attribútumnak (oszlopnak) atomáris (felbonthatatlan) értékeket kell tartalmaznia.
- El kell kerülni az ismétlődő attribútumcsoportokat.
- Minden sor egyedi kell legyen (elsődleges kulcs van).
-
Második normál forma (2NF):
- 1NF-ben van.
- Minden nem-kulcs attribútnak teljes mértékben függnie kell a teljes elsődleges kulcstól (összetett kulcs esetén).
-
Harmadik normál forma (3NF):
- 2NF-ben van.
- Nincs tranzitív függőség a nem-kulcs attribútumok között az elsődleges kulcstól (egy nem-kulcs attribútum nem függhet egy másik nem-kulcs attribútumtól).
-
Boyce-Codd normál forma (BCNF):
- Szigorúbb változata a 3NF-nek.
- Minden nem-triviális $X \to Y$ függőségnek $X$-nek superkulcsnak kell lennie.
-
Negyedik normál forma (4NF):
- BCNF-ben van.
- Nincs többértékes függőség.
-
Ötödik normál forma (5NF):
- 4NF-ben van.
- Nincs összekapcsolási függőség.
A normalizálás céljai:
- Az adatok redundanciájának csökkentése.
- Anomáliák megelőzése (beszúrás, frissítés, törlés).
- Az adatok integritásának biztosítása.
- Az adatbázis szerkezetének egyszerűsítése.
Példa:
Redundanciával rendelkező tábla (nem 1NF):
| OrderID | Termék | Ár |
|---|---|---|
| 1 | Laptop, Egér | 1000, 20 |
| 2 | Billentyűzet | 50 |
Normalizált tábla (1NF-ben és felette):
"Rendelések" tábla:
| OrderID |
|---|
| 1 |
| 2 |
"Rendelési tételek" tábla:
| TételID | OrderID | Termék | Ár |
|---|---|---|---|
| 1 | 1 | Laptop | 1000 |
| 2 | 1 | Egér | 20 |
| 3 | 2 | Billentyűzet | 50 |
A normalizálás a tervezés egyik fontos lépése, de a túlzott normalizálás növelheti a lekérdezések összekapcsolásainak számát, ami negatívan befolyásolhatja a teljesítményt. A legjobb szint kiválasztása a normalizációban a konkrét követelményektől és kompromisszumoktól függ. Egyes esetekben a denormalizációt alkalmazzák a teljesítmény optimalizálására, tudatosan megsértve a normál formák szabályait.