Je suis en train de développer un site qui enregistrera des données dans une base de données SQL qui décrit des événements. L'un des événements stockés dans la base de données comporte plusieurs variantes. Certaines de ces variations sont assez rares et j'essaie de limiter le nombre de champs vides dans les enregistrements. Je discute entre ces deux styles:Base de données SQL, tables multiples partageant l'index principal
option A:
report_primary_key
.
.
.
standard_info
.
.(17 fields)
.
uncommon_values (8 fields)
ou B:
report_primary_key
.
.
.
standard_info
.
.(17 fields)
deuxième table
report_primary_key
uncommon_values (3 fields)
Option A aurait toutes les informations possibles stockées dans la table unique mais 95% des enregistrements auraient 10+ valeurs nulles (sur 25). L'option B aurait une version rognée de la table principale. Étant donné que la table supplémentaire utiliserait la même clé primaire, il suffirait de rechercher dans les tables supplémentaires jusqu'à trois occurrences de cette clé à inclure dans la sortie.
Alors, ça me laisse avec mes questions. La requête supplémentaire vaut-elle la peine d'économiser de l'espace dans la table? D'autres pensées quant à l'une d'entre elles étant une meilleure idée que l'autre?
Merci pour l'aide/avis.
génial, merci de confirmer cela pour moi. Je suis encore nouveau à ce sujet et je ne voulais pas faire quelque chose de totalement stupide en essayant d'économiser sur l'espace et autres. – baiano
Et juste pour confirmer, il n'y aura pas de problème si la table supplémentaire utilise les mêmes valeurs dans sa clé primaire que la table principale? – baiano
Non, pas de problème - c'est une clé primaire totalement séparée sur la deuxième table2, donc ceux-ci n'interfèrent pas les uns avec les autres. –