J'ai une application où j'aurai des évènements récurrents. Ainsi un événement peut se répéter par jour, "tous les n jours", par semaine, "toutes les n semaines le lundi/mardi/mercredi/etc", et par mois, "tous les n mois les 1er, 2e, 3e, etc."Architecture MySQL: colonnes nulles vs. jointures
Quelle est la meilleure façon de gérer cela dans une perspective de conception de table? Je peux penser à deux façons, mais je ne suis pas sûr de savoir lequel est le meilleur.
1) 5 colonnes pour le tableau ci-dessus, 1 pour le jour et 2 pour la semaine et le mois. Celui qui n'est pas utilisé serait nul. Dans mon application, je pouvais voir les null et choisir de les ignorer.
2) Avoir une seconde table, par exemple events_dateinfo ou quelque chose, contre laquelle je m'associerais pour la requête.
On dirait que l'option 2 est probablement plus «normalisée» et ce n'est pas le cas, mais cela vous semble-t-il trop compliqué pour une chose si simple? En outre, si je devais passer à l'option 2, existe-t-il un moyen de traduire les lignes en colonnes, c'est-à-dire de sélectionner les attributs de 2 semaines pour un événement spécifique et de les traiter comme des colonnes?