TD 5
Exercice 1
Réponse Axel :
On est donc ici en 3FN. D'où :
fleuriste
- num_fleuriste -> nom_fleuriste
- num_fleuriste -> adresse_fleuriste
bouquet
- num_bouquet -> descriptif
type_fleur
- num_type_fleur -> nom_type_fleur
- num_type_fleur -> couleur
- num_type_fleur -> prix
est_compose
- num_bouquet, num_type_fleur -> quantite_type_fleur
vend
- num_fleuriste, num_bouquet -> quantite_bouquet
Corentin :
dans fleuriste :
- num_fleuriste -> nom_fleuriste
" -> adresse_fleuriste
dans bouquet :
- num_bouquet -> descriptif
dans type_fleur :
- num_type_fleur -> nom_type_fleur
" -> couleur
" -> prix
dans est_compose :
- num_bouquet, num_type_fleur -> quantite_type_fleur
dans vend :
- num_fleuriste, num_bouquet -> quantite_bouquet
Exercice 2 :
Axel :
Supposons ici que la base est déjà en 1ère forme normale
Résumons les différentes dépendances fonctionelles de la base :
A -> F, G, R
B -> T, H, U, V, L
V -> U, H
A,B -> S, T
Du coup, on peut écrire une base à partir de ces DF :
table1(A, F, R, G)
table2(B, T, H, U, V, L)
table3(V, U, H)
BASE => table4(♯A,♯B, S, T)
Mais, la base construite n'est toujours pas en 3ème forme normale ce qui nécessite de créer une nouvelle base qui est la suivante :
table1_3FN(A, F, R, G)
table2_3FN(B, T, #V, L)
table3_3FN(V, U, H)
table4_3FN(#A,#B, S)
Corentin :
Si on essaye de résumer les différentes dépendances présentes ici :
A-> F,R,G
B-> H,T,U,V,L
A,B -> S,T
V-> H,U
C'est dépendances fonctionnelles aboutissent à une première base qui serait de la forme : (la majuscule est la clef principale)
table_1 : (A, f, r, g)
table_2 : (B, h, t, u, v, l)
table_3 : (V, h, u)
table_4 : (#A, #B, s, t)
Cependant, cette base relationnelle n'est pas en 3ème forme normale. Pour ce faire, on crée la base suivante en 3ème forme normale.
table_1_fin : (A, f, r, g)
table_2_fin : (B, #v, l, t)
table_3_fin : (#A, #B, s)
table_4_fin : (V, h, u)
Exercice 3
a)
entrepot
- num_entrepot
- ville
- adresse
- surface
|
|
| quantite
|
| stocke>
|
|
produit
- num_produit
- nom
- toxicite
- volume
|
|
| <vend
|
| quantite
|
|
fournisseur
- num_fournisseur
- raison_sociale
- adresse
b)
c)
entrepot : (NUM_ENTREPOT, ville, adresse, surface)
produit : (NUM_PRODUIT, nom, toxicite, volume)
fournisseur : (NUM_FOURNISSEUR, raison_sociale, adresse)
stocke : (#NUM_ENTREPOT, #NUM_PRODUIT, quantite)
vend : (#NUM_FOURNISSEUR, #NUM_PRODUIT, quantite)
Exercice 4
b)
profession(NUM_PROFESSION, nom)
est_representee(#num_profession, #num_commune, nombre)
commune : (NUM_COMMUNE, nb_habitant, superficie, age_moyen)
collecte : (#num_commune, #num_produit, mois, quantite)
sensibilise_collecte_de : (#num_commune, #num_produit, date)
produit : (NUM_PRODUIT, nom_produit)
Exercice 5