Normaliseerimise Ja Denormaliseerimise Erinevus

Normaliseerimise Ja Denormaliseerimise Erinevus
Normaliseerimise Ja Denormaliseerimise Erinevus

Video: Normaliseerimise Ja Denormaliseerimise Erinevus

Video: Normaliseerimise Ja Denormaliseerimise Erinevus
Video: Массаж от инсульта и для пяти органов чувств. Му Юйчунь. 2024, November
Anonim

Normaliseerimine vs denormaliseerimine

Relatsioonandmebaasid koosnevad suhetest (seotud tabelid). Tabelid koosnevad veergudest. Kui tabeleid on kaks suurt (st ühes tabelis on liiga palju veerge), võivad andmebaasi anomaaliad ilmneda. Kui tabeleid on kaks väikest (st andmebaas koosneb paljudest väiksematest tabelitest), oleks see päringute tegemisel ebaefektiivne. Normaliseerimine ja denormaliseerimine on kaks protsessi, mida kasutatakse andmebaasi jõudluse optimeerimiseks. Normaliseerimine minimeerib andmetabelites esinevad koondamised. Denormaliseerimine (normaliseerimise tagurpidi) lisab üleliigseid andmeid või grupi andmeid.

Mis on normaliseerimine?

Normaliseerimine on protsess, mis viiakse läbi relatsiooniliste andmebaaside andmetes sisalduvate koondamiste minimeerimiseks. See protsess jaotab suured tabelid peamiselt väiksematesse, vähem koondatutesse tabelitesse (nn tavalised vormid). Need väiksemad tabelid on omavahel seotud täpselt määratletud seoste kaudu. Hästi normaliseeritud andmebaasis nõuab andmete muutmine või muutmine ainult ühe tabeli muutmist. Esimese normaalvormi (1NF), teise normaalvormi (2NF) ja kolmanda normaalvormi (3NF) tutvustas Edgar F. Codd. Boyce-Coddi normaalse vormi (BCNF) võtsid kasutusele 1974. aastal Codd ja Raymond F. Boyce. Kõrgemad normaalsed vormid (4NF, 5NF ja 6NF) on määratletud, kuid neid kasutatakse harva.

1NF-le vastav tabel tagab, et see esindab tegelikult suhet (st see ei sisalda korduvaid kirjeid) ega sisalda relatsiooniliselt hinnatud atribuute (st kõigil atribuutidel peaks olema aatomiväärtus). Et tabel vastaks 2NF-le, peaks see vastama 1NF-le ja kõik atribuudid, mis ei kuulu ühegi kandidaatvõtme hulka (st mitte-prime atribuudid), peaksid täielikult sõltuma mis tahes tabelis olevast kandidaatvõtmest. Coddi definitsiooni kohaselt öeldakse, et tabel on 3NF-s, ainult siis, kui see tabel on teises normaalses vormis (2NF) ja iga tabeli atribuut, mis ei kuulu kandidaatvõtmesse, peaks otseselt sõltuma selle tabeli kandidaatvõti. BCNF (tuntud ka kui 3.5NF) haarab mõned anomaaliad, mida 3NF ei käsitle.

Mis on denormaliseerimine?

Denormaliseerimine on normaliseerimisprotsessi vastupidine protsess. Denormaliseerimine toimib jõudluse optimeerimiseks üleliigsete andmete lisamisega või andmete rühmitamisega. Kuigi üleliigsete andmete lisamine kõlab kontraproduktiivselt, on mõnikord denormaliseerimine väga oluline protsess relatsioonilise andmebaasi tarkvara mõningate puuduste kõrvaldamiseks, mis võivad normaliseeritud andmebaasidega (isegi suurema jõudluse jaoks häälestatuna) põhjustada suuri karistusi. Seda seetõttu, et mitme seose (mis on normaliseerimise tulemus) ühendamine päringu tulemuse saamiseks võib mõnikord olla aeglane, sõltuvalt andmebaasisüsteemide tegelikust füüsilisest rakendamisest.

Mis vahe on normaliseerimisel ja denormaliseerimisel?

- Normaliseerimine ja denormaliseerimine on kaks täiesti vastupidist protsessi.

- Normaliseerimine on suuremate tabelite jagamine väiksemateks, vähendades üleliigseid andmeid, denormaliseerimine on aga üleliigsete andmete lisamine toimimise optimeerimiseks.

- Normaliseerimine toimub andmebaaside anomaaliate vältimiseks.

- Denormaliseerimine viiakse tavaliselt läbi andmebaasi lugemisvõime parandamiseks, kuid denormaliseerimiseks kasutatavate täiendavate piirangute tõttu võivad kirjutamised (st sisestamis-, värskendus- ja kustutustoimingud) aeglasemaks muutuda. Seetõttu võib denormaliseeritud andmebaas pakkuda halvemat kirjutamisvõimet kui normaliseeritud andmebaas.

- Sageli soovitatakse teil "normaliseerida, kuni see on valus, denormaliseerida, kuni see töötab".

Soovitatav: