Vous êtes sur la page 1sur 3

Algèbre Relationnelle

o U (NU, NomU, Ville)

o P (NP, NomP, Couleur,Poids)

r F (NF, NomF, Statut,Ville)

o PUF (NP,NU,NF, Quantit)

1. Donner le numéro, le nom et la ville de toutesles usines


l[NU,Nomu,v;ns(U)
ou U

2. Donner le numéro et le nom de toutesles usinesde Londres


TENU,NomU
(oviue:,Londres, (U) )

3. Donner les numéros des fournisseursqui approvisionnentI'usine numéro 1 en


produit numéro 1
nNp(oNLr:1al,rp:1(PUF)), ou
(oNu: r (oNp: r (PUF)) )
TcNr'

4. Donner le nom et la couleur desproduitslivrés par le fournisseurnuméro 1


7[Nomp,Couteu.(P
*Np:r.rpoNp=I (PUF))

5. Donner les numéros des fournisseursqui approvisionnentI'usine numéro 1 en


un produit rouge
rcNp(oNU:r(PUF) *Np:Np oCouteur=,Rous.'
(P))

6. Donner les noms des fournisseursqui approvisionnentune usine de Londres ou


de Parisen un produit rouge
7[No*p(Fx PUF * oCouleur:,Roug.,
(P) * Ovilte:/Londres/vville:/pa"r'
(U) )
La formulation donne la structure générale(3 joins, 2 sélections). Il faut en-
core exprimer les joins comme des opérationsbinaires (avec 2 relationscomme
opérandes),expliciter les attributesqui sonttestéspour égalité,et veiller, à I'aide
de projections,que les résultatsdesjoins ne contiennentpas 2 attributsde même
nom (ou bien renommer).

7. Donner les numéros des produits livrés à une usine par un forydrisseurde la
même ville que celle de l'usine _---/
lcpp(PUF*F*U)
Cetteformulationn'est pastrèsexplicite.Les suivantesexplicitentlesjoins:
( (PUF *NF:NFF) xNu=Nunville=vilie
ru1qp U)
ruNp((Uxyi11s:y1tls
F) *Nu:Nunwp=NnPUF)
æNp(ovlre=v111sp
( (PUF * U) * oy11r.vill.F(F) ) )
Notation: "o(viue:vneF(F)"
changele nom de I'attribut vilte envilteF dansla
relationF
Variante:Donner les numérosdesproduitslivrés à une usine par un fournisseur
d'une ville différente de celle de I'usine
Il suffit de remplacer "ville = ville" par "ville I ville dans les formulations
précédentes

Donnerles numérosdesproduitslivrés à une usinede Londres par un fournisseur


de Londres
(F) ,rU)
æpp(PUF* ovilte:/Lono."r,
æpp((PUF *NF:NFovile:,Londr.r,(F) ) +Nu:Nu^viite:vi1eU)
?[pp(oy11":,r-onarrr,
((PUF *Np:NpF) *Nu=NunviilæviileU) )
nyp((PUF *Np:NF oville:/Londr"r, (F)) *NU:NU oviile:/Londr*, (U))

9 . Donnerlesnumérosdesusinesqui ont aumoinsun fournisseur


qui n'estpasde
la mêmeville queI'usine - *.rd
nNu(ov1"ly1n"p((pUF
x U) x@ir.,y1n"p(F)))
bu
rcNu(nrup,Nu(PUF) - æNr,,Nu(U,Fviile=viile
F))

1 0 .Donner les numéros des fournisseursqui approvisionneni la fois les usines


numéro 1 et numéro 2
nNp(oNU: 1(PUF) ) n æNp(olqu:2(PUF))

1 1 .Donner les numérosdes usinesqui utilisent un produit disponible chez le four-


nisseurnuméro 3 (c'est-à-direun produit que livre le fournisseurnuméro 3, mais
pas nécessairementaux usinesdemandéesdans la réponse)
riNU(nNp(o'Np:3(PUF)) xyp:pp PUF)

12. Donner le numéro du produit le plus léger (ou les numérosdes produits les plus
légers,si plusieursproduits ont le poids minimum)
.i r i.
i
nNp(P)-nNp(PXpoid,>p2
Gpoias:pz(7rpoia,(F))) , '.. i
!
,,,, )i
'
), '
r
' !
Explicationsi
, ." orù "r,.{
l '^, iii}r
y r..::
ôp\
= une reiation avecun seul attribut P2, contenanttoutesles
c[poids:pz(fipoiar(P))
valeursde poids de la relation P
îNq(P Xpoidr>p2Crpotos:pz(tp"ia.(P)))les numéros des produits qui sont plus
lourds qu'au moins un autre produit (c'est à-dire les produits qui ne convien-
nentpas)
Autre formulation avec la division:
trNp,poids
(clpoias:p1
(P) Xpl <poid, æpo16,
(P))/?Ipotos(P)

Le join associechaque produit (de poids pl) avec re poids poids de chaque
produit au moins aussilourd que P1.
Le produit le plus léger (ou les produits les plus légers) sera associéainsi avec
toutesles valeursde poids de P.

13. Donner les numérosdes usinesqui ne reçoiventaucunproduit rouge d'un four-


nisseurde Londres
æNu(U) - nNu (ovine:,Londres,
(F) + PUF * ocouleur:,Roug.,
(P) )

14. Donner le numéro des fournisseursqui fournissentau moins un produit fourni


par au moins un foumisseurqui foumit au moins un produit rouge
nlqp(nryp(npF(ocouteur:,nouge,
(P) * PUF) * PUF) + PUF)

15. Donner tous les triplets (VilleF, NP,VilleU) tels qu'un fournisseurde la première
ville approvisionneune usine de la deuximeville avecun produit Np
R 15 : llvileF,Np,vilteu
( clvilte:
vn"e (F) x PUF * c[vitte,vitteu
(U) )

16. Même questionqu'en 15, mais sansles triplets où les deux villes sont identiques
ovilleuTviueF(R15)
' 17. Donner
le numéro des qui sont livrés à toutesles usinesde Londres
fduits
æNp,NU
(PUF)/æNu(#r":,r_onar"r,(U) )

18. Donner le numéro és fournisseursqui approvisionnenttoutesles usinesavecun


même produit
rcNr'(nNp,Nu,Np
(PUF)/nNu (U) )

19. Donner les numéros des usinesqui achètentau fournisseurnuméro 4 tous les
produitsqu'il fournit
æNp,Nu
(oNp:a (PUF)) /æpp(osp:a (PUF))

20. Donner le numéro des usines qui s'approvisionnentuniquement chez le four-


nisseurnuméro 3
nNU(PUF) - æNu(oNp+3(PUF))

(27 mars2005)

Vous aimerez peut-être aussi