Tabeli normaliseerimine

Normaliseerimise kirjeldus

Normaliseerimine on andmebaasi andmekorralduse protsess, See hõlmab tabelite loomist ja nendevaheliste seoste loomist vastavalt nii andmekaitseks kui ka andmebaasi paindlikkuse suurendamiseks välja töötatud reeglitele, kõrvaldades ülekülluse ja kooskõlastamata sõltuvuse.

Andmete üleküllus põhjustab kettal vaba ruumi ebaproduktiivset kulutamist ja raskendab andmebaaside hooldamist. Näiteks kui mitmes kohas hoitavaid andmeid on vaja muuta, tuleb neis teha samad muudatused kõigis neis kohtades. Kliendi aadressi muutmist on lihtsam ellu viia, kui neid andmeid säilitatakse ainult Customersi tabelis ja mitte kusagil andmebaasis.

Mis on “nõustumatud sõltuvused”? Kuigi kasutajale on intuitiivselt arusaadav otsida tabelist Kliendid konkreetse kliendi aadressi, ei pruugi olla mõistlik otsida sealt töötaja palka, kes antud kliendi poole pöördub. Töötaja palk on seotud töötajaga (oleneb temast), seega tuleb neid andmeid hoida Employees tabelis (töökaaslased). Kokkuleppeta sõltuvused võivad raskendada andmetele juurdepääsu, sest andmeteni jõudmise tee võib seejuures puududa või olla vale.

Andmebaaside normaliseerimiseks on mitu reeglit. Iga reeglit nimetatakse “tavavormiks”. Kui järgitakse esimest reeglit, olevat andmebaas “esimeses normaalses vormis”. Esimese kolme reegli järgimisel loetakse andmebaas “kolmandaks normaalseks vormiks”. Kuigi ka teised normaliseerumistasandid on võimalikud, peetakse kolmandat normaalvormi enamiku rakenduste jaoks kõige kõrgemaks vajalikuks tasemeks.

Nagu paljudes vormireeglites ja spetsifikatsioonides, ei võimalda ka reaalsed stsenaariumid alati tagada ideaalset nõuetele vastavust. Reeglina tuleb normaliseerumise täitmiseks luua lisatabeleid ja nii mõnigi klient peab seda soovimatuks. Kavatsedes rikkuda üht kolmest esimesest normaliseerimise reeglist, veenduge, et rakenduses on arvesse võetud kõik sellega seotud probleemid, nagu andmete üleküllus ja kooskõlastamata sõltuvused.

Allolevates kirjeldustes on toodud vastavad näited.


Normaliseerimine – admebaasi andmete korrastamine.

Otsime tabelites :

  • kordused (повторения)
  • vastuolud (противоречия)

1) NormaalKuju (1NF)

  • Tabeli atribuudid on unikaalse nimega
  • Igas veerus on ainult ühe tüübi andmed
  • Igal tabelil on Primaarvõti
  • Igas lahtris on ainult ühte väärtust, see tähendab kui õpilasel on kaks mobiilinumbrid, siis ei tohi neid sisestada ühe lahtrisse – on vaja luba eraldi tabeli

2) NormaalKuju (2NF)

  • Täidetud 1NF
  • Luuakse eraldi tabelid mis on seotud primaarvõtmega (võõrvõti, väline võti)

3) NormaalKuju (3NF)

  • Täidetud 1NF, 2NF
  • On vaja kustutada need veerud, mis ei ole otse seotud primaarvõtmega. Näiteks, kui tabelisse opilane on veerg keskmine_hinne, siis keskmine_hinne ei ole seotud primaarvõtmega

Normaliseerimine on protsess andmete koondamise kõrvaldamiseks ja andmete terviklikkuse parandamiseks tabelis. Normaliseerimine aitab korrastada ka andmebaasis olevaid andmeid. Tegemist on mitmeastmelise protsessiga, mis seab andmed tabelisse ja eemaldab dubleeritud andmed relatsioonitabelitest.

Normaliseerimine korraldab andmebaasi veerud ja tabelid, et tagada andmebaasi terviklikkuse piirangute nõuetekohane täitmine. See on tabelite lagundamise süstemaatiline võte andmete koondamise (korduse) ja ebasoovitavate omaduste kõrvaldamiseks nagu Sisestamine, värskendamine ja kustutamise anomaaliad.


Comments

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga