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
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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 : 81
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
    En instance de retraite
    Inscrit en
    mai 2002
    Messages
    8 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : En instance de retraite
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 856
    Points : 29 507
    Points
    29 507
    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 ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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
    En instance de retraite
    Inscrit en
    mai 2002
    Messages
    8 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : En instance de retraite
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 856
    Points : 29 507
    Points
    29 507
    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.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Alors en fait j'ai suivi ma maquette, avec cette capture ce sera plus parlant :
    Nom : schema page sectionPNG.PNG
Affichages : 49
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
    En instance de retraite
    Inscrit en
    mai 2002
    Messages
    8 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : En instance de retraite
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 856
    Points : 29 507
    Points
    29 507
    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.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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
    En instance de retraite
    Inscrit en
    mai 2002
    Messages
    8 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : En instance de retraite
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 856
    Points : 29 507
    Points
    29 507
    Par défaut
    En effet
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  9. #9
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

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

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

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

    Informations forums :
    Inscription : juin 2019
    Messages : 457
    Points : 1 856
    Points
    1 856
    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...
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  11. #11
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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 : 23
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 chevronné
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    juin 2019
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : juin 2019
    Messages : 457
    Points : 1 856
    Points
    1 856
    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.
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

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

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

    Informations forums :
    Inscription : juin 2019
    Messages : 457
    Points : 1 856
    Points
    1 856
    Par défaut
    Voici ce que cela donne avec Looping : MCD, MLD graphique, MLD textuel, MPD :

    Nom : MCD ZakiDev.jpg
Affichages : 19
Taille : 358,1 Ko
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  14. #14
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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 : 19
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
    8 573
    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 : 8 573
    Points : 79 619
    Points
    79 619
    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/

    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  16. #16
    Candidat au Club
    Homme Profil pro
    Junior
    Inscrit en
    septembre 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : septembre 2021
    Messages : 11
    Points : 3
    Points
    3
    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: 167
    Dernier message: 25/04/2021, 21h31
  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