Je suis en train de préparer un petit projet perso pour gérer ma collection de vinyles, et je me retrouve un peu coincé sur un point de conception. J'ai prévu une table pour les artistes et une pour les albums, avec une clé étrangère, le classique. Mais là, je me demande si je ne devrais pas plutôt créer une table de jointure séparée pour gérer les collaborations, parce qu'un album peut avoir plusieurs artistes et inversement. Ça me semble plus propre, mais en même temps, ça alourdit le schéma pour quelque chose d'assez simple au départ. Certains d'entre vous ont-ils déjà été confrontés à ce genre d'hésitation sur un projet similaire ?
|
Comment gérer les collaborations entre artistes dans une base vinyles ?
|
|
Bonne question et on sent que tu veux du sens pas juste du SQL. Pour moi l idee de la jointe pour les collaborations est la bonne base si tu veux vraiment refléter les artistes multiples sur un album et les artistes qui apparaissent sur plusieurs albums. Le simple champ artiste dans albums peut suffire au début mais il te sera utile d avoir une table de jointure pour la collaboration et rester flexible. Le mot collaboration est central ici car il guide le design sans se limiter a un seul artiste.
J avoue que ce dilemme il parle a ma passion musique et data. Je penche pour la table de jointure car elle parle de vraies collaborations entre artistes sur les albums et elle garde les choses propres. Tu peux commencer simple avec un artiste principal et plus tard ajouter des liens supplémentaires via la collaboration quand tu penses a des apparitions ou des features. Le mot collaboration revient en filigrane et c est utile pour penser les cas d usage.
Pas fan d etre bloque par une structure lourde mais je vois l avantage d une table de jointure pour les collaborations. Cela rend la recherche par artiste et par album plus naturelle et evolutive. Le mot collaboration est ton fil conducteur ici.
Je suis un peu sceptique sur le besoin immediat d une table de jointure si tu pars sur une petite collection. On peut commencer avec un artiste par album et ajouter des liens de collaboration quand il faut. La collaboration peut compliquer la modelisation et les migrations mais cela reste puissant si tu veux accrediter correctement les guests des vinyles.
Cette histoire de simple relation peut aussi se traiter avec une solution hybride. Tu as artiste et album avec une table de jointure et une colonne role pour dire si l artiste est principal ou guest. Cela te permet de se lancer rapidement et d extender la notion de collaboration plus tard sans refaire tout le schéma. Le mot collaboration apparait dans chaque contexte et c est ce qui donne sens a la structure.
Les attentes des collectionneurs incluent souvent la possibilite de retrouver facilement qui a participe a tel album. Dans ce cadre la collaboration via une jointure devient naturelle mais tu n es pas oblige de l activer tout de suite. Tu peux miser sur un design simple au depart et y revenir lorsque le besoin de filtrer ou d afficher les contributions sera visible. Le mot collaboration apparait encore et guide ton choix.
|
|
« Sujet précédent | Sujet suivant »
|

