L2 Info : Bases de données
 
◃  Ch. 2 Interrogation des données avec SQL (DQL)  ▹
 

Jointure en algèbre relationnelle

  • Soient R1(X1, X2, ..., Xm, Y1, ..., Yn) et R2(Y1, ..., Yn, Z1, Z2, ..., Zp) deux relations avec Y1, ..., Yn des attributs communs aux deux relations
  • La jointure R1⋈R2 est une relation avec (X1, X2, ..., Xm, Y1, ..., Yn, Z1, Z2, ..., Zp) comme en-tête et dont le corps contient tous les n-uplets issues de l'union des n-uplets de R1 et de R2 ayant la même valeur sur leur projection sur Y1, ..., Yn
  • La jointure correspond à une restriction du produit cartésien :
    R1⋈R2 = σY1R1=Y1R2∧Y2R1=Y2R2∧...∧YnR1=YnR2(R1×R2)
  • Exemple :
    R
    XY
    x1y1
    x1y2
    x2y3
    S
    ZY
    z1y1
    z2y4
    z2y1
    R ⋈ S
    XYRZYS
    x1y1z1y1
    x1y1z2y1