Sunteți pe pagina 1din 17

Normalizare

Factura
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.
● Identificarea cheilor primare.
● Stabilirea dependențelor dintre atribute ( matricea
dependențelor funcționale, graful dependențelor
funcționale, lista dependentelor functionale)
● Determinarea tabelelor în FN3, a restricțiilor și a legăturilor

2
Studiu de caz
Studiu de caz

4
Reguli de gestiune

5
6
Cheile primare sunt
# NrFactura IBANClient este cheie candidat
# CodClient pentru client, dar preferăm
# CodProdus alegerea câmpului CodClient drept
cheie primară.

Dependențele funcționale pot fi reprezentate sub formă de


listă, sub formă de graf sau sub formă de matrice a
dependențelor funcționale.

7
Lista dependențelor funcționale
NrFactura → DataFactura, DataScadenta, CodClient, CotaTVA

CodClient → DenumireClient, LocalitateClient,


IBANClient, TelefonClient, AdresaClient

CodProdus → DenumireProdus, UnitateMasura

NrFactura+CodProdus → Cantitate, Pret


8
a). Determinarea dependentelor funcționale dintre atribute –
chei candidat

9
b). Stabilitea determinanților compuși pentru atributele rămase
libere

10
b). Stabilitea determinanților compuși pentru atributele rămase
libere

11
c). Determinarea dependentelor funcționale dintre atribute –
eliminarea dependențelor funcționale reciproce

12
d). Determinarea dependentelor funcționale tranzitive (FN3)

13
Graful
dependențelor
funcționale

14
Modelul relațional al BD (FN3)

15
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
….

S-ar putea să vă placă și