Petite question SQLienne --> organisation des tables

Petite question SQLienne --> organisation des tables - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2008 à 20:06:26    

Bonjour,
j'ai un soucis au niveau de l'organisation de ma BdD. J'ai un site qui parle de musiques utilisant PHP et SQL.
- J'ai une table "artistes" où chaque tuple de cette table = un artiste (avec ses spécificités).
- J'ai une table "festivals" ou chaque tuple = un festival (avec ses spécificités).
- J'aimerais pour finir trier les festivals selon leurs dates, leurs lieux, leurs noms.... et les artistes qui y jouent.
 
Donc, j'aimerais avoir la liste des artistes et à côté le ou les festivals dans lesquels ils vont jouer.
Mais également la liste des festivals et à côté les artistes représentés.

 
Problème : comment faire ?
 
Exemple :
J'ai mon festival A dans lequel joue artisteA, artisteB, artisteC
J'ai mon festival B dans lequel joue artisteA, artisteY, artisteZ
 
Comment organiser mes deux tables pour obtenir ce que je désire ?
 
Car si je rajoute un champ "festival" sur la table "artistes" je ne pourrais mettre qu'un seul festival à moins d'ajouter autant de champ qu'il y a de festivals  :(  
Et à l'inverse si j'ajoute un champ "artiste" sur la table "festivals", je ne pourrais mettre qu'un seul artiste à la fois (si j'en mets plusieurs, je ne pourrais plus trier)
 
Dites moi si ce n'est pas clair :)
Je pense qu'il y a une solution mais je ne la vois pas.
 
Merci de vos conseils
 
Maxime


Message édité par lofo7 le 20-01-2008 à 20:08:50
Reply

Marsh Posté le 20-01-2008 à 20:06:26   

Reply

Marsh Posté le 21-01-2008 à 10:28:58    

il te faut une troisième table "jouer", qui contient une FK vers festival et une FK vers artiste.
ces deux FK seront la clé primaire, puisqu'un artiste ne peut jouer qu'une fois dans un même festival logiquement.
tu peux éventuellement ajouter des propriétés à cette table de relation (nom du personnage, salaire, etc.)

Reply

Marsh Posté le 21-01-2008 à 14:51:39    

Ok c'est bien ce qui me semblait qu'il fallait une troisième table.
Au début, je voulais trier des cellules. C'est-à-dire mettre tous les artistes dans une cellule (pour chaque festival) puis faire une recherche sur les cellules pour trouver les artistes de mes festivals. Ce qui allait pas être évident, ça aurait été d'extirper ma sélection de la cellule.
 
Enfin, merci beaucoup, je vais me diriger vers cette voie, ça m'a l'air bien plus simple.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed