Sunteți pe pagina 1din 4

PROIECTAREA MODELULUI RELAIONAL PRIN NORMALIZARE

Aplicaia 1
Se d urmtorul dicionar de atribute (cmpuri):

CodClient, DenumireClient, OrasClient, NrComanda, DataComanda, DataLivrare, CodProdus,


DenumireProdus, UnitateMasura, Categorie, Cantitate, Pret
Se cere s se aduc tabelele n 3NF (forma normala 3) prin normalizare;
Rezolvare:
Pentru a aduce tabelele n 3NF prin normalizare se parcurg urmtoarele etape:
A. Stabilirea dictionarului de atribute n cazul de fa este specificat n enun.
Dac nu s-ar specifica, ar trebui s realizm acest dicionar de atribute parcurgnd toate documentele necesare
aplicaiei de rezolvat, reinndu-se toate informaiile de pe acele documente care n mod normal se completeaz
de mn.
B. Specificarea regulilor de gestiune - diversele restricii impuse datelor

Un client poate avea una sau mai multe comenzi, o comanda aparine unui singur client;

O comanda conine unul sau mai multe produse, un produs poate fi pe una sau mai multe comenzi;

Un produs poate avea mai multe preuri, acestea fiind negociabile cu clientul;

Cantitatea livrat pe o comand este negociabil cu clientul, dar aceeai cantitate se poate gsi pe mai multe
comenzi.

C. Realizarea matricei dependenelor funcionale;

D. Stabilirea cheilor primare: CodClient, NrComanda, CodProdus


E. Cu fiecare cheie primar i atributele determinate direct de aceasta se va crea o tabel. Se vor specifica i
cheile externe sau de legtura.
Rezult urmtoarele tabele ne uitm la cifra 1 pe linie, adaugnd i cmpul din captul liniei:
Client = (CodClient, DenumireClient, OraClient)
Comand = (NrComand, DataComand, DataLivrare, CodClient)
Produs = (CodProdus, DenumireProdus, UnitateMsura, Categorie)
ConinutComanda = (CodProdus, NrComand, Cantitate, Pre)
Specificaii privind formele normale:
FN1 - O relaie este n forma normal 1 (1NF), dac i numai dac toate atributele ei conin numai valori
atomice.
FN2 - O relaie este n forma normal 2 (2NF) dac i numai dac este n 1NF i orice atribut noncheie este
complet dependent funcional de cheia primar.
FN3 - O relaie este n forma normal 3 ( 3NF ) dac i numai dac este n 2NF i fiecare atribut noncheie
nu este dependent tranzitiv pe cheia primar.

Aplicaia 2
Se d urmtorul dicionar de atribute pentru realizarea unui sistem informatic privind gestiunea unei librrii:
ISBN, TitluCarte, AnApariie, CodAutor, DenumireAutor, CodLibrarie, DenumireLibrarie, AdresaLibrarie,
NrContract, DataContract, NrExemplareContractate
Reguli de gestiune:

Un autor poate scrie mai multe cri, o carte este scris de mai muli autori;

Un contract este semnat cu o singur librrie, cu o librrie pot fi semnate mai multe contracte;

Un contract poate cuprinde mai multe cri, o carte poate face obiectul mai multor contracte.

Se cere:
1. S se aduc tabelele n forma normal 3 (FN3) prin normalizare;
2. S se realizeze modelul conceptual al datelor MCD, modelul logic de date MLD;
3. S se realizeze tabelele n Access, adugndu-se eventuale restricii i s se stabileasac relaiile ntre tabele.
Rezolvare:
Cerina 1:
A. Stabilirea dicionarului de atribute n cazul de fa se d n enun.
B. Specificarea regulilor de gestiune - diversele restricii impuse datelor n cazul de fa sunt date n enun.
C. Realizarea matricei dependenelor funcionale:

D. Stabilirea cheilor primare:ISBN, CodAutor, CodLibrarie, NrContract


E. Cu fiecare cheiei primar i atributele determinate direct de aceasta se va crea o tabel. Se vor specifica i
cheile externe sau de legtura.
Rezult urmtoarele tabele (numele acesteia este stabilit de noi) ne uitm la cifra 1 pe linie, adaugnd i cmpul
din captul liniei:
Carte = (ISBN, TitluCarte)
Autor = (CodAutor, DenumireAutor)
Librarie = (CodLibrarie, DenumireLibrarie, AdresaLibrarie)
Contract = (NrContract, DataContract, CodLibrarie)
Carte-Autor = (ISBN, CodAutor, AnApariie)
Contract-Carte = (NrContract, ISBN, NrExemplare)

Cerina 2:
Modelul conceptual al datelor (MCD) se prezint astfel:

Modelul logic de date (MLD) se prezint astfel:


Carte = (ISBN, TitluCarte)
Autor = (CodAutor, DenumireAutor)
Librarie = (CodLibrarie, DenumireLibrarie, AdresaLibrarie)
Contract = (NrContract, DataContract, CodLibrarie)
Carte-Autor = (ISBN, CodAutor, AnApariie)
Contract-Carte = (NrContract, ISBN, NrExemplare)
Reguli de trecere de la MCD la MLD sintez pentru mai multe explicaii vezi cursul:
O relaie existent ntre 2 entiti dac este de tipul 1:N sau N:1 pe cardinalitatea maxim, atunci se impune ca
Primary Key din partea N s treac n partea 1, aceasta devenind cheie externa sau de legtura.
Este cazul relaiei dintre entitatea LIBRARIE i entitatea CONTRACT. Dac ne uitm pe modelul logic rezultat
observm c n tabela CONTRACT apare i cmpul CodLibrarie, cmp devenit cheie extern sau de legtur
O relaie ntre 2 entiti de tipul N:N pe cardinalitatea maxim nu se accept. Aadar, ntr-o astfel de relaie regula de
trecere impune crearea unei noi entiti (tabele) ce va avea ca structur att cheile primare din ambele entiti
participante la relaie, ct i atributele (cmpurile) existente n asociere.
Este cazul relaiilor dintre entitatea CARTE i AUTOR, respectiv, CARTE i CONTRACT. Drept urmare, au luat
natere dou noi tabele: CARTE-AUTOR i CONTRACT-CARTE.
Dac ne uitm la structura tabelei CARTE-AUTOR, sesizm c este format din cheile primare ale celor dou tabele
din relaie (ISBN, CodAutor) + atributul din asociere (AnAparitie). Cheia primar n tabela nou creat este format
din cele dou cmpuri chei primare care au fost transferate (ISBN, CodAutor).

Cerina 3. Tem - Presupune scrierea modelului logic de date n programul ACCESS, adic se creaz efectiv
tabelele (cu Design View) i se stabilesc relaiile dintre acestea (cu RelationShips).

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