Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » scoala » informatica » baze de date
Normalizarea bazelor de date

Normalizarea bazelor de date


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

Buzau

Machidon Sergiu

Ploiesti

Pavel Ionut

Alba Iulia

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

 

Buzau

Machidon Sergiu

Ploiesti

Pavel Ionut

Alba Iulia

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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.