Bonjour Craftman
Tout d'abord, une précision concernant la notation.
Envoyé par
Craftman
Un membre possède un mur : Mur (1,1) --- posséder --- 0,1 Membre (un mur vide n'a pas lieu d'être ).
Les cardinalités 1,1 notées entre parenthèses comme ci-dessus expriment une identification relative. Il ne s'agit pas d'une notation officielle puisqu'elle est issue du logiciel PowerAMC mais celui-ci est tellement répandu qu'il est d'usage d'associer cette notation "(1,1)" à l'identification relative. Pour rappel, en prenant ton exemple, cela signifie que l'identifiant de l'entité Mur est composée de l'identifiant de Membre et de l'identifiant de Mur. La table Mur se dérive alors ainsi :
Mur(id_membreFK, id_mur, ...)
L'utilité de l'identification relative dans le cas présent n'est pas avérée puisqu'un membre possède au mieux un mur. De plus, tu as modélisé la table Mur sans identifiant relatif :
Envoyé par
Craftman
Au niveau MLD : Mur(idMur,idMembreFK,news,timestamp).
Il s'agit donc d'une identification absolue, qu'il est préférable de noter ainsi au niveau conceptuel :
[ MUR ]--1,1----( posséder )----0,1--[ MEMBRE ]
Envoyé par
Craftman
Un membre peut écrire un statut sur son mur ou celui d'un autre.
Membre 0,N --- écrire --- (1,1) Statut (1,1) --- a --- 0,N Membre (donc mur).
Si, par "Statut", il faut comprendre qu'un membre peut écrire un message (i.e. "Un membre peut écrire un message sur son mur ou celui d'un autre."), alors il faut modéliser :
[ MEMBRE ]--0,n----( Statut )----0,n--[ MUR ]
Au niveau MLD : Statut(id_membreFK, id_murFK, ...)
Cette modélisation évite d'écrire dans le vide ! Supposons deux membres Me1 et Me2, Me1 ayant un mur (Mu1), Me2 n'en ayant pas. Ton MCD permet à Me1 d'écrire à Me2... qui n'a pas de mur. En revanche, le membre qui écrit n'est pas obligé d'avoir lui-même un mur pour écrire sur celui d'un autre (si j'ai bien compris). Donc rien n'interdit à Me2 (qui n'a pas de mur) d'écrire sur Mu1 (le mur de Me1).
Le corollaire de cette modélisation est qu'un membre donné ne peut écrire qu'un seul statut sur un mur donné. Est-ce bien ce que tu souahites modéliser ?
Partager