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

Modélisation Discussion :

Conseil pour modelisation


Sujet :

Modélisation

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut Conseil pour modelisation
    Bonjour,

    je cherche la meilleure modelisation possible pour la problématique suivante

    J'ai au minimum 4 tables pour le point suivant


    Dossier (idDossier, Titre, DateCreation, ...)
    Langue (idLangue, Code, Libelle)
    Rubrique (idRubrique, idLangue, idDossier, titre, description)
    Personne(idPersonne, Nom, Prenom)


    Un dossier peut avoir plusieurs rubriques
    une langue peut se trouver dans plusieurs rubriques
    une rubrique appartient à un seul dossier
    une rubrique est affectée à une langue

    L'objectif assurer un suivi des états de validation, date , personne
    Exemple une personne créée un dossier qui est en mode draft
    Elle peut donc modifier le contenu à volonté et créer de 0 à n rubriques en ayant la possibilité de décliner les informations en fonction de la langue.
    Lors de la création d'une rubrique celle-ci est aussi en mode draft
    Lorsqu'elle le désire une personne peut soumettre son dossier pour le faire valider par une autre personne
    Idem pour les rubriques
    Un dossier validé ne peut plus être modifié par le propriétaire
    Par contre à tout moment le propriétaire peut modifier, créer une rubrique et soumettre à validation.

    Au final quand on a une rubrique en attente de validation, validée ou refusée. Si le propriétaire décide de faire une modification cela va créer une nouvelle rubrique.
    Il ne peut y avoir qu'une seule rubrique par langue valide à un instant t, cela

    Mais pour un dossier, pour une langue on doit pouvoir voir l'historique du dossier et validation des rubriques (qui, etat, date)

    Merci de vos remarques pour mettre en place cette solution
    Modification des tables existantes et/ou création de nouvelles tables

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Altair8080,

    Citation Envoyé par Altair8080
    Dossier (idDossier, Titre, DateCreation, ...)
    Langue (idLangue, Code, Libelle)
    Rubrique (idRubrique, #idLangue, #idDossier, titre, description)
    Personne(idPersonne, Nom, Prenom)

    Un dossier peut avoir plusieurs rubriques
    une langue peut se trouver dans plusieurs rubriques
    une rubrique appartient à un seul dossier
    une rubrique est affectée à une langue
    ==> tes tables sont correctes pour les règles de gestion décrites.


    Tentons de différencier les attributs manquants pour gérer les processus que tu décrits, ainsi que l'entité manquante.

    Dans un premier temps :
    Citation Envoyé par Altair8080
    Exemple une personne créée un dossier qui est en mode draft
    .../...
    Lors de la création d'une rubrique celle-ci est aussi en mode draft
    ==> est-il possible d'avoir un dossier en mode draft, alors que toutes les rubriques ne le sont plus (en mode draft) ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    Bonsoir,

    un dossier une fois validé ne plus être en mode draft

    ex pour dossier
    draft ==> soumis ==> en cours d'éude ==> validé ==> publié ==> terminé
    draft ==> soumis ==> en cours d'éude ==> refusé
    draft ==> soumis ==> en cours d'éude ==> retourné ==> modifié ==> puis on revient à soumis

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Altair8080,

    Citation Envoyé par Altair8080
    un dossier une fois validé ne plus être en mode draft
    ==> ce n'est pas la réponse à la question :
    Citation Envoyé par Richard_35
    est-il possible d'avoir un dossier en mode draft, alors que toutes les rubriques ne le sont plus (en mode draft) ?

    Dans ton premier post, tu dis :
    Citation Envoyé par Altair8080
    Exemple une personne créée un dossier qui est en mode draft
    .../...
    Lors de la création d'une rubrique celle-ci est aussi en mode draft
    ==> cela suppose qu'un dossier peut être en mode "draft" : OK. Mais, une rubrique peut être, également, en mode "draft". Donc, si
    Citation Envoyé par Altair8080
    Un dossier peut avoir plusieurs rubriques
    ==> alors
    Citation Envoyé par Richard_35
    est-il possible d'avoir un dossier en mode draft, alors que toutes les rubriques ne le sont plus (en mode draft) ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Avant de créer des tables, n'oublions pas la phase de conception du modèle de données.

    Un dossier peut avoir plusieurs rubriques
    une langue peut se trouver dans plusieurs rubriques
    une rubrique appartient à un seul dossier
    une rubrique est affectée à une langue
    Autrement dit, et selon mon principe d'écriture des règles de gestion :
    1) Un dossier peut avoir plusieurs rubriques et une rubrique n'est que dans un seul dossier

    dossier -0,n----avoir----1,1- rubrique

    2) Une langue peut se trouver dans plusieurs rubriques et une rubrique contient une seule langue

    dossier -0,n----avoir----1,1- rubrique -1,1----contenir----0,n- langue

    une personne créée un dossier qui est en mode draft
    Il y a déjà deux choses dans cette phrase :
    - une association entre personne et dossier
    - une notion d'état du dossier.

    Soit les règles de gestion :
    3) Une personne peut créer plusieurs dossiers et un dossier est créé par une seule personne.

    personne -0,n----creer----1,1- dossier -0,n----avoir----1,1- rubrique -1,1----contenir----0,n- langue

    4) Un dossier est statué par un seul état et un état peut stuer plusieurs dossiers.

    Ceci dit, si tu veux garder l'historique des états d'un dossier, la règle de gestion est plutôt celle-ci :
    4b) Un dossier est statué par un à plusieurs états à des dates différentes et un état peut statuer plusieurs dossiers à des dates différentes.

    personne -0,n----creer----1,1- dossier -0,n----avoir----1,1- rubrique -1,1----contenir----0,n- langue
    etat -0,n----statuer-----1,n-----------|
    date -0,n-------|

    Elle peut donc modifier le contenu à volonté et créer de 0 à n rubriques
    5) Une personne peut créer plusieurs rubriques et une rubrique est créée par une seule personne

    |---------------0,n----creer--------------------------------------------1,1-------|
    personne -0,n----creer----1,1- dossier -0,n----avoir----1,1- rubrique -1,1----contenir----0,n- langue
    etat -0,n----statuer-----1,n-----------|
    date -0,n-------|

    [U]Remarque :[u] les règles de gestion et le MCD ci-dessus autorisent une personne à créer une rubrique dans un dossier qu'elle n'a pas créé. Est-ce normal ?

    ayant la possibilité de décliner les informations en fonction de la langue.
    Ce qui veut dire que comme une rubrique n'a qu'une langue, un ensemble d'informations dans un dossier fera l'objet de plusieurs rubriques si cet ensemble d'informations est en plusieurs langues !

    C'est bien comme ça qu'on doit le comprendre ?

    Lors de la création d'une rubrique celle-ci est aussi en mode draft
    Idem que pour les dossiers :
    Une rubrique est statuée par un à plusieurs états à des dates différentes et un état peut statuer plusieurs rubriques à des dates différentes.
    Ça commence à être difficile à représenter en mode texte :
    dossier -0,n---------------avoir---------------1,1- rubrique
    |--1,n----statuer----0,n- etat -0,n----statuer----1,n--|
                 |-------0,n- date -0,n-------|
    On devine ci-dessus qu'il y a une certaine indépendance entre les états de la rubrique et les états du dossier auquel appartient la rubrique.
    Ce qui amène la question de Richard_35 :
    est-il possible d'avoir un dossier en mode draft, alors que toutes les rubriques ne le sont plus (en mode draft) ?
    Et comme Dupon(d)t, je dirais même plus ! Le MCD permet à toutes les rubriques d'un dossier d'être en Draft alors que le dossier est validé !
    Il faudrait donc avoir plus de précision sur les contraintes entre les états d'un dossier et les états de ses rubriques.
    un dossier une fois validé ne plus être en mode draft

    ex pour dossier
    draft ==> soumis ==> en cours d'éude ==> validé ==> publié ==> terminé
    Ceci suppose qu'on ne peut plus ajouter de rubrique à un dossier validé ?

    Pourtant :
    Un dossier validé ne peut plus être modifié par le propriétaire
    Par contre à tout moment le propriétaire peut modifier, créer une rubrique et soumettre à validation.
    Même après validation du dossier qui contient la rubrique ?
    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 !

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Philippe,

    Citation Envoyé par Philippe
    Avant de créer des tables, n'oublions pas la phase de conception du modèle de données.
    ==> c'est vrai.

    Mais la notion de "draft" fait partie des règles de gestion : visiblement, il y a une notion de "draft" entête (dossier) et une notion de "draft" détail (rubrique) : peut-être fait-elle double emploi, ou peut-être pas : à Altair8080 de nous le dire. La réponse à cette question pourra, peut-être, avoir une influence sur le modèle de données.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    Bonsoir et merci je vous donne des informations supplémentaires.
    En parallèle je vais approfondir vos remarques précédentes.


    Il y a bien une notion d'état différente entre celui du dossier et celui des différentes rubriques.

    Les rubriques ne peuvent être créées que par le propriétaire (celui qui est en draft et en soumission, modifié).
    Les autres états peuvent être traités par d'autres personnes
    ex pour la rubrique
    draft ==> soumis ==> en cours d'éude ==> validé ==> publié ==> terminé
    draft ==> soumis ==> en cours d'éude ==> refusé
    draft ==> soumis ==> en cours d'éude ==> retourné ==> modifié ==> puis on revient à soumis


    - Pour pouvoir soumettre une rubrique il faut au minimum avoir soumis le dossier
    - pour qu'une première rubrique puisse passer à l'état validé, il faut que le dossier soit validé ou publié
    - lorsqu'une rubrique est soumise il est possible de la modifier par le propriétaire (ce qui veut dire que l'on peut avoir plusieurs rubriques pour une même langue pour un même dossier)
    - On ne peut avoir qu'une seule rubrique par langue et par dossier active à la fois
    - Par rapport au point précédent cela veut dire que lorsque qu'une rubrique est validée, elle doit invalider la rubrique active de la même langue en la passant à terminée.
    - Si il y a une rubrique soumise, on ne peut pas faire passer la même rubrique soumise suivante tant que l'état n'est pas passé à validé, publié, terminé ou refusé (donc tant que la rubrique n'est pas statuée)

    Merci

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Les rubriques ne peuvent être créées que par le propriétaire
    Donc on fait disparaître l'association créer entre personne et rubrique pour éviter les incohérences de données.
    Ce sera à l'application de gérer le droit d'une personne à ajouter ou modifier des rubriques dans un dossier.

    Les autres états peuvent être traités par d'autres personnes
    Faut-il enregistrer la personne ayant fait passer un dossier ou une rubrique d'un état à un autre ?

    - Pour pouvoir soumettre une rubrique il faut au minimum avoir soumis le dossier
    Cela veut-il dire qu'on commence par soumettre un dossier vide ou qu'il y a d'autres informations dans un dossier qui doivent être soumises à approbation avant de pouvoir insérer des rubriques dans ce dossier ?

    - pour qu'une première rubrique puisse passer à l'état validé, il faut que le dossier soit validé ou publié
    Ceci sera à contrôler par des triggers ou des contraintes CHECK.
    Nota : CHECK n'existe malheureusement pas chez MySQL ; grosse lacune !

    - lorsqu'une rubrique est soumise il est possible de la modifier par le propriétaire (ce qui veut dire que l'on peut avoir plusieurs rubriques pour une même langue pour un même dossier)
    OK, tu avais déjà dit :
    Il ne peut y avoir qu'une seule rubrique par langue valide à un instant t
    Par contre, la première phrase semble vouloir dire que je peux soumettre une rubrique R1 dans une langue L1 puis la modifier avant qu'elle ait été validée et ainsi créer une nouvelle rubrique R2 pour la langue L1 mais qui aura le même objet et presque le même contenu. Tu confirmes ? N'y aurait-il pas là risque de mélange des rubriques (en fait des versions d'une rubrique) ?

    Mais pour un dossier, pour une langue on doit pouvoir voir l'historique du dossier et validation des rubriques (qui, etat, date)
    Ceci semble répondre à ma question précédente :
    Citation Envoyé par CinéPhil
    Faut-il enregistrer la personne ayant fait passer un dossier ou une rubrique d'un état à un autre ?
    Donc...
    personne -0,n----statuer----0,n- dossier
    	|				|---------0,n- etat
    	|								|
    	|				|-------0,n-----|
    	|				|
    	|-----0,n----statuer----0,n- rubrique
    À la lecture de tes explications, j'ai l'impression qu'une rubrique est en quelque sorte une version. Je me trompe ?
    Peux-tu expliquer plus concrètement ce que sont ces dossiers et ces rubriques ?
    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 !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    Bonjour
    Faut-il enregistrer la personne ayant fait passer un dossier ou une rubrique d'un état à un autre ?
    Oui cela un genre de log pour savoir qui a fait quoi et quand


    Cela veut-il dire qu'on commence par soumettre un dossier vide ou qu'il y a d'autres informations dans un dossier qui doivent être soumises à approbation avant de pouvoir insérer des rubriques dans ce dossier ?
    Dans le dossier il y d'autres informations mais cela concerne plus des nombres, chiffres et informations interne qui ne seront pas publiée donc pas besoin de gérer la langue.
    De plus au niveau saisie je vois plutôt un step 1 pour le dossier, un step 2 pour la première rubrique puis un bouton enregistrer et un bouton soumettre (qui implicitement enregistrera aussi) donc la soumission sera effective pour le dossier et la première rubrique.

    À la lecture de tes explications, j'ai l'impression qu'une rubrique est en quelque sorte une version. Je me trompe ?
    Peux-tu expliquer plus concrètement ce que sont ces dossiers et ces rubriques ?
    Effectivement l'enregistrement rubrique peut avoir plusieurs zones de saisies pour différentes informations mais je ne voulais pas rajouter des informations que je trouvais inutiles.

    Un dossier est un document qui contient des références, des dates, titre ..
    les rubriques vont contenir des titres, sous titre , descriptions, bloc texte pour répondre à un formalisme/trame d'informations et cela pour différentes langues.

    L'objectif est aussi de conserver l'historique de ce qui a été saisi , modifié, validé, publié car si on effectue une modification et qu'il y matière à discuter on ne connaitra plus la version initiale ou précédente.

    Voilà pourquoi il y a qu'une seule version active à la fois.

Discussions similaires

  1. Conseils pour modelisation BD
    Par redstoff dans le forum Modélisation
    Réponses: 1
    Dernier message: 02/02/2012, 19h55
  2. Conseils de modelisation pour export de données
    Par LEK dans le forum Design Patterns
    Réponses: 0
    Dernier message: 29/12/2011, 12h52
  3. Conseils pour modelisation d'une application existante
    Par Minisurfeur17 dans le forum UML
    Réponses: 5
    Dernier message: 03/06/2008, 06h32
  4. Conseils pour poser votre question...
    Par Community Management dans le forum XMLRAD
    Réponses: 0
    Dernier message: 30/01/2003, 17h58
  5. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 16h35

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