Soyons clair : ce schéma est une honte conceptuelle. Un schéma pour sous-doués des mathématiques. En maths, un ensemble représente un regroupement d'objets de notre conception. L'intersection de 2 ensembles représentent les objets commun dans les 2 ensembles. Quand on fait une jointure entre 2 tables, il n'y a pas d'objet commun. Je joins basiquement les produits à leurs catégories. Il n'y a pas d'éléments commun dans l'ensemble des produits et dans l'ensemble des catégories. Donc, vraiment, du grand n'importe quoi. On peut ajouter que la full join ne sert à rien. Que la right join classique est compliquée et aisément remplacée par un select imbriquée. Que la left join classique est la seule utile. Que la jointure naturelle est la jointure de base et l'opération fondamentale à maitriser. Que les jointures non naturelles sont compliquées et aisément remplacés par des select imbriqués. Ce qui prouve bien que la grande majorité des programmeurs web ne comprennent rien au SQL... et aux maths en général. A leur décharge, il faut reconnaitre que les docs officielles MySQL, Oracle ou autres ne sont pas claires du tout : purement syntaxiques et pas du tout sémantiques En BD relationnelle, il faut comprendre sérieusement les notions de clé étrangère et de jointure "naturelle" : clé étrangère vers clé primaire. C'est le coeur du modèle d'où tout découle. A la décharge des programmateur encore, il faut souligner que la NATURAL JOIN du SQL, c'est autant n'importe quoi que ces pseudo schémas ensemblistes : comparer automatiquement les attributs quand leurs noms est identique: quelle bétise ! D'ailleurs personne n'utilise le NATURAL JOIN. Donc, bon courage à tous ! Et ne vous perdez pas dans les niaiseries écrites à droite à gauche.