Suuri tietokanta, joka on määritelty yhdeksi suhteeksi, voi johtaa tietojen päällekkäisyyteen. Tämä tietojen toistaminen voi johtaa:
- Suhteiden tekeminen erittäin suuriksi.
- Tietojen ylläpito ja päivittäminen ei ole helppoa, koska se vaatisi useiden tietueiden etsimistä suhteessa.
- Levytilan ja resurssien hukkaa ja huono käyttö.
- Virheiden ja epäjohdonmukaisuuksien todennäköisyys kasvaa.
Joten näiden ongelmien käsittelemiseksi meidän pitäisi analysoida ja hajottaa suhteet redundanttisella tiedolla pienemmiksi, yksinkertaisemmiksi ja hyvin jäsennellyiksi suhteiksi, jotka täyttävät toivotut ominaisuudet. Normalisointi on prosessi, jossa suhteet hajotetaan suhteiksi, joilla on vähemmän attribuutteja.
merkkijonon muuntaminen json-objektiksi
Mitä on normalisointi?
- Normalisointi on prosessi, jossa tiedot järjestetään tietokannassa.
- Normalisointia käytetään minimoimaan relaatiosta tai relaatiojoukosta johtuva redundanssi. Sitä käytetään myös poistamaan ei-toivottuja ominaisuuksia, kuten lisäys-, päivitys- ja poistovirheitä.
- Normalisointi jakaa suuremman taulukon pienempiin ja linkittää ne suhteiden avulla.
- Normaalia muotoa käytetään vähentämään tietokantataulukon redundanssia.
Miksi tarvitsemme normalisointia?
Pääsyy suhteiden normalisointiin on näiden poikkeavuuksien poistaminen. Poikkeavuuksien poistaminen johtaa tietojen redundanssiin ja voi aiheuttaa tietojen eheyden ja muita ongelmia tietokannan kasvaessa. Normalisointi koostuu joukosta ohjeita, jotka auttavat sinua luomaan hyvän tietokantarakenteen.
java int char
Tietojen muutospoikkeamat voidaan luokitella kolmeen tyyppiin:
Normaalimuotojen tyypit:
Normalisointi toimii sarjan vaiheiden kautta, joita kutsutaan normaalimuodoiksi. Normaalit muodot koskevat yksilöllisiä suhteita. Suhteen sanotaan olevan erityisen normaalimuotoinen, jos se täyttää rajoitukset.
Seuraavassa on erityyppisiä normaalimuotoja:
Normaali muoto | Kuvaus |
---|---|
1NF | Relaatio on 1NF:ssä, jos se sisältää atomiarvon. |
2NF | Relaatio on 2NF:ssä, jos se on 1NF:ssä ja kaikki ei-avainattribuutit toimivat täysin ensisijaisesta avaimesta riippuen. |
3NF | Relaatio on 3NF:ssä, jos se on 2NF:ssä eikä siirtymäriippuvuutta ole olemassa. |
BCNF | 3NF:n vahvempi määritelmä tunnetaan Boyce Coddin normaalimuotona. |
4NF | Relaatio on 4NF:ssä, jos se on Boyce Coddin normaalimuodossa eikä sillä ole moniarvoista riippuvuutta. |
5NF | Suhde on 5NF:ssä. Jos se on 4NF:ssä eikä sisällä liitosriippuvuutta, liitoksen tulee olla häviötöntä. |
Normalisoinnin edut
- Normalisointi auttaa minimoimaan tietojen redundanssin.
- Suurempi yleinen tietokantaorganisaatio.
- Tietojen yhtenäisyys tietokannassa.
- Paljon joustavampi tietokantasuunnittelu.
- Vahvistaa suhteen eheyden käsitettä.
Normalisoinnin haitat
- Et voi aloittaa tietokannan rakentamista ennen kuin tiedät, mitä käyttäjä tarvitsee.
- Suorituskyky heikkenee normalisoitaessa suhteita korkeampiin normaalimuotoihin, eli 4NF, 5NF.
- On erittäin aikaa vievää ja vaikeaa normalisoida suhteita korkeammalla tasolla.
- Huolimaton hajottaminen voi johtaa huonoon tietokannan suunnitteluun, mikä johtaa vakaviin ongelmiin.