3 Duomenų normalizavimo etapai

Kai kurie svarbūs etapai, susiję su duomenų normalizavimo procesu, yra šie:

Lentelėse yra keli duomenų elementų grupavimo būdai. Duomenų bazės kūrėjas būtų suinteresuotas pasirinkti būdą, kuris užtikrintų, kad duomenų grupėse nebūtų nukrypimų. Šios anomalijos apima duomenų atleidimą, duomenų praradimą ir klaidingus duomenų ryšius.

Image Courtesy: 4.bp.blogspot.com/-MTnjMQCPoRI/Tu4HGFKjV2I/AAAAAAAAAHQ/md1Cz89KH1U/s1600/2service.jpg

Normalizacija siekiama pašalinti duomenų anomalijas. Normalizavimo procesas apima tris etapus, kurių kiekvienas etapas sukuria įprastą lentelę.

1. Pirmoji įprastinė forma:

Pirmasis normalizavimo žingsnis yra visų pakartotinių laukų pateikimas į atskirus failus ir jiems tinkamų raktų priskyrimas.

Pirkimo užsakymo apdorojimo pavyzdžių pavyzdžiai gali būti nustatyti pirkimo užsakyme:

Tiekėjo_ ID

Tiekėjo pavadinimas

Adresas

Pirkimo užsakymo numeris

Data

Mokėjimo sąlygos

Pristatymo sąlygos

S. Ne.

Prekės kodas

apibūdinimas

Matavimo vienetas

Kaina

Užsakytas kiekis

Suma

Kaip nurodyta pirmiau, „siuntimo sąlygos“ kartojamos kiekvienam S. Nr. Ir kiekviename pirkimo užsakyme bus daug įrašų. Pirmajame normalizavimo etape pakartotiniai duomenų elementai pateikiami atskirose lentelėse. Taigi, dalijame duomenų elementus į dvi lenteles, kaip parodyta toliau:

Pagrindiniai duomenų elementai rodomi didžiosiomis raidėmis. Dabar lentelė yra pirmojoje normalioje formoje (INF), nes visi pakartotiniai duomenų elementai (laukai) yra atskiroje lentelėje (1.2 lentelė) ir kiekvienam lentelei priskirti paieškos raktai. Kadangi abiejose lentelėse yra du pagrindiniai elementai, galima teigti, kad kiekvienoje lentelėje yra sudėtiniai / sudėtiniai raktai. Šis normalizavimo procesas supaprastino duomenis.

2. Antroji įprastinė forma:

Šiame normalizavimo etape visi nepagrindiniai elementai, kurie yra visiškai apibrėžti kitokiu nei pilnas raktas, pateikiami į atskirą lentelę. Paprastai šie ne raktiniai elementai priklauso tik nuo sudėtinio rakto dalies.

Atsižvelgiant į 1.1 lentelę, sudėtinis raktas, kurį sudaro tiekėjo ID ir pirkimo užsakymo Nr. yra naudojamas. Tačiau ne pagrindiniai elementai, pvz., Tiekėjo pavadinimas ir adresas, priklauso tik nuo tiekėjo, o ne į pirkimo užsakymo Nr. Taigi šie ne raktiniai duomenų elementai pateikiami atskirose lentelėse kartu su pagrindiniu duomenų elementu - tiekėjo_ ID.

Panašiai ne pagrindiniai duomenų elementai, pvz., Data, mokėjimo sąlygos ir pristatymo sąlygos, priklauso tik nuo pirkimo užsakymo Nr. taip pat pateikiami atskiroje lentelėje kartu su pirkimo užsakymo Nr. kaip pagrindinis elementas. Dabar vietoj 1.1 lentelės turime tris lenteles:

Panašiai, mes galime padalyti 1.2 lentelę atskiriant ne pagrindinius elementus, pvz., Aprašymą, matavimo vienetą ir kainą, kurie priklauso tik nuo produkto kodo lentelėje. Be to, produkto kodas, kiekis ir kiekis priklauso nuo pirkimo užsakymo Nr. Ir S. Nr. Pateikiami į atskirą lentelę.

Antroji normalioji forma (2NF) yra paruošta ir yra penkios lentelės.

3. Trečioji įprastinė forma:

Šis normalizavimo etapas leidžia pašalinti nereikalingus duomenų elementus ir lenteles, kurios yra kitų lentelių pogrupiai. Pertekliniai elementai yra tie ne raktiniai duomenų elementai, kurie yra įtraukti į daugiau nei vieną virtualių duomenų elementų lentelę.

Virtualūs duomenų elementai yra tie elementai, kurių vertė gali būti apskaičiuojama naudojant kitus elementus, kai ir kai reikalaujama. Duomenų elemento reikšmė 1.2.2 lentelėje gali būti apskaičiuojama dauginant kiekį ir kainą, taip pašalinant tokius nereikalingus duomenų elementus.

Jei duomenų bazėje yra ir kita lentelė, vadinama tiekėjų pagrindine lentele, tikėtina, kad 1.1.2 lentelė būtų tiekėjo pagrindinės lentelės pogrupis. Taigi, ši lentelė taip pat gali būti pašalinta.

Trečioji įprastinė forma (3NF) siūlo paprastą, lengvai prieinamą ir minimalų atleidimą iš darbo.

Taigi, normalizavimas gali padėti sumažinti atleidimą iš darbo ir pašalinti kitus duomenų anomalijas. Pirmiau aptartas trijų pakopų normalizavimo procesas yra tik teigiamas. Toliau bandoma kurti duomenų bazes, jei reikia, remiantis duomenų pobūdžiu.