Cuprins
- 1. Notiuni introductive 3
- 2. Prima formã normalã 7
- 3. A doua formã normalã 8
- 4. A treia formã normalã 11
- 5. Forma normalã Boyce-Codd 15
- 6. A patra formã normalã 17
- 7. A cincea formã normalã 19
- 8. Denormalizarea BD 22
- 9. Bibliografie 24
Extras din referat
1. Notiuni introductive
Tehnica numitã normalizare constã în descompunerea unui tabel relational în mai multe tabele care satisfac anumite reguli si care stocheazã aceleasi date ca si tabelul initial.
În trecut, normalizarea era utilizatã pentru proiectarea unei BD. În prezent, proiectare unei BD se realizeazã pe baza schemei conceptuale, schemei logice, etc, iar normalizarea intervine asupra tabelelor obtinute pe baza schemei logice eliminând unele probleme care pot apãrea în procesul de proiectare initial: redundanta în date, anomalii la actualizare.
Definitie: Normalizarea reprezintã procesul de descompunere a unui tabel relational în mai multe tabele care satisfac anumite reguli si care stocheazã aceleasi date ca si tabelul initial astfel încât sã fie eliminate redundanta în date si anomaliile la actualizare.
Exemplu: Fie tabelul VANZARI care se foloseste la înregistrarea tranzactiilor unui magazin ce vinde articole la comandã.
VANZARI (cod_client, nume_client, nr_telefon, cod_comanda, data, cod_articol, nume_articol, cost_articol, cantitate)
cod_
client nume_
client nr_
telefon cod_
comanda data cod_
articol nume_
articol cost_
articol cantitate
A1 Popescu 415355 C1 08.10.04 P1 camasa 400000 2
A1 Popescu 415355 C1 08.10.04 P3 tricou 200000 1
A2 Ionescu 596322 C2 09.10.04 P1 camasa 400000 3
A2 Ionescu 596322 C2 09.10.04 P3 tricou 200000 2
A2 Ionescu 596322 C2 09.10.04 P2 pantaloni 800000 1
A1 Popescu 415355 C3 10.10.04 P3 tricou 200000 3
A3 Marinescu 546229 C4 10.10.04 P1 camasa 400000 1
Tabelul de mai sus prezintã urmãtoarele deficiente:
a) redundante în date:
- informatia (P1, camasa, 400000) este specificata de 3 ori
- informatia (A1, Popescu, 415355) este specificata de 3 ori
- informatia (A2, Ionescu, 196322) este specificata de 3 ori
- s. a. m. d.
b) anomalii la actualizare:
- anomalie la insertie
Dacã magazinul achizitioneazã un nou articol (P4, pantofi, 980000) informatia nu poate fi introdusã în tabel (un nou tuplu) pentru cã s-ar introduce o valoare Null în cheia primarã (cod_comanda).
- anomalie la stergere
Dacã este anulat articolul P2 în cadrul comenzii C2 se pierde informatia referitoare la numele si costul articolului respectiv.
- anomalie la modificare
Dacã se modificã numãrul de telefon al unui client, modificarea trebuie facutã în toate tuplurile (liniile) unde apare numele acelui client.
În cele ce urmeazã se va realiza o eliminare a deficientelor constatate, dar mai întâi, sunt definite câteva notiuni.
a) Caracterul reversibil al normalizãrii
Prin caracter reversibil al normalizãrii se întelege faptul cã descompunerea se face fãrã pierdere de informatie, adicã tabelul initial poate fi reconstituit prin compunerea naturalã, pe atribute comune, a tabelelor rezultate.
Pentru un tabel R care se descompune prin proiectie în mai multe tabele: R1, R2, … Rn, conditia de descompunere fãrã pierdere de informatie presupune ca în urma operatiei de compunere naturalã a tabelelor R1, R2, … Rn sã se obtinã tabelul R.
Regula Casey-Delobel (caz particular de descompunere fãrã pierdere de informatie):
Fie un tabel R(X, Y, Z) care se descompune prin proiectie în tabelele R1(X, Y) si R2(X, Z) unde prin X notãm setul de coloane comune ale tabelelor R1 si R2, iar prin Y si Z, coloanele specifice lui R1, respectiv R2. Conditia de descompunere fãrã pierdere de informatie presupune ca tabelul R sã fie obtinut prin compunerea naturalã a tabelelor R1 si R2.
În SQL:
SELECT R1.X, R1.Y, R2.Z
FROM R1, R2
WHERE R1.X = R2.X
b) Dependenta functionalã
Definitie: Fie R un tabel relational si X si Y douã submultimi de coloane ale lui R. Spunem cã X determinã functional pe Y sau cã Y depinde functional de X dacã nu existã douã rânduri în tabelul R care sã aibã aceleasi valori pentru coloanele din X si sã aibã valori diferite pentru coloanele din Y.
Notatie uzualã: X à Y, unde: X = determinant Y = determinat
X à Y este trivialã dacã Y Í X.
Exemplu: În tabelul VANZARI existã urmãtoarele dependente functionale în care determinantul nu este cheie a tabelului:
(cod_articol) à (nume_articol, cost_articol)
(cod_comanda) à (data, cod_client, nume_client, nr_telefon)
(cod_client) à (nume_client, nr_telefon)
Obs.: Existenta dependentelor functionale pentru care determinantul nu este cheie a tabelului duce la aparitia redundantei în date si a anomaliilor la actualizare în lucrul cu BD.
Definitie: Fie R un tabel relational si fie X si Y douã submultimi de coloane ale lui R. O dependentã functionalã X à Y se numeste dependentã functionalã totalã dacã pentru orice subset de coloane Z al lui X si Z Í X, dacã Z à Y atunci Z = X. Deci nu existã nici un subset Z al lui X (cu Z ¹ X) pentru care Z à Y.
Definitie: O dependentã functionalã care nu este totalã se numeste dependentã functionalã partialã.
c) Dependenta functionalã tranzitivã
Fie R un tabel relational, X o submultime de coloane a lui R si A o coloanã a lui R.
Preview document
Conținut arhivă zip
- Normalizarea Bazelor de Date
- Normalizarea Bazelor de Date.doc
- Normalizarea Bazelor de Date.pdf
- Normalizarea Bazelor de Date.pps
- Normalizarea Bazelor de Date.ppt
- Prezentarea PDF.pdf