Normalizarea bazelor de date

Page 1

NORMALIZAREA BAZELOR DE DATE Definiţie. Se numeste dependenţă funcţională o restricţie care apare între atributele unei entităţi la nivelul semanticii (semnificaţiei) acestora: fie a1 şi a2 atributele unei entităţi E; spunem că atributul a2 este dependent funcţional de atributul a1 dacă fiecărei valori a atributului a1 îi corespunde o valoare şi numai una a atributului a2. Obs. Se pot afla în dependenţă funcţională nu numai atribute individuale, ci şi grupuri de atribute. Notăm dependenţa funcţională a atributelor a1 şi a2 prin a1  a2 . Definiţie. Se numeşte determinantul unei dependenţe funcţionale atributul care, prin valorile sale, determină valorile celuilalt atribut. Exemple: 1) Fie entitatea Elevi (CNP, Nume, Prenume, Adresa, codClasă); atributul Nume depinde

funcţional de atributul CNP (atributul CNP este determinantul dependenţei). 2) Fie entitatea Clasa (CodClasa, Locaţie, NrBănci, NrTable); fiecare dintre atributele

locaţie, NrBănci, NrTable depinde funcţional de atributul CodClasă (care este deci determinantul dependenţei funcţionale). 3) Fie entitatea Medici (CodCabinet, Grad, Nume, Prenume); atributul CodCabinet depinde

de grupul de attribute (Nume, Prenume, Grad).

Atenţie ! Examinarea dependenţelor funcţionale dintre atributele unei entităţi permite să determinăm care dintre cheile candidate trebuie să fie aleasă drept cheie primară: este aleasă cheia candidat care apare ca determinant în toate dependenţele funcţionale identificate la nivelul entităţii respective (a se vedea exemplul de mai sus).

Normalizarea unei BD este un proces care se desfăşoară în mai mulţi paşi. Fiecare pas (cu excepţia aducerii bazei de date la FN1) necesită: 1. identificarea dependenţelor funcţionale;

1


2. verificarea îndeplinirii unor anumite proprietăţi denumite generic forme normale.

D.p.d.v. al modelului relaţional, singura formă normal obligatory pentru toate relaţiile din baza de date este FN1; dacă dorim să evităm toate anomaliile de actualizare este necesar să continuăm procesul de normalizare cel puţin până la FN3.

Prima formă normală (FN1) Definiţie. O relaţie se află în prima formă normală (FN1) dacă are proprietatea că oricare din celulele tabelei conţine o valoare şi numai una (nu există celule cu valori multiple).

A doua formă normal (FN2) Definiţie. Fie a1 şi a2 două (mulţimi de) atribute ale entităţii E; spunem că a2 este complet dependent funcţional de a1 dacă şi numai dacă a2 este dependent funcţional de a1 dar nu este dependent funcţional de nicio submulţime proprie a lui a1. Dacă dimpotrivă, putem elimina un atribut din mulţimea de atribute a1 iar a2 continuă să depindă funcţional de a1 atunci spunem ca a2 este doar parţial dependent funcţional de a1 .

Definiţie. O relaţie este în a doua formă normală (FN2) dacă şi numai dacă: (1) este deja în FN1; (2) oricare dintre atributele sale care nu fac parte din cheia primară este complet dependent

funcţional de cheia primară.

A treia formă normal (FN3) Atenţie ! FN3 se bazează pe conceptul de dependenţe funcţionale tranzitive. Definiţie. Fie a1, a2 şi a3 trei atribute ale unei entităţi E cu proprietatea că: (1) a1  a2 şi a2  a3 (2) a1 nu depinde funcţional nici de a2, nici de a3

2


Atunci a1  a3 (a3 depinde funcţional de a1 via a2).

Definiţie. O relaţie este în a treia formă normală (FN3) dacă şi numai dacă: (1) este deja în FN2; (2) niciunul dintre atributele sale care nu fac parte din cheia primară nu este, prin

tranzitivitate, dependent funcţional de cheia primară.

3


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.