Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation
Modélisation Forum d'entraide pour les diagrammes UML et les MCD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2011, 23h06   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 233
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 233
Points : 45
Points : 45
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
altair8080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 10h29   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 23h34   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 233
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 233
Points : 45
Points : 45
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
altair8080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 09h50   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 15h31   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Avant de créer des tables, n'oublions pas la phase de conception du modèle de données.

Citation:
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

Citation:
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-------|

Citation:
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 ?

Citation:
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 ?

Citation:
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 :
Citation:
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.
Citation:
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 :
Citation:
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 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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 15h47   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 21h24   #7
Membre du Club
 
Inscription : novembre 2006
Messages : 233
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 233
Points : 45
Points : 45
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
altair8080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 07h16   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Citation:
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.

Citation:
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 ?

Citation:
- 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 ?

Citation:
- 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 !

Citation:
- 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 :
Citation:
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) ?

Citation:
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 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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 09h40   #9
Membre du Club
 
Inscription : novembre 2006
Messages : 233
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 233
Points : 45
Points : 45
Bonjour
Citation:
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


Citation:
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.

Citation:
À 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.
altair8080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h09.


 
 
 
 
Partenaires

Hébergement Web