Mis on normaliseerimine andmebaasis?
sobes.tech AI
Vastus AI-lt
Normaliseerimine andmebaasis on protsess, mille käigus organiseeritakse andmeid relatsioonandmebaasis eesmärgiga vähendada dubleerimist (andmete kordumist) ja parandada andmete terviklikkust. Seda saavutatakse, jagades suuremad tabelid väiksemateks ja määrates nende vahel seosed.
Normaliseerimise peamine eesmärk:
- Andmete dubleerimise vähendamine: vältida sama info kordumist erinevates kohtades.
- Andmete terviklikkuse parandamine: tagada andmete täpsus ja järjepidevus.
- Paindlikkuse tagamine: lihtsustada andmebaasi struktuuri muutmist ja laiendamist.
Normaliseerimine määratletakse reeglite kogumina, mida nimetatakse normaalvormideks. Kõige levinumad on esimesed kolm normaalvormi:
Esimene normaalvorm (1NF):
- Iga tabeli veerg peab sisaldama atomaalseid (mitte jagatavaid) väärtusi.
- Ei tohi olla korduvaid veergude gruppe.
- Iga rida peab olema unikaalne (esimese võtme kaudu).
Teine normaalvorm (2NF):
- Tabel on 1NF.
- Kõik mitte-võtme atribuudid (veerud, mis ei kuulu primaarvõtmesse) sõltuvad täielikult kogu primaarvõtme (kui see on koosnev). Osalised sõltuvused puuduvad.
Kolmas normaalvorm (3NF):
- Tabel on 2NF.
- Ei ole transitiivseid sõltuvusi. Mitte-võtme atribuudid ei sõltu teistest mitte-võtme atribuutidest.
On ka kõrgemaid normaalvorme (BCNF, 4NF, 5NF, 6NF), kuid tavaliselt peetakse 3NF-d piisavaks enamiku praktiliste eesmärkide saavutamiseks.
Näide (lihtsustatud):
Mitte-normaliseeritud tabel (klientide tellimus):
Tellimuse ID Kliendi nimi Kliendi aadress Tooted Kogus Ühe hind 101 Ivan Moskva Sülearvuti 1 50000 101 Ivan Moskva Hiir 2 1000 102 Maria Sankt-Peterburg Klaviatuur 1 3000 Pärast normaliseerimist (näiteks kuni 3NF):
Tellimuste tabel:
Tellimuse ID Kliendi ID Tellimuse kuupäev 101 1 2023-10-26 102 2 2023-10-26 Kliendi tabel:
Kliendi ID Kliendi nimi Kliendi aadress 1 Ivan Moskva 2 Maria Sankt-Peterburg Tellimuse detailide tabel:
Tellimuse detaili ID Tellimuse ID Tooted ID Kogus Ühe hind 1 101 10 1 50000 2 101 20 2 1000 3 102 30 1 3000 Toodete tabel:
Tooted ID Tooted nimetus 10 Sülearvuti 20 Hiir 30 Klaviatuur Demormaliseerimine on vastupidine normaliseerimise protsess, mida mõnikord kasutatakse andmete lugemise jõudluse parandamiseks, suurendades dubleerimist.