|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 8 ![]() |
Bonjour,
J'aurais voulu quelques conseils pour l'élaboration de mon MCD. En résumé un utilisateur a un rôle (admin, membre,membre avec pouvoir), ces utilisateurs peuvent écrire des articles ou des tutoriels qui eux-même appartiennent à une seule catégorie. En revanche, j'ai une hésitation concernant la table comments, est-ce qu'il faut que je mette une FK de la table tutoriels et Posts dans Comments ? Ou est-ce que je dois créer une table commentaires pour les tutoriels et les posts ? J'espère avoir été assez clair ![]() Merci de votre aide http://uppix.net/5/9/2/77d6d004e2eba...3aba8dc55d.png |
|
|
00
|
|
|
#2 | |
|
Membre régulier
![]() Christophe Inscription : novembre 2009 Messages : 77 ![]() |
Citation:
Un commentaire est rattaché soit à un "Tutoriel", soit à un "Post". Dans ce cas, ta table "Comments" contiendra 2 FK. L'une étant renseigné afin d'indiquer si le commentaire est rattaché à un "Tutoriel", et l'autre indiquant si le commentaire est rattaché à un "Post". Evidemment, l'une de ces 2 FK restera "null", car un commentaire ne peut pas appartenir à un tutoriel et un post en même temps. Deuxième solution : faire deux tables de commentaires. La première pour les commentaires sur les "Tutoriels", et la seconde pour les commentaires sur les "Posts". Toutefois, je crois qu'il te sera un peu plus difficile, avec cette solution, d'effectuer des traitements sur la globalité des commentaires. Et parce que sémantiquement, je ne vois pas pourquoi on séparerait les commentaires en fonction de leur appartenance à un type de "document" (document étant soit un "tutoriel", soit un "post") |
|
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonsoir,
Il y a encore une solution : par généralisation, inférer le type d’entité DOCUMENT à partir des types d’entités TUTORIEL et POST : DOCUMENT est un surtype et TUTORIEL et POST en sont les sous-types (un document est soit un tutoriel, soit un article) : Au niveau tabulaire : On factorise ainsi dans DOCUMENT les propriétés communes aux types d'entités TUTORIEL et POST, le type d’entité COMMENTAIRE fait référence seulement à DOCUMENT, on évite la présence du bonhomme NULL, etc. @ Huviel : Attention, selon votre modèle, un utilisateur est supposé rédiger un et un seul tutoriel, un et un seul article, etc.
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
20
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 8 ![]() |
Citation:
Merci pour vos réponses |
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonjour,
D'accord. En ce qui concerne l'utilisation de MySQL Workbench, vous pouvez jeter un coup d'oeil à partir d'ici.
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com