Normalizare Depozit de Marfa

download Normalizare Depozit de Marfa

of 4

Transcript of Normalizare Depozit de Marfa

  • 8/16/2019 Normalizare Depozit de Marfa

    1/4

    STEICI Radu-Cristian,

    Student an III TST sgr. 2.3

    Facultatea de Electronica si Telecomunicatii

    NORMALIZARE BAZA DE DATE

    -DEPOZIT MARFA-

    In cele ce urmeaza am sa prezint o baza de date care are ca scop simularea unui Depozit de

    marfuri.

    -constrangerea de integritate a entitatii,

    -constrangerea de integritate referentiala,

    -baza de date contine cel putin 6 tabele,

    -baza de date contine cel putin un table referential.

    Ca si procedeu de normalizare am ales urmatoarele forme normale:

      1NF

      2NF

     

    3NF

    Pentru baza mea de date am in vedere urmatoarele concepte:

    Clienti, cu atributele: idClient, numeClient, prenumeClient, adresaClient, telefonClient

    Produse, cu atributele: idProdus, denProdus, marcaProdus, cantitateProdus, pretProdus

    Angajati, cu atributele: idAngajat, numeAngajat, prenumeAngajat, adresaAngajat,

    salarAngajat

    Utilaje, cu urmatorul set de atribute: idUtilaj, modelUtilaj, producatorUtilaj, stareUtilaj

    Cu precizarile: 1. Un client poate cumpara mai multe produse (asociere 1:N)

  • 8/16/2019 Normalizare Depozit de Marfa

    2/4

      2. Un angajat poate conduce mai multe utilaje si un utilaj poate fi

    condus de mai multi angajati (asociere N:M)

    Se considera relatiile rezultate, supuse procesului de normalizare:

    ClientiProduse (idClient, numeClient, prenumeClient, adresaClient, telefonClient, idProdus,denProdus, marcaProdus, cantitateProdus, pretProdus).

    Relatia nu respecta forma normala 1NF, datorita faptului ca avem grupuri repetitive. Am

    extras grupul repetitiv din relatia initiala si am creat o noua relatie care contine cheia primara a

    tabelului initial si campurile care fac parte din grupul repetitiv. Ca atare, rezulta 2 relatii:

    1NF

    Clienti (idClient, numeClient, prenumeClient, adresaClient, telefonClient)

    Ex:

    idClient numeClient prenumeClient adresaClient telefonClient

    ComandaProduse (idClient, idProdus, denProdus, marcaProdus, cantitateProdus,

    pretProdus)

    Ex:

    idClient idProdus denProdus marcaProdus cantitateProdus pretProdus

    Mai departe relatia ComandaProduse nu respecta forma normala 2NF, datorita

    dependentelor partiale, prin faptul ca denProdus, marcaProdus, cantitateProdus, pretProdus,

    determina doar idProdus, nu si idClient. Prin urmare, rezulta alte 2 relatii:

    2NF

    Produse (idProdus, denProdus, marcaProdus, cantitateProdus, pretProdus)

    Ex:

    idProdus denProdus marcaProdus cantitateProdus pretProdus

    ProduseClienti  (idClient, idProdus)

    Ex:

    idClient idProdus

  • 8/16/2019 Normalizare Depozit de Marfa

    3/4

     

    AngajatiUtilaje (idAngajat, numeAngajat, prenumeAngajat, adresaAngajat, salarAngajat,

    idUtilaj, modelUtilaj, producatorUtilaj, stareUtilaj).

    Ca si in cazul precedent, noua relatie AngajatiUtilaje nu respecta cele 3 forme normale: 1NF,2NF, 3NF. Prin urmare, urmam procesul de normalizare.

    Relatia nu respecta forma normala 1NF, datorita faptului ca avem grupuri repetitive. Am

    extras grupul repetitiv din relatia initiala si am creat o noua relatie care contine cheia primara a

    relatiei initiale si campurile care fac parte din grupul repetitiv. Ca atare, rezulta 2 relatii:

    1NF

    Angajati (idAngajat, numeAngajat, prenumeAngajat, adresaAngajat, salarAngajat)

    Ex:

    idAngajat numeAngajat prenumeAngajat adresaAngajat salarAngajat

    OperatoriUtilaje (idAngajat, idUtilaj, modelUtilaj, producatorUtilaj, stareUtilaj)

    Ex:

    idAngajat idUtilaj modelUtilaj producatorUtilaj stareUtilaj

    Mai departe relatia OperatoriUtilaje  nu respecta forma normala 2NF, datorita

    dependentelor partiale, prin faptul ca modelUtilaj, producatorUtilaj, stareUtilaj, determina doar

    idUtilaj, nu si idAngajat. Prin urmare, rezulta alte 2 relatii:

    2NF 

    Utilaje (idUtilaj, modelUtilaj, producatorUtilaj, stareUtilaj)

    Ex:

    idUtilaj modelUtilaj producatorUtilaj stareUtilaj

    UtilajeOperatori  (idUtilaj, idAngajat)

    Ex:

    idUtilaj idAngajat

  • 8/16/2019 Normalizare Depozit de Marfa

    4/4

      Se observa ca relatia Utilaje nu respecta forma normala 3NF, datorita dependentei

    tranzitive, atributele producatorUtilaj si stareUtilaj determinand doar atributul modelUtilaj, iar

    modelUtilaj determina idUtilaj. Prin urmare, in urma aplicarii formei normale 3NF imi vor rezulta din

    nou, alte 2 relatii.

    3NF

    UtilajeModel (idUtilaj, modelUtilaj)

    Ex:

    idUtilaj modelUtilaj

    Model (modelUtilaj, producatorUtilaj, pretUtilaj)

    Ex:

    modelUtilaj producatorUtilaj pretUtilaj

    In consecinta, in urma procesului de normalizare, baza mea de date contine un numar de 7

    tabele:

    1. Clienti (idClient, numeClient, prenumeClient, adresaClient, telefonClient)

    2. Produse (idProdus, denProdus, marcaProdus, cantitateProdus, pretProdus)

    3. ProduseClienti (idClient, idProdus)

    4. Angajati (idAngajat, numeAngajat, prenumeAngajat, adresaAngajat, salarAngajat)

    5. UtilajeOperatori  (idUtilaj, idAngajat)

    6. UtilajeModel (idUtilaj, modelUtilaj)

    7. Model (modelUtilaj, producatorUtilaj, pretUtilaj)

    Istoric:

    /*

    cheiePrimara PK

    */