J'essaye de créer une base de données pour une école de formations et j'arrive pas à trouver un moyen d'enregistrer les séances de chaque groupe car les séances ne sont pas programmés en date absolue par exemple ( les séances se passent chaque dimanche à 9h30) comment représenter cette information dans une Base de données de façon efficace... merci d'avance.
En stockant le numéro du jour (cela dépend du SGBD, MySQL par exemple fait 1=Dimanche, 2=lundi, 3=mardi, etc. ) dans une colonne de type TINYINT et l'heure dans une colonne de type TIME ...
Je ne vois pas la difficulté ...
Ensuite à partir d'une date donnée ("absolue") tu peux déterminer le numéro du jour de cette date et en déduire les séances associées ...
Bonjour, la solution offerte est bien belle mais ne m'offre pas la possibilité d'enregistrer plusieurs séances à la fois sans r'ajouter d'autres tables exclusivement pour créer une relation une à plusieurs, l'utilisation d'un TINYINT me semble comme une astuce plutôt qu'une solution adapté au problème mais j'imagine qu'il n'existe pas de solutions parfaitement adéquates.Merci
Dans le Système que je conçois j'ai deux tables sql qui sont concernés par le problème, le groupe et la séance... le groupe possède plusieurs séances et chaque séance ne peut être que la séance d'un seule Groupe. Problème: la séance arrive une fois donc elle a une date bien précise (ex: 17/10/2019) et ceci est tout à fait normale, pour pouvoir prédire les prochaines séances à travers la table groupe (vu que la table séance n'enregistre qu'une table bien précise) Je dois enregistrer des "contraintes" pour pouvoir identifier la date de la prochaine séance (ex: chaque samedi,premier lundi de chaque mois, une samedi sur deux). comment enregistrer ça ?
Si je comprends bien, tu veux pouvoir générer les séances d'un groupe en fonction de la périodicité définie sur ce groupe, et ton problème est comment modéliser en base la définition de la périodicité du groupe.
Ces systèmes de périodicité "variable" sont connus et existent déjà sur de nombreuses applications type mail/agenda ou planificateur de tâches.
Le principe est souvent de définir la périodicité avec :
une date de départ
une date de fin
un nombre entier pour la durée de l'intervalle
une unité pour la durée de l'intervalle
A partir de ces 4 informations tu peux définir si une date correspond à ces 4 critères. Seul hic, tu ne peux pas définir "le premier lundi de chaque mois" de cette manière ... il faut bricoler autre chose à côté ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.