Structure de bdd

Fermé
Karudosu - 23 nov. 2010 à 14:48
 Karudosu - 23 nov. 2010 à 19:00
Bonjour à tous!

Je vous expose ma question:
Je suis en train de réaliser un projet info où je dois créer une bdd sour PostgreSQL, mais cela n'est pas un souci en soit. Ce qui me pose problème, c'est la structure à adopter, je vous explique:
L'application est un logiciel d'enregistrement à un évènement et de e-signing (sur un smartphone lors de l'évènement), organisé par projets, puis par évènements. Or une personne qui veut participer à un évènement aura 3 profiles dans la base de donnée: un profile de base commun à tous les projets, un profile de projet commun à chaque évènement d'un projet, et un profile d'évènement. Ceci n'est pas le problème non plus.
Voici mon vrai souci:
Chaque évènement aura des champs qui seront différents d'un évènement à l'autre, mais qui seront choisis parmi des types pré-établis (ex Char[20], Boolean, Char[85], Int ...).
Comment représenter ça en base de donnée?
J'ai pensé à plusieurs moyens:
- Faire une table par type de champs et où on indique l'évènement rattaché
- Faire une table de champs où on indiquera le champs et l'évènement
- Dans le même style, où on indique pas l'évènement mais le champs suivant et on référencie le premier champs dans la table évènement...

Et surement plein d'autre solutions bien mieux!

En espérant n'avoir pas été trop lourd dans l'explication
Merci ! =)

4 réponses

Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
23 nov. 2010 à 15:10
ce que tu appelles evenement c est l interface de saisie ?
0
Un évènement c'est une conférence, un meeting, etc.
Un organisateur crée un évènement (au niveau informatique) grâce à l'application en créant des champs parmi les type qui seront préalablement prédéfinis.
Quand quelqu'un va s'enregistrer pour un évènement, soit il est tout à fait nouveau (au sens de la bdd) et il remplit tous champs, soit il a déjà participé à un projet et il remplit les champs projet + évènement, soit il a déjà participé au projet contenant l'évènement et il remplis que les champs spécifiques à l'évènement.
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 23/11/2010 à 16:26
et bien dans l interface ya un ou des selectbox avec les champs comme il faut
et pis lors de la création de la table "creat table ....", tu fais correspondre un evenement soit dans ce cas un nom de table ou bdd a toi de voir ...
pour une sauvegarde des evenement tu peux toujours voir si un tronc commun lors de la creation de la table, ne convient pas aux remontés d information ...
puis tu attaches cette table a la base dans une table selon le type d evenement ..

Voila une idée.
Une base de données mére,
Des serveurs de saisi independant
et des requetes sur le serveur principale pour l'existance du membre et autres causes d integrité des données.
0
merci de tes réponses rapides, je vais essayer d'approfondir un peu ça.
0