Normalizarea bazelor de date
In proiectarea unei aplicatii de exploatare a bazei de date cel mai important este modul in care este proiectata structura bazei de date pentru ca de aceasta depinde timpul de acces la date si este cea care asigura integritatea referentiala a acestora.
Structura bazei de date este definita de structura de campuri a fiecarui tabel si de legaturile care se stabilesc intre acestea si nu trebuie sa contina dependente nedorite, deoarece acestea genereaza anomalii in exploatarea bazei de date.
Normalizarea este procesul de simplificare a unei structuri complexe de date prin divizarea ei in mai multe entitati mai simple, interconectate intre ele.
Atunci cand incercam sa normalizam un tabel, incercam sa limitam redundanta datelor in acel tabel, sa imbunatatim integritatea datelor pe care acesta le poate oferi.
Ideea care sta la baza criteriilor de proiectare a unei baze de date relationale este de dependenta a datelor. Se refera la faptul ca intre atributele unei relatii sau intre atributele din relatii diferite pot exista anumite conexiuni logice, care influenteaza proprietatile schemelor de relatie in raport cu operatiile: adaugare, stergere, actualizare.
Formele normale reprezinta criterii de ghidare a proiectantului bazei de date in ceea ce priveste alegerea schemelor de relatie, si se aplica in scopul evitarii anomaliilor de stergere, adaugare, actualizare dar si de inconsistenta a datelor atunci cand aceste operatii se realizeaza frecvent.
Normalizarea se poate realiza prin trecerea succesiva datelor prin cateva forme normale. Acestea asigura o calitate destul de buna a organizarii relationale a bazei de date.
Prima forma normala
fiecare coloana dintr-un tabel trebuie sa contina o singura valoare de un singur tip (o singura valoare in fiecare celula) si sa aiba nume unic
tabelul trebuie sa aiba un set de valori care identifica in mod unic o linie, valorile din aceasta coloana se numesc chei primare pentru tabel
nu sunt permise grupuri repetitive de date
nu trebuie sa existe doua linii identice in tabel
Valoarea unui atribut al unei entitati nu poate lua valori multiple ceea ce ar insemna utilizarea mai multor coloane de acelasi fel.
Exemplu:
IdFARMACIE |
NumeFARMACIE |
AdresaFARMACIE |
NumeContact |
ARDEALUL |
str.Victoriei nr.2 |
Torcaru Vlad |
|
MIORITA |
str.Matasei nr.3 |
Miu Catalin |
|
IRIS |
str.Pajistei nr.112 |
Stoica Razvan |
In tabel, zona marcata contine informatii identice formand astfel un grup repetitiv. Aceste coloane le vom inlatura si le plasam intr-un alt tabel, astfel ajungandu-se la prima forma normala.
IdCompanie |
NumeFARMACIE |
AdresaFARMACIE |
ARDEALUL |
str.Victoriei nr.2 |
|
IRIS |
str.Pajistei nr.112 |
IdCot |
IdNumeContact |
NumeContact |
Torcaru Vlad |
||
Miu Catalin |
||
Stoica Razvan |
Cheile primare dintr-un tabel sunt o coloana sau un set de coloane care au pe fiecare linie o valoare unica in sirul valorilor coloanei respective. Dependenta datelor este un element esential in organizarea relationala. O coloana este dependenta de cheia primara daca ea nu poate exista in tabel cand cheia primara este inlaturata.
A 2-a forma normala
Aceasta se aplica doar dupa ce prima forma a fost indeplinita.Intervine atunci cand la sfarsitul primei normalizari obtinem o cheie primara formata din mai multe coloane. Coloanele dintr-un tabel trebuie sa se bazeze pe cheia primara in totalitatea sa. Pentru a vedea modul de functionare luam in considerare urmatorul tabel.
Exemplu:
Intr-un tabel care contine calator_id, calatorie_id si calator_nume presupunem ca calator_id si calatorie_id au fost desemnate drept cheie primara compusa. Coloana calator_nume este asociata unui calator, nu unei rezervari. In consecinta, depinde de valoarea calator_id, dar nu si de valoarea calatorie_id. Daca un calator s-a inscris la mai multe calatorii, atunci calatorului ii vor fi asociate mai multe randuri inscriere, fiecare cu o coloana calator_nume.
Daca se descopera ca numele calatorului a fost gresit ortografiat, trebuiesc corectate mai multe randuri din tabel; in caz contrar, unele randuri vor avea valori incorecte in anumite coloane. Se vor evita bazele de date inconsecvente, deci structurile in care coloana depinde numai de o portiune a cheii primare sunt interzise prin aceasta regula.
A 2 a forma normala nu se aplica pentru tabelele care au o cheie primara formata de o singura coloana
A 3-a forma normala
O relatie este in forma normala trei daca sunt indeplinite primele doua iar fiecare atribut care nu este cheie depinde direct de cheie primara. A 3 a regula de normalizare cere ca toate campurile din tabel sa fie independente intre ele.
Cheia trebuie sa fie constituita dintr-o singura coloana, orice atribut care nu este cheie trebuie sa fie dependent de o cheie, un atribut nu trebuie sa fie dependent de altul care nu este cheie.Incalcarea acestei forme poate fi detectata analizand care campuri trebuie actualizate atunci cand se actualizeaza un altul.
Exemplu:
Cazarma |
Anul recrutarii |
Recrut |
Data Nasterii |
|
Machidon Sergiu | ||
|
Pavel Ionut | ||
|
Balan Alexandru |
Acest tabel nu respecta regula 3, cheia candidat a acestui tabel este cheia compusa (Cazarma, Anul recrutarii). Atributul DataNasterii depinde de cheia soldat prin intermediul atributului Recrut . Pentru a nu incalca aceasta regula, tabelul trebuie descompus in doua tabele:
Cazarma |
Anul recrutarii |
Recrut |
|
|
Machidon Sergiu |
||
|
Pavel Ionut |
||
|
Balan Alexandru |
Recrut |
Data Nasterii |
|
|
Machidon Sergiu | |||
Pavel Ionut | |||
Balan Alexandru | |||
Aceste trei forme de normalizare sunt acoperitoare desi in literatura de specialitate mai sunt descrise si altele. O baza de data se considera normalizata daca se gaseste in a 3 a forma de normalizare.
A 4-a forma normala
Un tabel este in forma 4 doar daca se afla in forma 3 si nu contine doua sau mai multe dependente multi-valoare.Prezenta a mai mult de doua dependente multi-valoare in cadrul tabelului impune descompunerea acestuia in mai multe tabele.
Aceasta forma presupune inlaturarea din tabele a datelor/atributelor care prezinta relatii multi-variate(many to many).
A 5-a forma normala
In cadrul acestei forme se reface tabelul initial dintr-o stare completa pe baza relatiilor dintre tabelele existente. Coloanele dintr-un tabel trebuie sa se bazeze pe cheia primara in totalitatea sa.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |