• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 20/10/2020

Effectuez un produit cartésien

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Réfléchissons...

Vous organisez une séance de dégustation de pommes auprès de personnes qui devront noter le goût de différentes variétés. Miam !

Si je vous dis qu'il y a 3 variétés à faire goûter à 4 personnes, et que je vous demande combien de pommes vous devez prévoir, quelle opération effectuerez-vous ?

3 * 4 = 12 Il vous faudra au total 12 pommes.

Nous avons ici utilisé l'opération * : la multiplication (aussi appelée "produit").

En algèbre relationnelle, le produit (cartésien) a la même signification ! En calculant 3 * 4, vous avez imaginé chaque goûteur essayer chaque variété. Vous avez donc créé toutes les combinaisons possibles entre les variétés et les goûteurs.

Le produit cartésien

En algèbre relationnelle, le produit cartésien entre deux relations R1 et R2 est justement composé de toutes les combinaisons possibles entre les tuples de R1 et les tuples de R2.

Ainsi, si nous avons une table représentant les 3 variétés de pommes et une table représentant nos 4 goûteurs, le produit cartésien produira une table :

  • qui contiendra les colonnes de R1 ainsi que celles de R2,

  • et qui aura comme lignes l'ensemble des pommes que vous donnerez à goûter.

Le produit cartésien
Le produit cartésien

Vous voyez donc que le nombre de lignes d'un produit cartésien entre une relation de 3 tuples par une relation de 4 tuples donne justement une relation de 12 tuples !

Aller plus loin : la division

Vous ne serez pas étonné si je vous dis que la division est l'opération inverse du produit.

En effet, si j'écris a * b = c, cela est équivalent à écrire c / b = a (à condition que b ne soit pas nul).

Cependant, si j'ajoute la contrainte selon laquelle nous ne manipulons que des nombres entiers, la division de A par B A / B ne donne pas toujours un nombre entier. Par exemple, 314 / 7 donne 44.8571. Si nous ne manipulons que des entiers, la division devient une division euclidienne. Vous savez, cette opération où vous manipulez un dividende, un diviseur, un quotient et un reste.

Une belle division euclidienne
Une belle division euclidienne

La contrainte de ne manipuler que des nombres entiers introduit un reste à notre division, et ainsi314 = 44 * 7 + 6.

La transposition de ce concept en algèbre relationnelle demande un peu de gymnastique intellectuelle. Voici la définition formelle de la division :

La division d'une relation R1 par une relation R2 (sachant que R1 et R2 ont au moins un attribut commun) donne une troisième relation R3 comportant tous les attributs de R1 qui n'appartiennent pas à R2, et qui contient l'ensemble des tuples qui, assemblés à ceux de R2 , donnent toujours un tuple de R1.

Voilà ce que cela peut donner avec nos goûteurs et nos pommes, en supposant que certains goûteurs ne goûtent pas toutes les variétés de pommes :

La division

 On peut écrire ici que  Dégustation = Variété * Goûteur + Reste  .

Notations

Pour le produit entre une relation R1 et une relation R2, je vous propose la notation suivante :

R1 Produit R2

En résumé

  • Le produit cartésien entre deux relations R1 et R2 est composé de toutes les combinaisons possibles entre les lignes de R1 et les lignes de R2.

  • Le nombre de lignes est égal à la multiplication du nombre de lignes de R1 par le nombre de lignes de R2.

Exemple de certificat de réussite
Exemple de certificat de réussite