Bonjour à tous,
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
Mickael_Istria
En fait, pour alimenter le troll, la navigation de contenu en single-parent c'est quand meme de l'info des années 90, quand les gens avaient pour seule référence d'organisation leur file-system
==> excuses-moi, Mickael, sauf ton respect, cela n'a rien à voir : nous parlons, là, de conception.
Un peu de conception, justement : toutes les relations A ---1,n---[posséder]---1,1--- B ne sont pas, forcément, des relations "démodées". Cela dépend de ce que nous voulons gérer.
Exemple :
Commande ---1,n---[composer]---1,1--- Ligne de commande
==> 1 commande est composée de plusieurs lignes de commande : heureusement car, sinon, nous aurions autant de n° de commande que de produits commandés !
==> inversement, 1 ligne de commande ne fait partie que d'une seule commande : heureusement car, sinon, lors d'une relance, par exemple, il faudrait avoir la liste des n° de commande dont fait partie la ligne de commande en question !
Faut-il en conclure que ce système de single-parent est rétrograde ?...
C'est donc sur la conception de la base de données du forum que nous pouvons discuter, pas sur l'obsolescence de telle ou telle relation entre entité.
Actuellement, il semble exister cette relation :
Forum ---0,n---[comporter les discussions]---1,1--- Discussion
==> 1 forum comporte plusieurs discussions ;
==> 1 discussion n'appartient qu'à un seul forum.
Discussion ---0,n---[comporter les messages]---1,1--- Message
==> 1 discussion comporte plusieurs messages ;
==> 1 message n'appartient qu'à une seule discussion.
Tables:
Forum(Id_forum, nom, ...) ;
Discussion(Id_discussion, #Id_forum, titre, ...) ;
Message(Id_message, #Id_discussion, titre, texte, ...).
==> je ne serai pas étonné que l'id_message soit celui apparaissant dans l'URL affiché dans le navigateur, lorsque nous créons un lien hypertexte pointant sur le message en question.
***
Passer à une relation n,n est complexe... mais pas impossible. Donc :
Forum ---0,n---[comporter les discussions]---1,n--- Discussion
==> 1 forum comporte plusieurs discussions ;
==> 1 discussion peut appartenir à plusieurs forums.
Tables :
Forum(Id_forum, nom, ...) ;
Discussion(Id_discussion, titre, ...) ;
Forum_Discussion(#Id_forum, #Id_discussion, DateIntégrationAuForum, ...).
L'interface serait donc à retoucher... pas simple !...
Partager