Documente Academic
Documente Profesional
Documente Cultură
SCOP:
❑Eliminarea anomalilor de actualizare
❑Definirea corectă a atributelor
❑Structurarea coerentă a acestora în tabele
❑Stabilirea corectă legăturilor între tabele
❑Definirea corectă a unor restricții de integritate
asociate.
Proces normalizare - etape
• Stabilirea dicționarului atributelor şi a regulilor de gestiune
(restricţiilor) ce se aplică acestora
• Eliminarea sinonimelor și a celor derivate din altele
• Stabilirea dependențelor dintre atribute – matricea
dependențelor funcționale, graful DF
• Determinarea tabelelor în FN3, a restricțiilor și a legăturilor
• Stabilirea modelului relațional
5
Normalizarea
6
DEPENDENȚA FUNCȚIONALĂ
A→B
- o valoare din atributul A determină o singură valoare din atributul B
- A poate fi cheie candidat/primara
Tabel Persoane:
A (SerieFactura, NrFactura)→CUIClient
B CUIClient→DenumireClient
C (SerieFactura, NrFactura)→CUIClient→DenumireClient 9
DEPENDENȚA MULTIVALOARE
A→→ B
CodAutor→→CodISBN
CodISBN→→CodAutor
Nume->->CNP
DataNasterii->->CNP
10
FORMELE NORMALE – FN1 (NF1)
– toate atributele atomice şi nerepetitive.
Soluție posibilă:
• Student(CNPStudent, Nume, Prenume)
• TaxaPlatita(CNPStudent, Taxa)
12
FORMELE NORMALE – FN2
– se află în forma normală unu
– toate atributele sale non cheie se află în dependenţă funcţională
completă faţă de cheia primară
Data
tranzitivă
tranzitivă
atribute există DF completă
CUIClient DenumireClient - FN2 = OK!
- Există CUIClient->DenumireClient
- Nu este în FN3!
FORMELE NORMALE – FN3
Facturi(SerieFactura, NrFactura, Data, CUIClient, DenumireClient)
- Respectă FN1
- Între cheia primară și celelalte
atribute există DF completă
- FN2 = OK!
- Nu există DF tranzitive
- FN3 = OK!
Facturi(SerieFactura, NrFactura, Data, CUIClient)
Clienti(CUIClient, DenumireClient)
Proces normalizare - etape
• Stabilirea dicționarului atributelor şi a regulilor de gestiune
(restricţiilor) ce se aplică acestora
• Eliminarea sinonimelor și a celor derivate din altele
• Stabilirea dependențelor dintre atribute – matricea
dependențelor funcționale
• Determinarea tabelelor în FN3, a restricțiilor și a legăturilor
• Stabilirea modelului relațional
16
Studiu de caz
Studiu de caz
18
Reguli de gestiune
19
20
Dependențele funcționale pot fi reprezentate și sub formă de
graf sau sub formă de matrice a dependențelor funcționale.
21
a). Determinarea dependentelor funcționale dintre atribute – chei candidat
22
b). Stabilitea determinanților compuși pentru atributele rămase libere
23
b). Stabilitea determinanților compuși pentru atributele rămase libere
24
c). Determinarea dependentelor funcționale dintre atribute – eliminarea dependențelor
funcționale reciproce
25
d). Determinarea dependentelor funcționale tranzitive (FN3)
26
Graful
dependențelor
funcționale
27
Modelul relațional al BD (FN3)
28
Modelul
relațional al BD
Restrictiile de integritate
Restrictia PK:
RI1. NrFactura este PK in tabelul Factura
RI2. CodClient este PK in tabelul CLient
….
RI5. CodClient din Factura este FK pentru tabelul Client
RI6. NrFactura din FacturaProdus este FK pentru Factura
RI7. CodProdus din FacturaProdus este FK pentru Produs
RI8. Cantitate > 0
RI9. Pret >0
RI10. DenumireClient <> NULL
….