Comprendre et résoudre une projection qui retourne tout

mars 20, 2026

comment Aucun commentaire

Par Marisa Madonia

Vous avez un ensemble de couples, comme {(Paul, Marie), (Luc, Sophie), (Paul, Clara)}. La première projection, c’est tout simplement la liste de tous les prénoms qui apparaissent en première position dans ces couples. Ici, ce serait {Paul, Luc}. C’est une opération fondamentale en mathématiques, utilisée partout, de la gestion de bases de données à la théorie des ensembles.

💡 L’essentiel en 30 secondes

  • Définition : La première projection d’un ensemble de couples C est l’ensemble de tous les premiers éléments de ces couples.
  • Notation : A = { x | ∃ y (x, y) ∈ C }
  • À quoi ça sert ? À extraire une dimension d’information (ex: les clients d’une commande, les abonnés d’un service).
  • Point clé : Elle capture tous les éléments, sans exception, qui jouent le rôle de première coordonnée.

Concrètement, si vous imaginez un tableau Excel avec deux colonnes, la première projection, c’est la liste de toutes les valeurs uniques de la première colonne. Simple, non ? Pourtant, cette simplicité cache une puissance folle pour organiser et analyser des données.

Déballons le concept : c’est quoi, exactement ?

Plongeons un peu plus dans le formalisme, sans chichi. On part d’un ensemble C. Cet ensemble contient des couples ordonnés (x, y). « Ordonnés » signifie que l’ordre compte : (Paul, Marie) et (Marie, Paul) sont deux couples différents.

La première projection de C, souvent notée A, se définit ainsi :

A = { x | ∃ y (x, y) ∈ C }

« L’ensemble A est formé de tous les éléments x pour lesquels il existe (au moins) un y tel que le couple (x, y) appartienne à C. »

Le symbole signifie « il existe ». Donc, on prend tous les x qui ont le moindre partenaire y dans un couple de C. Peu importe que x soit associé à un seul y ou à dix.

Prenons un exemple vivant :

Ensemble C (Couples) Première projection A Explication
{(🔴, ⚫), (🔵, ⚪), (🟢, 🔶), (🔴, 🔷)} {🔴, 🔵, 🟢} 🔴 apparaît deux fois en première position, mais dans l’ensemble résultat, on ne le liste qu’une fois.
{(Paris, France), (Lyon, France), (Berlin, Allemagne)} {Paris, Lyon, Berlin} On extrait toutes les villes, sans se soucier des pays qui se répètent.
{(Client_A, Commande_125), (Client_B, Commande_126), (Client_A, Commande_127)} {Client_A, Client_B} Client_A a passé deux commandes, mais n’apparaît qu’une fois dans la projection.

Et la seconde projection, alors ?

Logiquement, si on peut projeter sur la première composante, on peut le faire sur la seconde. C’est le parfait miroir de la première projection.

La seconde projection de C, notée B, se définit par :

B = { y | ∃ x (x, y) ∈ C }

« L’ensemble B est formé de tous les éléments y pour lesquels il existe (au moins) un x tel que le couple (x, y) appartienne à C. »

Reprenons notre exemple des villes et pays : la seconde projection donnerait {France, Allemagne}. On a extrait tous les pays mentionnés.

⚠️ Une nuance importante

Dans la théorie des ensembles pure, les éléments d’un couple (x, y) peuvent provenir d’un « univers » plus large. Les mathématiciens précisent parfois que x et y appartiennent à un ensemble support E, qui est l’ensemble de tous les éléments qui apparaissent quelque part dans C. Formellement, on écrit :
A = { x ∈ E | ∃ y ∈ E (x, y) ∈ C }
Cela garantit que les projections sont bien des ensembles, une propriété assurée par ce qu’on appelle le schéma de remplacement en théorie des ensembles. Pour nous, dans 99% des cas pratiques, c’est transparent.

À quoi ça sert dans la vraie vie ? (Spoiler : à beaucoup de choses)

Si vous pensez que c’est un concept abstrait réservé aux mathématiciens, détrompez-vous. C’est l’outil de base derrière des fonctionnalités que vous utilisez tous les jours.

  • Bases de données (SQL) : La commande SELECT DISTINCT colonne1 FROM table est exactement le calcul de la première projection de l’ensemble des lignes de votre table. C’est fondamental pour éliminer les doublons et obtenir une liste unique.
  • Théorie des relations (et donc des BDD encore) : Une relation est justement un ensemble de couples (ou de n-uplets). Son domaine (les attributs sources) et son codomaine (les attributs cibles) sont définis via des projections. C’est la colonne vertébrale du modèle relationnel.
  • Analyse de graphes : Un réseau social peut être vu comme un ensemble de couples (Utilisateur_A, Utilisateur_B) pour « A suit B ». La première projection de cet ensemble vous donne… la liste de tous les utilisateurs qui suivent quelqu’un. La seconde projection vous donne tous les utilisateurs qui sont suivis par quelqu’un. Essentiel pour calculer l’influence ou la popularité.
  • Programmation fonctionnelle : Dans des langages comme Haskell, les fonctions map et les opérations sur les paires utilisent constamment ce principe pour transformer des données.

Le lien crucial avec les fonctions

C’est peut-être l’application la plus élégante. En mathématiques, une fonction f d’un ensemble A vers un ensemble B peut être définie par son graphe : l’ensemble des couples (x, f(x)) pour tout x dans A.

Que deviennent nos projections dans ce cas ?

  • La première projection du graphe est exactement l’ensemble de départ A (le domaine).
  • La seconde projection du graphe est l’image de la fonction, c’est-à-dire l’ensemble des valeurs f(x) qui sont effectivement atteintes. C’est un sous-ensemble du codomaine B.

La propriété magique d’une fonction (contrairement à une relation générale) est que pour chaque élément x de la première projection, il existe un et un seul y dans la seconde projection qui lui est associé. C’est ce qui permet de parler de f(x) sans ambiguïté.

Relation Quelconque

C

Un x peut être lié à plusieurs y.
Ex: {(a,1), (a,2), (b,3)}

Fonction (Graphe)

F

Chaque x est lié à un UNIQUE y.
Ex: {(a,1), (b,3), (c,1)}

Dans le second cas, la première projection est {a, b, c} et la seconde est {1, 3}. Notez que la valeur ‘1’ apparaît deux fois comme image, mais ce n’est pas un problème.

Questions fréquentes (FAQ)

❓ Questions Fréquentes

La première projection « perd-elle » l’information sur les seconds éléments ?

Oui et non. L’opération de projection elle-même, par définition, ne conserve que la composante qui l’intéresse. Elle « oublie » délibérément à quel(s) second(s) élément(s) chaque premier élément était associé. C’est son but : isoler une dimension. Cependant, l’information globale n’est pas perdue si vous conservez l’ensemble original C. Penser aux projections comme à des « filtres » ou des « angles de vue » sur vos données est plus juste que de parler de « perte ».

Peut-on faire une projection si les couples ont plus de 2 éléments (des triplets, n-uplets) ?

Absolument ! Le concept se généralise. Pour un n-uplet (a1, a2, a3, …, an), on peut définir la k-ième projection comme l’ensemble de tous les k-ièmes éléments. En informatique, c’est très courant. Par exemple, dans une table SQL avec 5 colonnes, la 3ème projection vous donnerait toutes les valeurs distinctes de la troisième colonne. La définition est similaire : { ak | ∃ (a1,…,an) ∈ C }.

Y a-t-il un lien avec la projection en géométrie ?

L’analogie est intuitive et c’est d’ailleurs de là que vient le terme. En géométrie, projeter un point 3D (x, y, z) sur le plan xy, c’est ne garder que les coordonnées (x, y) et « oublier » z. En théorie des ensembles, projeter un couple (x, y) sur sa première composante, c’est ne garder que x et « oublier » y. L’esprit est identique : réduire la dimension de l’objet en ne conservant que certaines de ses composantes. C’est une abstraction très puissante qui unit des domaines a priori éloignés.

Pour aller plus loin

Si ce sujet vous a intrigué et que vous voulez comprendre les fondements, voici deux pistes de lecture sérieuses :

  • Théorie axiomatique des ensembles : L’ouvrage de référence « Théorie des ensembles » par Patrick Dehornoy (chez Calvage & Mounet) aborde en détail les constructions comme les couples et les projections dans un cadre formel. C’est la source ultime pour comprendre « pourquoi ça marche ».
  • Logique et Fondements de l’Informatique : Le site Zeste de Savoir propose de nombreux tutoriels d’excellente qualité, notamment sur la théorie des ensembles pour les informaticiens, qui fait le pont entre ces concepts abstraits et leurs applications en base de données et en programmation.

En résumé, la première projection est bien plus qu’une curiosité mathématique. C’est un opérateur fondamental de l’organisation de l’information. Dès que vous manipulez des données liées par paires – des abonnements, des commandes, des relations sociales, des mappings – vous utilisez, consciemment ou non, ce principe. Le comprendre, c’est acquérir une clé pour modéliser et interroger le monde numérique qui nous entoure avec plus de finesse.

Laisser un commentaire