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