Determinantul unei dependenţe funcţionale

Download Report

Transcript Determinantul unei dependenţe funcţionale

Dependenţe funcţionale
Definiţie
Dependenţa funcţională este 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.
Notaţie
a1  a2 (a2 depinde funcţional de a1)
Obs: se pot afla în dependenţă funcţională nu numai
atribute individuale, ci şi grupuri de atribute
Definiţie
Determinantul unei dependenţe funcţionale este un atribut care,
prin valorile sale, determină valorile celuilalt atribut (atributul aflat în
stânga săgeţii)
Exemple:
1. Elevi={CNP, Nume, Prenume, Adresa, CodClasă}
Atributul Nume depinde funcţional de atributul CNP; CNP este
determinantul dependenţei
2. Clase={CodClasa, Locaţie, NrBănci, NrTable}
Fiecare dintre atributele Locatie, NrBanci, NrTable depinde functional
de atributul CodClasa; CodClasa este determinantul dependenţei
funcţionale
3. Medici={CodCabinet, Grad, Nume, Prenume}
Atributul CodCabinet depinde de grupul de atribute Nume, Prenume,
Grad
Procesul de normalizare
Normalizarea 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
2. Verificarea îndeplinirii unor anumite proprietăţi denumite
generic forme normale
Dpdv al modelului relaţional, singura formă normală
obligatorie pentru toate relaţiile din baza de date este
FN1; pentru evitarea tuturor anomaliilor de actualizare
este necesară continuarea procesului de normalizare
până cel puţin la FN3
Prima formă normală (FN1)
Exemplu: fie baza de date a unei firme de transport auto care se ocupă cu
transportul persoanelor. Această baza de date ar putea cuprinde următoarele
entităţi: Angajaţi, Vehicule, Garaje, Clienţi , Trasee. Colectarea unor date ar putea
duce la completarea următorului tabel
Examinând celulele din coloanele TipAuto si Soferi observăm că tabela Garaje
se află în formă nenormalizată. Ca urmare, tabela trebuie trecută în FN1.
Definiţie:
O relaţie aflată în prima formă normală este o relaţie cu proprietatea că
oricare dintre celulele tabelei care o reprezintă convenţional conţine o valoare şi
numai una (nu există atribute cu valori multiple)
Aducerea unei relaţii la FN1
Fie E o entitate (ex: Garaje), a atributul său (ex: TipAuto) responsabil pentru forma
nenormalizată a tabelei T corespunzătoare entităţii (ex: tabela Garaje11)
Aducerea tabelei la FN1 necesită:
1. Eliminarea atributului a din entitatea E, respectiv a coloanei corespunzătoare din
tabela T (aici: a coloanei TipAuto din tabela Garaje11; denumim Garaje22 tabela
astfel rezultată)
2. Crearea – pornind de la atributul a – a unei noi entităţi E’ (aici: pe baza atributului
TipAuto creăm entitatea Vehicule cu cheia primară NrÎnmatr şi atributele: TipAuto,
Marca, NrLocuri, Culoare)
3. Stabilirea relaţiei dintre cele două entităţi, relaţie care este – după caz – de tip 1m sau n-m (aici: relaţia dintre entităţile Garaje şi Vehicule este de tip 1-m). Prin
urmare, cheia primară a entităţii E trebuie să fie inclusă – cu rol de cheie externă
– printre atributele entităţii E’ (aici: includem atributul CodGaraj – cu rol de cheie
primară pentru entitatea Garaje – pe post de cheie externă pentru entitatea
Vehicule)
Tabela Garaje
după prima
modificare
Tabela nou creată,
Vehicule
Relaţiile dintre noile
tabele
Într-o relaţie pot exista mai multe atribute cu valori multiple; în acest caz, aducerea
relaţiei la FN1 necesită câte un pas pentru fiecare atribut (aici: noua tabelă Garaj22
este în forma nenormalizată din cauza atributului Soferi). Prin urmare, se va proceda
pentru acest atribut cum s-a procedat pentru atributul TipAuto
Tabela
Garaj33
(aflată în
FN1)
Tabela nou creată, Soferi
Setul de relaţii rezultat după încheierea operaţiei de
aducere la FN1 a entităţii Garaje
Tabela de joncţiune, Conduc
Prin aceasta se realizează o relaţie de
tip n-m între entităţile nou create Soferi
şi Vehicule)
Sursa: Informatică – Manual pentru clasa a XII-a, Editura Corint, Mioara
Gheorghe, Monica Tătărâm, Corina Achinca, Ioana Pestriţu, 2007