Bonjour, je poste ici car je n'ai pas réussi à trouver les informations que je recherchais ailleurs !
Imaginons que je veuille construire une base de données qui me permette d'enregistrer des recettes de fondue.
J'ai :
une table fondue (ID, DATE, NB_PART, NOTE,...),
Ensuite je différencie dans deux tables distinctes des ingrédients qui possèdent des caractéristiques bien différentes pour les décrire.
une table vin (ID, NOM, ANNEE, CEPAGE_DOM, ROBE, ALCOOL,...)
une table fromage (ID, NOM, LABEL, ANIMAL, AFFINAGE,...)
Et c'est ensuite que je commence à coincer : comment construire une table ingrédients (ID_fondue, ID_ingredient {vin ou fromage du coup}, QUANTITE) qui me permette de faire le lien entre la table fondue et les tablesvin etfromage pour ensuite accéder facilement aux caractéristiques de ces différents ingrédients et que mes vin.ID et fromage.ID soient en quelque sorte des clés étrangères de cette tableingrédients.
J'ai pensé à contourner le problème en faisant une tableingrédient_vin (ID_fondue, ID_vin, QUANTITE) et une autreingredient_fromagemais cela ne me satisfait pas car cela multiplie les tables si je multiplie les "types d'ingrédients".
J'ai pensé à faire une seule table d'ingrédient en gardant des noms de colonnes génériques mais ce n'est pas satisfaisant et ne permet pas de facilement varier les types de données. Dans la même veine on pourrait aussi j'imagine faire une seule table d'ingrédients avec autant de colonnes que de caractéristiques différentes mais du coup entrer un fromage reviendrait à systématiquement laisser les cases relatives au vin NULL...
Bref, j'espère que je m'exprime assez clairement pour que vous puissiez m'aider et m'en remet à vous, débutant que je suis !
Partager