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 :

Passage mcd au mld: 2 associations pour 2 entités [MLD]


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Passage mcd au mld: 2 associations pour 2 entités
    Bonjour,

    Je bloque sur un cas particulier de passage du mcd au mld. J'ai 2 entités reliées par 2 associations avec des cardinalités de 1,n-1,1 pour la première et 1,1-1,n pour la deuxième (voir pièce jointe).

    J'ai effectué le passage du mcd au mld de la façon suivante:

    BUREAU (numB, nomB, #numP)
    PERSONNEL (numP, nomP, pnomP, #numb)
    DOSSIER (numD, nomD, #numB)
    INSTRUCTION(#numD, #numP, nbh)

    Le problème est que lorsque je veux créer la base de données j'obtiens une erreur car la table BUREAU ne peut être créée avant la table PERSONNEL et inversement. Est-ce que quelqu'un pourrait me dire la où j'ai fait une erreur svp?

    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 065
    Points
    2 065
    Par défaut
    Bonjour kaso54,

    Essaye de créer les 2 tables (CREATE TABLE) sans les clés étrangères puis rajoute-les ensuite (ALTER TABLE xxx ADD CONSTRAINT etc.)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Merci pour la réponse

    J'y ai pensé mais est-ce que ça semble correcte dans la création d'une base ?

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 112
    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 112
    Points : 31 585
    Points
    31 585
    Billets dans le blog
    16
    Par défaut
    L'outil a détecté un cycle, et s'alarme en conséquence. Certains outils (par exemple Power AMC) permettent de ne pas en tenir compte et donc de pouvoir générer un MLD.

    Ensuite, tout dépendra du SGBD utilisé, à savoir s’il est relationnel, s'il est conforme à la norme SQL, c'est-à-dire si le contrôle de l'intégrité référentielle peut être différé, déclenché seulement une fois qu'on a créé les valeurs qui vont bien pour BUREAU et PERSONNEL (voir les mots-clés DEFERRABLE, INITIALLY IMMEDIATE, INITIALLY DEFERRED, SET CONSTRAINTS, ...)

    Dans le contexte de la théorie relationnelle, les choses sont bien plus simples, car on peut soumettre les INSERT pour BUREAU et PERSONNEL dans le même paquet : instructions INSERT séparées par des virgules, paquet fermé par un point-virgule.

    Autrement dit, l'outil n'a aucune raison de bloquer au niveau MCD, car il ne sait pas quel SGBD vous utiliserez par la suite. Il ne pourrait rouspéter que s'il y avait une erreur conceptuelle de votre part.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Ok. Je vais le faire comme ça alors.
    Merci pour vos réponses :-)

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 20/09/2010, 18h02
  2. Passage MCD vers MLD. Créer la table jointure.
    Par Oishiiii dans le forum PowerAMC
    Réponses: 6
    Dernier message: 24/03/2010, 21h49
  3. Réponses: 1
    Dernier message: 07/12/2008, 14h38
  4. Passage MCD complexe à MLD, conseil pour le MCD
    Par Kalion dans le forum Schéma
    Réponses: 9
    Dernier message: 22/10/2008, 13h41
  5. MCD ou MLD pour postgresql?
    Par jujuz dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 26/01/2005, 22h22

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