2014-09-09 5 views
0

J'ai le problème suivant et je ne sais pas comment le résoudre correctement pour le moment. Dans ma base de données MYSQL, j'ai une table pour les événements avec un ID, un nom, etc. Mais aussi je veux stocker une liste de participants. Mais le problème est que cette liste est de longueur variable. Alors, quelle est la meilleure façon de stocker cette liste? Si vous voulez, vous pouvez comparer cela à Facebook événements où ils ont des informations sur l'événement lui-même, puis des tableaux pour "aller", "peut-être", "non", "invité". Comment ces tables sont-elles gérées? Y a-t-il une table spécifique pour chaque événement? Parce que cela causerait des tonnes de tables ou y a-t-il une autre astuce?DB Design - participants à l'événement

Je sais que cette question devrait être très simple, mais je suis un peu nouveau dans les bases de données. Cordialement

+0

vous Effectuer savoir ce que sont les clés primaires et étrangères et à quoi elles servent? Avez-vous entendu parler de la normalisation de la base de données? –

+0

dans les participants à la table, ajoutez un champ pour stocker le type (en cours, peut-être, ...). il pourrait s'agir d'une clé étrangère d'une autre table qui stocke ces valeurs et pourrait bien sûr avoir des entrées infinies. En fonction de votre conception, vous pouvez à la place ajouter ce nouveau champ à la table des événements. – Ormoz

+0

Oui, je sais quelles sont les clés primaires et étrangères pour lesquelles elles sont destinées. Mais l'une des questions principales est. Serais-je créer une table individuelle avec des participants pour chaque événement ou devrait-il être une grande table de participant où je stocke le numéro d'événement et l'ID d'utilisateur avec statut ayant ainsi une table de participant pour TOUS les événements au lieu d'avoir une seule table pour chaque événement. – snpr

Répondre

0

vous pouvez avoir 4 tables:

Evénements :(EventID, nom, .....)

Membres :(MemberID, ....)

Participations (EventID, MemberID, ParticipationTypeID)

ParticipationTypes (ParticipationTypeID, ParticipationTypeName)

la table plus tard les valeurs de strore telles que "aller", .. "invité", ...

champ

marqués en gras sont les clés primaires

+0

Okay. Je l'ai .. Merci beaucoup. – snpr

+0

@ user3340598 de rien, je suis content que ce fut utile – Ormoz

Questions connexes