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

Schéma Discussion :

Difficulté pour réaliser un MCD


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut Difficulté pour réaliser un MCD
    Bonjour,

    J'ai le projet de créer un forum et je bloque sur la réalisation du MCD. J'ai des lacunes sur les relations entre les tables.

    Pour essayer de faire simple, j'ai au total 4 Entités (SECTION, TOPIC, POST, USER), l'entité SECTION(ou catégorie) renferme une liste de sujets contenue dans l'entité TOPIC qui lui même contient une liste de posts contenue dans l'entité POST. Ensuite l'utilisateur de l'entité USER a une relation avec l'entité TOPIC (qu'il crée) mais également avec ses messages, entité POST, qu'il crée également.

    Bêtement j'ai crée un schéma en suivant le cheminement expliqué ci-dessus. Le problème c'est que ça me parait trop simple et problématique, j'ai du mal à cerner ce qui ne pourrait pas aller. J'ai bien inséré les clés étrangères dans les entités mais quelque chose me tracasse et je ne sais pas quoi.

    Vous pouvez voir le schéma ici : Nom : mcd test.PNG
Affichages : 484
Taille : 58,0 Ko

    Je vous remercie d'avance pour l'éclairage que vous pourriez m'apporter.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 105
    Points : 28 394
    Points
    28 394
    Par défaut
    Bonjour,

    Que représentent les colonnes SECTION.TOPIC_ID, SECTION.USER_ID, SECTION.TOTAL_SUBJECT, SECTION.TOTAL_POST, TOPIC.POST_ID, TOPIC.USER_ID et TOPIC.TOTAL_RESPONSE ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    SECTION.TOPIC_ID représente l'id d'un topic appartenant à sa section. En gros dans la section Hardware on aura le topic Config

    SECTION.USER_ID va me permettre d'afficher l'user qui a posté le dernier message

    SECTION.TOTAL_SUBJECT va me permettre d'afficher le nombre total de sujets (TOPIC)pour chaque section

    SECTION.TOTAL_POST -> afficher le nombre total de messages (POST)pour chaque section

    TOPIC.POST_ID -> afficher le nombre de messages (POST) pour chaque TOPIC

    TOPIC.USER_ID -> afficher l'auteur(USER) du topic

    TOPIC.TOTAL_RESPONSE -> afficher le nombre total de réponses pour chaque topic

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 105
    Points : 28 394
    Points
    28 394
    Par défaut
    Je comprends mal l'usage de SECTION.TOPIC_ID.
    En revanche, toutes les autres colonnes mentionnées peuvent être calculées, soit par comptage, soit par recherche.
    Par exemple, le créateur d'un topic est l'auteur du premier message de celui-ci.

    A moins d'avoir un serveur de base de données extrêmement lent, il est déconseillé de stocker des informations qui peuvent être calculées.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Alors en fait j'ai suivi ma maquette, avec cette capture ce sera plus parlant :
    Nom : schema page sectionPNG.PNG
Affichages : 396
Taille : 22,9 Ko

    La section GENERAL contiendra le nombre total de posts dans "Sujets", donc le TOPIC_ID servira à récupérer cette information.

    Quand tu dis que les colonnes citées plus haut peuvent être mentionnées, je ne suis pas obligé de les mettre ?

    Si c'est le cas comment je pourrai faire la relation entre les tables ?

    J'ai peut-être mal compris

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 105
    Points : 28 394
    Points
    28 394
    Par défaut
    comment je pourrai faire la relation entre les tables ?
    Par exemple, l'association CONTIENT entre les entités SECTION et TOPIC dans le modèle conceptuel va se concrétiser dans le modèle physique sous la forme d'une colonne ID_SECTION dans la table TOPIC qui identifiera la section à laquelle appartient le topic et qui, pour cette raison, fera l'objet d'une contrainte d'intégrité référentielle (clé étrangère) avec la table SECTION.

    Il est conseillé de conserver le même nom de colonne lorsque celle-ci identifie le même objet dans des tables différentes.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Je comprends mieux merci. Donc la logique sera également la même entre la table TOPIC et POST ? A savoir, insérer une colonne ID_TOPIC dans la table POST pour pouvoir identifier le topic dans lequel se situe le post.

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 105
    Points : 28 394
    Points
    28 394
    Par défaut
    En effet

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Merci pour ton aide et ta réactivité, je vois mieux la logique.

  10. #10
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 708
    Points : 2 862
    Points
    2 862
    Par défaut
    Bonsoir,

    Attention, vous êtes en train de mélanger un MCD avec un MLD (Modèle Logique de Données) !
    Dans un MCD, les clés étrangères ne sont pas représentées et sont déduites automatiquement à partir des cardinalités.
    Elles apparaissent ensuite lors de la génération du MLD qui permettra ensuite de déduire les requêtes SQL de création des tables du schéma relationnel.
    De plus, ces dernière étapes sont réalisés automatiquement par les logiciels de modélisation.
    D'ailleurs, quel est l'outil de modélisation que vous avez utilisé : je ne le reconnais pas...

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Effectivement pour le MCD j'ai d'abord dessiné un schema (celui posté plus haut) et utilisé mocodo, d'ailleurs si je comprends bien et de ce que vous me dites, le MLD est situé en-dessous du MCD sur cette capture ?
    Nom : Capture.PNG
Affichages : 448
Taille : 31,5 Ko

    Si c'est bien le cas, comment créer un MPD à la suite de ça ? J'ai vu qu'à partir du MLD on pouvait générer automatiquement un MPD.

  12. #12
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 708
    Points : 2 862
    Points
    2 862
    Par défaut
    Bonjour,

    Oui, le modèle du dessus est bien un MCD, même si le lien entre les associations CREATE et WRITE est inquiétant... (j'imagine que c'est juste une histoire de superposition de traits).
    Dessous, il s'agit bien d'un MLD textuel ; certains outils proposent également une version graphique des MLD.
    Concernant la génération du MPD, je ne sais pas si Mocodo le permet...
    D'autres outils (Win'Design, Power-AMC et bien sûr Looping) proposent cette génération du schéma relationnel pour tout type de SGBD.

  13. #13
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 708
    Points : 2 862
    Points
    2 862
    Par défaut
    Voici ce que cela donne avec Looping : MCD, MLD graphique, MLD textuel, MPD :

    Nom : MCD ZakiDev.jpg
Affichages : 464
Taille : 358,1 Ko

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    C'est ce qui me pose problème. J'ai mis une association CREATE entre l'USER et le TOPIC et une association WRITE entre l'USER et le POST. Ca me parait pas pertinent.

    Du coup j'ai retiré une association et laissé CREATE qui fera le lien entre les 3 entités TOPIC, POST et USER.

    Ce qui me donne ceci :
    Nom : Capture.PNG
Affichages : 392
Taille : 28,1 Ko

    Ca me semble plus cohérent.

    Je regarderai Lopping effectivement, j'ai testé MySQL Workbench mais ca me parait compliqué

  15. #15
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 198
    Points : 85 076
    Points
    85 076
    Billets dans le blog
    15
    Par défaut
    Salut,

    ET comme expliqué par Paprick , Looping est disponible en téléchargement sur Developpez.com également et Paprick en est l'auteur : https://sgbd.developpez.com/telechar...lle-de-Donnees

    Le forum Looping, pour d'éventuelles questions, est ici : https://www.developpez.net/forums/f2...utils/looping/


  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Merci pour le logiciel, la présentation est claire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel logiciel télécharger pour réaliser un MCD
    Par TheLeadingEdge dans le forum Schéma
    Réponses: 170
    Dernier message: 18/12/2022, 10h21
  2. [Déploiement] difficulter pour réaliser un diagramme de déploiement avec modelio
    Par coolanso dans le forum Autres Diagrammes
    Réponses: 2
    Dernier message: 07/05/2015, 23h03
  3. Réponses: 4
    Dernier message: 09/01/2012, 23h31
  4. Recherche logiciels pour réaliser des MCD
    Par quaresma dans le forum Outils
    Réponses: 5
    Dernier message: 08/02/2008, 17h07
  5. Difficulté pour réaliser une requete peu complexe :/
    Par DanaX dans le forum Langage SQL
    Réponses: 9
    Dernier message: 16/05/2007, 13h55

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