Bonjour à tous,
Je dois réaliser, dans le cadre d'un stage, un site permettant à des organismes de pouvoir élire leurs représentants en ligne. N'étant pas très familier avec les bases de données, j'aurais besoin de votre avis concernant ma modélisation de base de données (schéma Merise que je vous joins avec ce message).
Je vous explique le principe du site en quelques lignes : il y aura un compte administrateur pour chaque organisme qui se chargera d'organiser chaque élection propre à l'organisme (pour quel rôle au sein de ce dernier) et de répertorier toutes les personnes pouvant voter à ces élections.
Les personnes "lambda" recevront leurs identifiants par mail et se connecteront sur le site uniquement pour voter dans le cadre des élections dans lesquelles l'admin les a répertoriés. En dehors de ça elles ne feront rien sur le site.
J'ai donc 4 tables :
- une table "Organismes" qui contient les organismes/associations
- une table "Personnes" qui regroupe toutes les personnes qui seront inscrites sur le site et faisant partis des divers organismes/associations
- une table "Elections" qui répertorie les différents événements électoraux qui seront définis par les organismes
- une table "Roles" qui contient les fonctions à pourvoir lors des élections (ce sont les rôles pour lesquels on va voter et non les rôles déjà occupés par les personnes).
Je réfléchis pas mal aux différentes contraintes à respecter et je m'embrouille pas mal au niveau de la récupération des votes de chacun. En effet, je dois pouvoir comptabiliser les votes effectués par les personnes aussi bien au premier tour de vote qu'au second, sachant que les élections seront parfois en un tour et d'autres fois en deux tours de votes.
Au niveau des contraintes, un petit récapitulatif :
- Une personne peut appartenir à plusieurs organismes
- Une personne peut voter pour plusieurs élections mais seulement aux élections organisées par son/ses organismes
- Une personne peut postuler pour plusieurs rôles au sein d'un organisme
- Une personne ne peut pas voter plusieurs fois au cours du même tour de vote
- Un organisme peut contenir plusieurs personnes
- Un organisme peut organiser plusieurs élections
Je me demande en fait s'il ne faudra pas établir un schéma récursif pour la table "Personnes" (puisqu'au final les personnes votent pour d'autres personnes .. ?) et/ou si je ne devrais pas créer une table Votes à côté ou une table permettant de répertorier qui a voté pour qui à quel moment et à quel tour de vote, pour quel organisme et quel rôle
Enfin je ne sais pas si toute mon explication était vraiment claire mais j'espère que certains experts en base de données pourront m'aiguiller au niveau de ma conception ^^ Désolé d'avance si je pose des questions bêtes ou si je ne me suis pas bien exprimé. Merci et bonne journée![]()
Partager