IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Gestion de fêtes de village


Sujet :

Schéma

  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut Gestion de fêtes de village
    Bonjour,

    Je dois modéliser une gestion d'évènements.
    Voila ce que j'ai fait et les points auxquels j'ai pensé mais j'ai dû en oublier quelques uns. Si quelqu'un à déjà une expérience dans ce domaine et peux partager ou donner un avis, des liens vers des trucs tout fait , j'ai déjà fait des recherches mais j'ai rien trouvé d'intéressant.

    Sinon je me serai pas embêté à y réfléchir .

    J'ai listé 4 cas :
    A 1 jour de la semaine (ex : tous les dimanches)
    B 1 date calculée (ex : 1er samedi du mois)
    C 1 date donnée (ex : 1er Mai)
    D n dates qui se suivent (ex : du 23 au 25 décembre)

    Je range tout ça comme ça :
    Une table FETE avec des trucs métiers en s'en foue

    Une table DATES avec les champs : (Date date, Varchar jour_de_la_semaine, Varchar calcul)
    qui pourra contenir :
    - des dates dans le champ date ce qui gère les cas C et D.
    - les noms des jours lundi, mardi, mercredi etc... dans la colonne jour_de_la_semaine
    - et 1er samedi, 2eme mercredi etc... dans la colonne calcul.
    Il n'y aura qu'un champ remplie soit date, soit jour_de_la_semaine soit calcul.

    Une table DATES_FETE avec les champs : (Booleen repeter, int pere, date date_limite_genere)
    - repeter pour savoir si c'est un évènement récurent.
    - pere l'id de la table c'est pour gérer le cas où si un évènement récurent est modifié je demande si la modification doit s'appliquer à tous les évènements ou seulement celui-la si on choisi la deuxième réponse alors je crée un évènement cas C avec une date spécifique mais je garde un lien avec la récurrence d'origine si l'évènement récurent est supprimé je tue ses fils .
    date_limite_genere c'est pour mettre une date pour quand je ferai l'affichage ne pas recalculer les dates puisqu'elles seront déjà dans la base.

    Au niveau de l'application je pense générer les dates pour les évènements récurent au moins lors de la première interrogation. Et ne recalculer que pour les évènements cas A et B qui n'ont pas de date_limite_genere "périmée".

    une Table horaires avec les champs horaire_debut, horaire_fin rien d'extraordinaire.

    une Table periode avec les champs periode_debut, periode_fin rien d'extraordinaire non plus.

    Voili voilou merci pour votre aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je dois modéliser une gestion d'évènements.
    Tu auras donc une entité "Événement".

    Un événement commence à une seule date et se termine à une seule date.
    Evenement -1,1----Commencer----0,n- Date
    |------------------1,1----Terminer----0,n----------|

    Pour la gestion du calendrier, je te renvoie sur l'article de SQLPro sur le temps, sa mesure et son calcul.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Merci pour le lien je l'avais pas vu.... avant de commencer à réfléchir je pense que je vais systématiquement aller faire un tour dans ses petits papiers.

    Du coup j'ai opté pour une table avec toutes les dates qui est reliée aux fêtes, au vu du cout de l'opération.

    Ca me fait un truc
    fetes 0,n---------0,n dates.

    Du coup je veux gérer "des collections ou séquences de dates" (je ne sais pas si le terme est bien choisi), je m'explique.

    Une personne va affecter une/des dates par exemple en choisissant tous les 1er dimanche. Moi je calcul les dates jusqu'a la date de fin de l'évènement et je stock les relations entre fetes et dates. Pour la même fête il peux aussi rajouter tous les 2eme lundi du mois pour une autre période.
    Pour distinguer ces deux "collections" ou "séquences" je rajoute dans ma relation
    un numéro de séquence unique mais qui sera identique à toutes mes dates (pour ceux que ça intéresse j'utilise un uuid cf. rfc 4122 UUID).

    J'ai aussi à gérer des horaires qui seront propre aux séquences ce qui me fait un truc comme ça :

    fetes 0.n -------------Relation Dates des fêtes sequence----------0,n dates

    Relation Dates des fêtes sequence--------- 1,n sequences

    Donc vous aurez deviné une reation ternaire entre mes trois entités fetes, dates et sequences.

    Les horaires seront rattachés à la séquence comme ça :

    sequences 0,1 ---------1,1 horaires

    Ca tiens debout ou pas?

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2002, 21h37
  2. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo