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 :

Windesign, MCD -> MLR


Sujet :

Schéma

  1. #1
    Membre régulier Avatar de Orphey
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 58
    Points : 83
    Points
    83
    Par défaut Windesign, MCD -> MLR
    Bonjour,
    Premièrement je ne sais pas si je suis au bon endroit donc désolé si mon post nécessite un redéplacement..

    J'utilise Windesign pour réaliser mes MCD.. J'y arrive sans problème mais j'ai un petit soucis, j'ai une relation de type 1,n - 0,n . Windesign me génère une table de liaison, jusque la rien d'anormal.. Le fait est que la clé primaire de cette table est constituée de l'ensemble des deux clés étrangères, or j'aimerais ajouter un champ d'ID unique et sortir les clés étrangères de la clé primaire.. J'espère que mes explications sont pas trop floues..
    J'y arrive sans problème dans le MLR mais a chaque fois je dois répéter l'opération et j'oublie une fois sur deux évidemment..
    Y a t'il moyen de spécifier a windesign que cette relation ne doit pas se générer de l manière dont il le fait?! j'ai longuement cherché mais je n'ai rien trouvé.. Merci pour l'aide en tout les cas..

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Orphey Voir le message
    j'ai une relation de type 1,n - 0,n . Windesign me génère une table de liaison, jusque la rien d'anormal.. Le fait est que la clé primaire de cette table est constituée de l'ensemble des deux clés étrangères, or j'aimerais ajouter un champ d'ID unique et sortir les clés étrangères de la clé primaire..
    Windesign a raison ! Pourquoi veux tu ajouter une clé artificielle alors qu'elle est déjà définie ?

    Pour le reste, je ne connais pas Windesign.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    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
    J'y arrive sans problème dans le MLR mais a chaque fois je dois répéter l'opération et j'oublie une fois sur deux évidemment..
    Y a t'il moyen de spécifier a windesign que cette relation ne doit pas se générer de l manière dont il le fait?! j'ai longuement cherché mais je n'ai rien trouvé.. Merci pour l'aide en tout les cas..
    Il est normal que cela fonctionne au niveau du MLD, et pas au niveau du MCD.
    Quand tu changes ton MLD, ton MCD change aussi, mais tu n'as pas l'air de t'en rendre compte.

    Solution :
    Modifie ton MLD dans Win'Design comme tu le souhaites, et sélectionne dans le menu :
    Modèle > Générer Modèle Conceptuel de Données.

    Non seulement tu verras que tes modifications se sont répercutées au niveau du MCD, mais tu pourras aussi éviter de te retaper les ajouts que tu fais et qui te font perdre du temps. Et n'oublie pas d'enregistrer.

    Normalement, ça devrait fonctionner

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par chewing-gum Voir le message
    Solution :
    Modifie ton MLD dans Win'Design comme tu le souhaites, et sélectionne dans le menu :
    Modèle > Générer Modèle Conceptuel de Données.
    Et le résultat devrait être que l'association sera transformée en entité puisqu'elle a un identifiant propre. C'est parfois utile, pas toujours souhaitable.

    Si Orphey veut bien nous dire la nature de cette association, on pourra lui donner un avis plus argumenté.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    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
    Citation Envoyé par CinePhil Voir le message
    Et le résultat devrait être que l'association sera transformée en entité puisqu'elle a un identifiant propre. C'est parfois utile, pas toujours souhaitable.

    Si Orphey veut bien nous dire la nature de cette association, on pourra lui donner un avis plus argumenté.
    Oui effectivement, j'ai pas essayé de savoir pourquoi Orphey voulait réaliser un tel changement.
    Mais il vaut mieux savoir afin de l'orienter vers la meilleure solution comme vous le dites

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Orphey Voir le message
    j'aimerais ajouter un champ d'ID unique et sortir les clés étrangères de la clé primaires.
    Aimer est une chose, justifier rationnellement en est une autre. CinePhil a entièrement raison, la clé crée par Win'Design suffit largement et un coup de rasoir d'Occam s'impose : pas de clé primaire mono-attribut superflue.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Membre régulier Avatar de Orphey
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 58
    Points : 83
    Points
    83
    Par défaut
    Bonjour et merci pour vos réponses..
    Je suis bien d'accord avec vous et en temps normal je ne change pas les champs des tables de liaison générées par Windesign mais ici la situation est différente.. je vous explique tout ca avec un petit prtSc:

    Voici la relation dans mon Modèle Conceptuel de données:



    Une fois la relation générée voici la table que j'obtiens dans le modele logique:



    Soyons clair je sais que c'est normal et juste! mais j'aimerais obtenir ceci:



    Pourquoi? simplement car je suis régulièrement amener a changer les champs de la table et donc par facilité j'aimerais pouvoir manipuler une clé primaire unique.. Ca ne change rien à l'intégrité des données je pense, c'est uniquement par facilité..

    Je peux faire la modif de manière manuelle dans le modèle logique (c'est ce que je fait ici) mais je voudrais pouvoir spécifier les clés utilisées pour la table de liaison générée a partir du MCD.. Comme ca dès que Windesign génère le MLR il utilise une clé primaire unique pour cette table là..

    Si je me trompe complètement quelque part il ne faut pas hésiter à me le dire..
    Merci d'essayer de m'aider en tout cas!

  8. #8
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Après production du MLD, la table REL_DEMANDE_HORAIRE a pour clé primaire le triplet d'attributs :
    {ID_Type_Horaire_Contrat, ID_NC, ID_Demande_Horaire}
    Si l’attribut ID_Type_Horaire_Contrat correspond à l’identifiant ID_Type_Horaire_Contrat de l’entité-type Type_Horaire_Contrat du MCD et si l’attribut ID_NC correspond à l’identifiant ID_NC de l’entité-type NC, comme l’association-type REL_DEMANDE_HORAIRE est binaire d’après ce que vous nous en présentez, l’attribut ID_Demande_Horaire n’a pas lieu d’être et la clé de la table REL_DEMANDE_HORAIRE devrait être réduite à la paire :
    {ID_Type_Horaire_Contrat, ID_NC}
    Qu’en est-il ? En effet, au vu de ce que vous présentez, Win'Design est incapable de prendre l'initiative de produire le triplet affiché.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  9. #9
    Membre régulier Avatar de Orphey
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 58
    Points : 83
    Points
    83
    Par défaut
    Oui, l’attribut ID_Demande_Horaire a été ajouté par moi pour pouvoir servir de clé unique pour la table de liaison, sinon, de fait la clé primaire est composée de la paire :

    {ID_Type_Horaire_Contrat, ID_NC}

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pourquoi? simplement car je suis régulièrement amener a changer les champs de la table
    D'abord, une table n'est pas composée de champs mais de colonnes et de lignes !

    En principe, si la BDD est bien modélisée, le changement de sa structure, donc des colonnes dans les tables, voir des tables elles-mêmes, est extrêmement rare, quand il y a un changement fondamental du besoin.

    Quelle est la raison de ce changement fréquent de colonnes ? Et quelles colonnes ? Les identifiants sont par nature invariables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Membre régulier Avatar de Orphey
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 58
    Points : 83
    Points
    83
    Par défaut
    Il ya des éléments autres que les identifiants dans ma table de relation (cfr. post précédent) ce sont ces éléments qui doivent subir des updates.. des updates mais pas de changement de structure..
    La BDD ne doit pas être restructurée..

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Orphey Voir le message
    ce sont ces éléments qui doivent subir des updates.. des updates mais pas de changement de structure..
    Une BDD n'a pas être restructurée!!!
    On est bien d'accord !
    Alors puisque ce ne sont que des updates, pourquoi refuser la structure normalisée avec la clé primaire double ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE REL_DEMANDE_HORAIRE
    SET 
      TYPE_TEMPS_PARTIEL_DEM = 'val1',
      HEURE_HEBDO_DEM = 'val2'
      HORAIRE_DESCRIPTION_DEM = 'val3'
    WHERE ID_TYPE_HORAIRE_CONTRAT = 12
      AND ID_NC = 8
    Pas bien compliqué quand même !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Aide pour passer d'un MCD à un MLR
    Par louya dans le forum Merise
    Réponses: 5
    Dernier message: 11/11/2010, 23h06
  2. [MCD] Aidez moi à corriger mon MCD avant de generer MLR
    Par erusie dans le forum Schéma
    Réponses: 14
    Dernier message: 26/08/2010, 20h03
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  4. [MCD] [BEST_PRACTICE] MCD d'une videotheque
    Par tonyskn dans le forum Schéma
    Réponses: 4
    Dernier message: 28/05/2003, 14h43
  5. [BEST_PRACTICE][Merise] MCD & gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 4
    Dernier message: 16/04/2003, 17h07

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