|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 233 ![]() |
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 |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Altair8080,
Citation:
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:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 233 ![]() |
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 |
|
|
00
|
|
|
#4 | |||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Altair8080,
Citation:
Citation:
Dans ton premier post, tu dis : Citation:
Citation:
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||||
|
|
00
|
|
|
#5 | ||||||||
![]() ![]() |
Avant de créer des tables, n'oublions pas la phase de conception du modèle de données.
Citation:
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 Citation:
- 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-------| Citation:
|---------------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 ? Citation:
C'est bien comme ça qu'on doit le comprendre ? Citation:
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-------|Ce qui amène la question de Richard_35 : Citation:
![]() Il faudrait donc avoir plus de précision sur les contraintes entre les états d'un dossier et les états de ses rubriques. Citation:
Pourtant : Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||||||
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Philippe,
Citation:
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. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 233 ![]() |
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 |
|
|
00
|
|
|
#8 | ||||||||
![]() ![]() |
Citation:
Ce sera à l'application de gérer le droit d'une personne à ajouter ou modifier des rubriques dans un dossier. Citation:
Citation:
Citation:
Nota : CHECK n'existe malheureusement pas chez MySQL ; grosse lacune ! Citation:
Citation:
Citation:
Citation:
personne -0,n----statuer----0,n- dossier | |---------0,n- etat | | | |-------0,n-----| | | |-----0,n----statuer----0,n- rubrique Peux-tu expliquer plus concrètement ce que sont ces dossiers et ces rubriques ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||||||
|
00
|
|
|
#9 | |||
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 233 ![]() |
Bonjour
Citation:
Citation:
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. Citation:
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. |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com