Bonjour à tous,
J'ai développé un site de demande de travaux qui fait appel à une base mysql.
Suite à une évolution que l'on me demande je me rend compte que j'ai un problème dans ma conception.
Il y avait au début 8 types de travaux avec une dizaine de champs similaires et 4 ou 5 champs particuliers en fonction du type.
--> Je n'ai donc fait qu'une seul table dans laquelle seul les champs particuliers liés au type de demande sont renseignés (il y a donc énormément de champ vides).
Aujourd'hui on me demande d'ajouter des types de travaux avec d'autres champs spécifiques, et la table va dépasser les 100 champs (colonnes).
Dans le modèle conceptuel, je serais tenté de résoudre le problème à l'aide d'un héritage avec une première table dans laquelle je stocke les 10 champs communs puis une table par type de travaux avec les champs spécifiques.
Mais voila, je ne trouve pas la traduction en sql de cette notion généralité/spécialisation.
L'exemple simple le plus parlant pour moi est celui de l'article, qui en fonction de son type (vêtement, alimentaire, hifi) va avoir différentes informations liées, voir différents traitements.
Pouvez-vous m'indiquer, de manière simple(le mieux serait en table, id et liens) comment traduire cette notion en SQL?
Je joins le script de creation de base SQL si je conserve une table unique.
J'utilise mysql 5.0.18.
D'avance merci.
Partager