30-09-2009, 11:32 AM
Si on est sûr que ce schéma de relations restera figé à jamais, je ne vois guère l'utilité d'éclater le schéma en plusieurs tables.
Je ne pense pas qu'une requête qui tape sur une seule table soit plus coûteuse qu'une requête avec jointures. Dans le premier cas de figure il n'y a qu'un seul parcours de tables, dans le second il y en a plus, donc davantage d'accès disques. Du moment que, lorsque tu as besoin d'une partie des données, tu ne fais pas un SELECT *, ça ne changera pas grand chose en fait.
De même pour les update, dans le premier cas de figure tu ne mets à jour qu'une table.
Bien que des entités se distinguent clairement, je serais pour tout garder dans une même table : moins de code à écrire, a priori plus logique ( si on s'en réfère à ce que dit Mr Merise ).
Au pire, tu peux créer des vues si tu préfères travailler sur plusieurs entités différentes ( ça fait une autre solution mixte ).
Je ne pense pas qu'une requête qui tape sur une seule table soit plus coûteuse qu'une requête avec jointures. Dans le premier cas de figure il n'y a qu'un seul parcours de tables, dans le second il y en a plus, donc davantage d'accès disques. Du moment que, lorsque tu as besoin d'une partie des données, tu ne fais pas un SELECT *, ça ne changera pas grand chose en fait.
De même pour les update, dans le premier cas de figure tu ne mets à jour qu'une table.
Bien que des entités se distinguent clairement, je serais pour tout garder dans une même table : moins de code à écrire, a priori plus logique ( si on s'en réfère à ce que dit Mr Merise ).
Au pire, tu peux créer des vues si tu préfères travailler sur plusieurs entités différentes ( ça fait une autre solution mixte ).