Sunteți pe pagina 1din 7

Baze de date 14.12.

2020
Curs 11 Saptamana 12

PROBLEMA1:

R(id_client, tip_client, den_client, nr_contract1, IBAN1, data_contract1, clauze1, tip_cont1,


sold_IBAN1, nr_contract2, IBAN2, data_contract2, clauze2, tip_cont2, sold_IBAN2, CUI_bancă,
den_bancă)

 Se diminueaza atributele
nr_contract1+nr_contract2=nr_contract

IBAN1+ IBAN2=IBAN

data_contract1+ data_contract2= data_contract

clauze1+ clauze2= clauze

tip_cont1+ tip_cont2= tip_cont

sold_IBAN1+ sold_IBAN2= sold_IBAN

R(id_client, tip_client, den_client, nr_contract, IBAN, data_contract, clauze, tip_cont, sold_IBAN,


CUI_banca, den_banca)

 Nu exista atribute atomice in aceasta relatie


 Identificam toate depedentele functionale:
1) id_client,IBAN→ tip_client, den_client, nr_contract, data_contract, clauze, tip_cont, sold_IBAN,
CUI_banca, den_banca
2) id_client→tip_client, den_client(DF partiala)
3) nr_contract→clauze, data_contract, id_client
4) IBAN→sold_IBAN, tip_cont, CUI_banca, den_banca(DF partiala)
5) CUI_banca→den_banca

1FN→ R(id_client, tip_client, den_client, nr_contract, IBAN, data_contract, clauze, tip_cont,


sold_IBAN, CUI_banca, den_banca)

2FN→(Client)R1(id_client , tip_client, den_client)

→(Cont)R2(IBAN, sold_IBAN, tip_cont, CUI_banca, den_banca)

→R3(id_client, nr_contract, IBAN, data_contract, clauze)

 Identificam toate depedentele functionale tranzitive

X→Z→Y adica:

id_client, IBAN→nr_contract→data_contract, clauze

IBAN→CUI_banca→den_banca

1
3FN→R1(id_client, tip_client, den_client)

→R2(CUI_banca, den_banca)

→R3(IBAN, tip_cont, sold_IBAN, CUI_banca)

→R4(nr_contract, data_contract, clauze)

→R5(id_client, IBAN, nr_contract)

PROBLEMA 2:

R (id_client, tip_client, user, parola, email, cod_adresă, județ, localitate, stradă, denumire_client)

(fiecare client are o singură adresă stabilă – sediul firmei)

1) id_client→tip_client, user, parola, email, cod_adresă, județ, localitate, stradă, denumire_client


2) user→email, parola
3) cod_adresa→judet, localitate, strada

1FN→ R (id_client, tip_client, user, parola, email, cod_adresă, județ, localitate, stradă, denumire_client)

2FN→ R (id_client, tip_client, user, parola, email, cod_adresă, județ, localitate, stradă, denumire_client)

 Dependenta functioanala tranzitiva:

X→Z→Y, adica:

id_client→user→email, parola

id_client→cod_adresa→judet, localitate, strada

3FN→R1(user, parola, email)

→R2(cod_adresa, judet, localitate, strada)

→R3 (id_client, denumire_client, tip_client, user, cod_adresă)

2
Seminar 12 Saptamana 12

PROBLEMA 1:

R (nume_student, pren_student, matricolă, den_facultate, cod_facultate, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă)

Ø  Identificam toate dependetele functionale

1)      matricola→ nume_student, pren_student, den_facultate, cod_facultate, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă

2)      cod_adresa→judet, localitate, strada

3)      cod_facultate→den_facultate

1FN→ R (matricolă, nume_student, pren_student, den_facultate, cod_facultate, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă)

2FN→ R (matricolă, nume_student, pren_student, den_facultate, cod_facultate, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă)

Ø  Identificam toate depedentele functionale tranzitive

X→Z→Y, adica:

matricola→cod_facultate→den_facultate

matricola→cod_adresa→judet, localitate, strada

3FN→Facultate(cod_facultate, den_facultate)

→Adresa(cod_adresa, judet, localitate, strada)

→Student (matricolă, nume_student, pren_student, cod_facultate, an_studiu, medie_anuală,


formă_finanțare, cod_adresă)

PROBLEMA 2:

R (nume_stud, pren_stud, cnp, den_specializare, cod_specializare, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă)

3
Ø  Identificam toate depedentele functionale

1)      cnp, cod_specializare→ nume_stud, pren_stud, den_specializare, cod_specializare, an_studiu,


medie_anuală, formă_finanțare, judet, localitate, stradă

2)      cod_specializare→den_specializare(DF partiala)

3)      cod_adresa→judet, localitate, strada

4)      cnp→nume_stud, pren_student, cod_adresa, judet, localitate, strada(DF partiala)

1FN→R (nume_stud, pren_stud, cnp, den_specializare, cod_specializare, an_studiu, medie_anuală,


formă_finanțare, judet, localitate, cod_adresă, stradă)

Ø  Identificam dependentele functionale partiale

2FN→(Student)R1(cnp, nume_stud, pren_stud, cod_adresa, judet, localittae, strada )

→(Specializare)R2(cod_specializare, den_specializare)

→R3(cnp, cod_specializare, an_studiu, medie_anuala, forma_finantare)

Ø  Identificam dependentele functionale tranzitive

X→Z→Y, adica:

cnp →cod_adresa→judet, localitate, strada

3 FN→(Student)R1(cnp, nume_stud, pren_stud, cod_adresa)

→(Specializare)R2(cod_specializare, den_specializare) {nu exista DF tranzitiva}

→R3(cnp, cod_specializare, an_studiu, medie_anuala, forma_finantare) {exista DF tranzitiva}

→Adresa(cod_adresa, judet, localitate, strada)

Baze de date 21.12.2020


Curs 13 Saptamana 13

4
PROBLEMA 1:

R (cnp, nume, adresă, email, telefon, ISBN, titlu_carte, editura, status_carte, data_rezervare,
data_returnare, id_cont, parolă, status_cont)

Cheie primara: cnp, ISBN, data_rezervare

 Identificam toate depedentele functionale


1) cnp, ISBN, data_rezervare → nume, adresă, email, telefon, titlu_carte, editura, status_carte,
data_returnare, id_cont, parolă, status_cont
2) ISBN → titlu_carte, editura, status_carte
3) cnp → nume, adresa, id_cont, email, telefon
4) id_cont → parola, status_cont

1FN → R (cnp, nume, adresă, email, telefon, ISBN, titlu_carte, editura, status_carte, data_rezervare,
data_returnare, id_cont, parolă, status_cont)

 Identificam dependentele functionale partiale

2FN →R(cnp, ISBN, data_rezervare, data_returnare)

→Carti(ISBN, titlu_carte, editura, status_carte)

→Persoane(cnp, nume, adresa, id_cont, email, telefon, status_cont, parola)

 Identificam dependentele functionale tranzitive

X→Z→Y, adica:

cnp→id_cont→parola, status_cont

3FN → Client (cnp, nume, adresa, id_cont, email, telefon)

→Carte (ISBN, titlu_carte, editura, status_carte)

→R (cnp, ISBN, data_rezervare, data_returnare)

→Cont (id_cont, parola, status_cont)

PROBLEMA 2:

5
R(CUI, denFirmă, sediuSocial, marcăSalariat, nume, prenume, vechime, codDepartament,
NumeDepartament, salariuTarifar, SporStabilitate, ProcentSporStabilitate, SporNoapte,
ProcentSporNoapte, SporFidelitate, ProcentSporFidelitate, SumaCotizațieSindicat)

Se diminueaza atributele:

SporStabilitate + SporNoapte+ SporFidelitate = denumire_spor

ProcentSporStabilitate + ProcentSporNoapte + ProcentSporFidelitate = procent_spor

Cheia primara: marcăSalariat, denumire_spor

R(CUI, denFirmă, sediuSocial, marcăSalariat, nume, prenume, vechime, codDepartament,


NumeDepartament, salariuTarifar, denumire_spor, procent_spor, SumaCotizațieSindicat)

 Identificam toate depedentele functionale


1) marcăSalariat, denumire_spor → denFirmă, sediuSocial, marcăSalariat, nume, prenume,
vechime, codDepartament, NumeDepartament, salariuTarifar, denumire_spor, procent_spor,
SumaCotizațieSindicat
2) marcăSalariat → nume, prenume, vechime, codDepartament, NumeDepartament, salariuTarifar
3) denumire_spor → procent_spor

1FN → R(CUI, denFirmă, sediuSocial, marcăSalariat, nume, prenume, vechime, codDepartament,


NumeDepartament, salariuTarifar, denumire_spor, procent_spor, SumaCotizațieSindicat)

 Identificam dependentele functionale partiale

2FN → Angajat (marcăSalariat, CUI, denFirmă, sediuSocial, nume, prenume, vechime,


codDepartament, NumeDepartament, salariuTarifar, SumaCotizațieSindicat)

→Spor(denumire_spor, procent_spor)

→R(marcăSalariat, denumire_spor)

 Identificam dependentele functionale tranzitive

X→Z→Y, adica:

marcăSalariat → codDepartament → NumeDepartament

3FN→Firma(CUI, denFirmă, sediuSocial)

R(marcăSalariat, denumire_spor)

Angajati(marcăSalariat, nume, prenume, vechime, salariuTarifar, SumaCotizațieSindicat)

Departament(codDepartament, NumeDepartament)

6
Spor(denumire_spor, procent_spor)

OBS: daca angajatii beneficiaza de procente diferite la acelasi spor, atunci depedenta functioanala “spor”
nu mai exista

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