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 ?
Partager