Leçon 2 - La Jointure en Algèbre Relationnelle
Leçon 2 - La Jointure en Algèbre Relationnelle
Leçon 2 - La Jointure en Algèbre Relationnelle
RELATIONNELLE
Table des matières
2
JOINTURE DE DEUX TABLES I
Définition
• Cet opérateur porte sur 2 relations (2 tables) qui doivent avoir un attribut commun.
• La condition de jointure peut porter sur l'égalité d'un ou de plusieurs attributs définis dans le même
domaine (mais n'ayant pas forcément le même nom).
• Les n-uplets de la relation résultat sont formés par la concaténation des n-uplets des relations
d'origine qui vérifient la condition de jointure.
SYNTAXE Définition
EXEMPLES
Soient les tables suivantes :
PRODUIT(refprod, libprod, prixprod,#typrodid)
TYPE_PRODUIT(typrodid,libtyprod)
Écrire une requête qui affiche chaque produit avec son type de produit
R=JOINTURE(PRODUIT, TYPE_PRODUIT, PRODUIT.typrodid=TYPE_PRODUIT.typrodid)
Soient les tables suivantes :
PRODUIT(refprod, libprod, prixprod,#typrodid)
TYPE_PRODUIT(typrodid,libtyprod)
Écrire une requête qui affiche la référence, le nom et le libellé du type de chaque produit.
R1=JOINTURE(PRODUIT, TYPE_PRODUIT, PRODUIT.typrodid=TYPE_PRODUIT.typrodid)
R2=PROJECTION.R1(refprod, libprod, libtyprod)
Soient les tables suivantes :
PRODUIT(refprod, libprod, prixprod,#typrodid)
TYPE_PRODUIT(typrodid,libtyprod)
Écrire une requête qui affiche la référence, le nom et le prix des produits laitiers.
R1=JOINTURE(PRODUIT, TYPE_PRODUIT, PRODUIT.typrodid=TYPE_PRODUIT.typrodid)
R2=SELECTION.R1(libtyprod='PRODUIT LAITIER')
R3=PROJECTION.R1(refprod, libprod, prixprod)
3
II
OK
APPLICATION 1
Exercice 1
Soient les tables suivantes :
COMMANDE(refcom, libellecom, datecom,#matcli)
CLIENT(matcli, nomcli, pnomcli)
Écrire une requête qui affiche la liste des commandes passées par le client 'CL001'
R1= (COMMANDE, ,
COMMANDE. = . )
R2= . ( =' ')
R3= . (refcom, libellecom)
Exercice 2
Soient les tables suivantes :
COMMANDE(refcom, libellecom, datecom,#matcli)
CLIENT(matcli, nomcli, pnomcli)
Écrire une requête qui affiche la liste des clients qui ont passé des commandes le 30/05/2023
R1= (COMMANDE, ,
COMMANDE. = . )
R2= . ( =' ')
R3= . ( , , )
4
JOINTURE DE PLUSIEURS TABLES III
Définition
SYNTAXE Définition
EXEMPLES
Soient les tables suivantes :
PRODUIT(refprod, libprod, prixprod,#typrodid)
COMMANDE(refcom, libellecom, datecom)
LIGNE_COMMANDE(#refcom, #refprod, qtecom)
Écrire une requête qui affiche la liste des produits commandés le 13/06/2023'
R1=JOINTURE(PRODUIT, LIGNE_COMMANDE, PRODUIT.refprod=LIGNE_COMMANDE.refprod)
R2=JOINTURE(R1,COMMANDE, R1.refcom=COMMANDE.refcom)
R3=SELECTION.R2(datecom='13/06/2023')
R3=PROJECTION.R3(refprod, libprod)
Soient les tables suivantes :
PRODUIT(refprod, libprod, prixprod,#typrodid)
COMMANDE(refcom, libellecom, datecom)
LIGNE_COMMANDE(#refcom, #refprod, qtecom)
Écrire une requête qui affiche la liste des commandes de produits référencés 'PROD002'
R1=JOINTURE(PRODUIT, LIGNE_COMMANDE, PRODUIT.refprod=LIGNE_COMMANDE.refprod)
R2=JOINTURE(R1,COMMANDE, R1.refcom=COMMANDE.refcom)
R3=SELECTION.R2(refprod='PROD002')
R3=PROJECTION.R3(refcom, libellecom)
5
Exercice 1
Soient les tables suivantes :
COMMANDE(refcom, libellecom, datecom,#matcli)
CLIENT(matcli, nomcli, pnomcli)
PRODUIT(refprod, libprod, prixprod,#typrodid)
TYPE_PRODUIT(typrodid,libtyprod)
LIGNE_COMMANDE(#refcom, #refprod, qtecom)
Écrire une requête qui affiche la liste des produits commandés par le client KONAN CHARLES le
25/05/2023
R1= (COMMANDE, ,
COMMANDE. = . )
R2= ( , , COMMANDE.refcom= . )
R3= ( , , .refprod= . )
R4= . (nomcli=' ' ET =' ')
R5= . (refprod, libprod, prixprod)