IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Merise Discussion :

[Débutant] Correction de mon MCD


Sujet :

Merise

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut [Débutant] Correction de mon MCD
    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

  2. #2
    Membre habitué Avatar de chewing-gum
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 105
    Points : 137
    Points
    137
    Par défaut
    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 ?
    Les deux solutions que tu proposes fonctionne, mais j'aurais choisis la première.

    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")

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 113
    Points : 31 590
    Points
    31 590
    Billets dans le blog
    16
    Par défaut Généralisation (héritage)
    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.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Attention, selon votre modèle, un utilisateur est supposé rédiger un et un seul tutoriel, un et un seul article, etc.
    J'ai du faire erreur lorsque j'ai réalisé le MCD sous mysql Workbench, je ne suis pas habitué à leur symbole. (Mais sur mon mcd papier j'avais bien mis la cardinalité 0.n).

    Merci pour vos réponses

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 113
    Points : 31 590
    Points
    31 590
    Billets dans le blog
    16
    Par défaut Utilisation de MySQL Workbench
    Bonjour,

    D'accord. En ce qui concerne l'utilisation de MySQL Workbench, vous pouvez jeter un coup d'oeil à partir d'ici.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/02/2015, 16h14
  2. Correction de mon code [Débutant]
    Par Calvein dans le forum C#
    Réponses: 12
    Dernier message: 13/06/2008, 07h28
  3. Correction de mon algo
    Par Shakan972 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 27/01/2006, 18h40
  4. Débutant : architecture de mon site flash.
    Par Jazzy Troll dans le forum Flash
    Réponses: 3
    Dernier message: 12/01/2004, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo