Bonjour,
Encore mieux, 4 tables (voire 5) :
- Une pour tout ce qui est commun ---> on factorise, on évite les redondances de données
- Une pour chaque type ---> on évite les valeurs nulles dans les champs
- Et tant qu'on y est, soit un champ 'type' dans la table commune, soit carrément une table Type liée (1:n) à la table commune et contenant, par exemple, Code_type et Libellé_type (et pourquoi pas Libellé_long_type, comme l'a suggéré hed62)
Ce n'est pas le nombre de tables qui importe mais ce qu'on y met dedans, comment c'est rangé et comment les tables sont reliées entre elles (excusez ce langage des plus simplistes). Il vaut mieux 5 tables dont la fonction est clairement identifiée qu'une seule fourre-tout avec des valeurs nulles partout.
On y gagne forcément en lisibilité, maintenabilité, évolutivité et même en performances.
Autre chose :
Je ne connais pas mysql, mais je ne pense pas que ce SGBD soit à ce point différent des autres. Donc tu affiches tes champs homonymes comme ceci :
table1.id
table2.id
JPhi33
Partager