Bonjour Userparis,
C'est vrai que nous ne nous sommes pas intéressés à la partie :
Qui, en termes de règles de gestion, veut dire :
- 1 user peut créer 0 ou n post ;
- 1 post ne peut être créé que par 1 et 1 seul user ;
- 1 user peut modifier 0 ou n post ;
- 1 post peut ne jamais être modifié ou, alors, qu'une seule fois.
Beaucoup d'incohérence, il me semble :
- 1 user peut créer 0 ou n post ==> logique ;
- 1 post ne peut être créé que par 1 et 1 seul user ==> logique ;
- 1 user peut modifier 0 ou n post ==> logique (mais, sans doute, que les siens) ;
- 1 post peut ne jamais être modifié (==> logique) ou n'être modifié qu'une seule fois (==> j'en doute et, je pense, uniquement par celui qui a créé le post).
Bref, nous n'avons pas les règles de gestion à l'origine de ce MCD. Nous avons donc supputé... Maintenant, effectivement, en allant plus loin, toujours en supputant (ce que tu fais en évoquant une historisation des modifications des posts), nous pourrions établir les règles de gestion suivantes :
- 1 user peut créer 0 ou n post ;
- 1 post ne peut être créé que par 1 et 1 seul user ;
- 1 user peut modifier 0 ou n post, mais que ceux qu'il a créés ;
- 1 post peut ne jamais être modifié ou modifié plusieurs fois uniquement par le user qui l'a créé.
Ce qui donne :
Tables résultantes :
User(IdUser, ...) ;
Post(IdPost, ..., DateCreation, #IdUser)
PostModifier(IdPost, DateModification)
==> la contrainte devant être assurée par un trigger.
ou bien, si l'on enlève la contrainte (un post peut être modifié par d'autres users que son créateur) :
User(IdUser, ...) ;
Post(IdPost, ..., DateCreation, #IdUser)
PostModifier(IdPost, #IdUser, DateModification)
D'autre part :
Envoyé par
Userparis
Mais encore c'est pas suffisant ...
>> mettre la propriété Contenu ailleurs que dans l'entité Post parce qu'un post peut avoir plusieurs contenu.
==> dans le vocabulaire des forums, un post est un message, donc il n'a qu'un seul contenu. En revanche, un fil est une discussion composée d'un ensemble de post(s), donc d'un ensemble de message(s). Le contenu du post que je viens d'écrire est unique. La discussion avec Alixe80, Fsmrel, toi et moi, comporte plusieurs posts.
Enfin, nous voyons que, dans cette affaire, il manque le point de vue de Alixe80 qui, somme toute, a une certaine importance...
Partager