Extras din seminar
Se dă următorul dicţionar de atribute (câmpuri):
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 următoarele etape:
A. Stabilirea dictionarului de atribute – în cazul de faţă este specificat în enunţ.
Dacă nu s-ar specifica, ar trebui să realizăm acest dicţionar de atribute parcurgând toate documentele necesare aplicaţiei de rezolvat, reţinându-se toate informaţiile de pe acele documente care în mod normal se completează de mână.
B. Specificarea regulilor de gestiune - diversele restricţii impuse datelor
- Un client poate avea una sau mai multe comenzi, o comanda aparţine unui singur client;
- O comanda conţine unul sau mai multe produse, un produs poate fi pe una sau mai multe comenzi;
- Un produs poate avea mai multe preţuri, acestea fiind negociabile cu clientul;
- Cantitatea livrată pe o comandă este negociabilă cu clientul, dar aceeaşi cantitate se poate găsi pe mai multe comenzi.
C. Realizarea matricei dependenţelor funcţionale;
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 legătura.
Rezultă următoarele tabele – ne uităm la cifra 1 pe linie, adaugând şi câmpul din capătul liniei:
Client = (CodClient, DenumireClient, OraşClient)
Comandă = (NrComandă, DataComandă, DataLivrare, CodClient)
Produs = (CodProdus, DenumireProdus, UnitateMăsura, Categorie)
Conţinut–Comanda = (CodProdus, NrComandă, Cantitate, Preţ)
Specificaţii privind formele normale:
FN1 - O relaţie este în forma normală 1 (1NF), dacă şi numai dacă toate atributele ei conţin numai valori atomice.
FN2 - O relaţie este în forma normală 2 (2NF) dacă şi numai dacă este în 1NF şi orice atribut noncheie este complet dependent funcţional de cheia primară.
FN3 - O relaţie este în forma normală 3 ( 3NF ) dacă şi numai dacă este în 2NF şi fiecare atribut noncheie nu este dependent tranzitiv pe cheia primară.
Aplicaţia 2
Se dă următorul dicţionar de atribute pentru realizarea unui sistem informatic privind gestiunea unei librării:
ISBN, TitluCarte, AnApariţie, CodAutor, DenumireAutor, CodLibrarie, DenumireLibrarie, AdresaLibrarie, NrContract, DataContract, NrExemplareContractate
Reguli de gestiune:
- Un autor poate scrie mai multe cărţi, o carte este scrisă de mai mulţi autori;
- Un contract este semnat cu o singură librărie, cu o librărie pot fi semnate mai multe contracte;
- Un contract poate cuprinde mai multe cărţi, 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, adăugându-se eventuale restricţii şi să se stabileasacă relaţiile între tabele.
Rezolvare:
Cerinţa 1:
A. Stabilirea dicţionarului de atribute – în cazul de faţă se dă în enunţ.
B. Specificarea regulilor de gestiune - diversele restricţii impuse datelor – în cazul de faţă sunt date în enunţ.
C. Realizarea matricei dependenţelor funcţionale:
Preview document
Conținut arhivă zip
- Normalizarea.doc