Bonjour, je me posais une question sur comment structurer au mieux ma base de données, le problème étant :

Contexte: site de partage de musique.
Structure globale: Articles, Artistes, Albums et Chansons.

J'aimerais donner la possibilité de laisser des commentaires sur chacune de ces pages.
J'ai dans un premier temps pensé à faire un table pour chaque comme ceci :

ComsArticle, ComsArtiste, ComsAlbum, ComsSongs.
Et je me demandais si ce n'était pas préférable de faire une seule table "Coms" et rajouter un champ "type" pour savoir à quelle type de contenu il se rapporte.

Mais, comme cela regroupe tous les commentaires dans une seule table au lieu de 4 j'ai un peu peur que niveau performances ça ne soit pas optimal.

Qu'est ce que vous me conseilleriez ?

2 réponses


SnoT
Réponse acceptée

1 table commentaire est le mieux. Tu ajoutes 2 champs dans cette table : 1 champ FIELDID qui contiendra l'id en base de ton article, artiste, album ou song** 1 champ FIELDNAME qui contiendra le type de donnée (article, artiste, album, song** Ensuite pour les perfs, si tu mets en place un système de cache ça devrait pas être trop gourmand, et encore il faudrait que tu aies vraiment un gros paquet de commentaires.

Natà
Auteur

Salut SnoT, merci de ton intervention, effectivement c'est bien comme ça que je voyais les choses. Après c'est sur que je n'aurais pas de millions d'entrées donc pour l'optimisation ça viendra après mais le but étant d'avoir une bonne base et l'améliorer plutôt que d'avoir à tout restructurer.

Merci encore de ta réponse, bonne continuation. :)