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

DBDesigner Discussion :

[DEB] DBdesigner 4 et référence circulaire


Sujet :

DBDesigner

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Par défaut [DEB] DBdesigner 4 et référence circulaire
    Bonjour,
    Je me suis auto-formé à la programamtion PHP-MySQL aussi j'ai des bases trouées comme du gruyère, aussi désolé par avance si je dis de grosses conneries.

    Voilà j'utilise DBDesigner pour créer mes tables. J'ai une table "article" et une table "média" reliées par une relation 1-n (la table média contient les infos et chemins des photos représentant mes articles). La clé primaire de ma table "article" est donc une clé étrangère dans ma table "média".

    Maintenant je voudrais rajouter la possibilité d'avoir une photo qui prime sur les autres pour représenter un article. Je rajoute donc une relation 1-1 pour faire une référence circulaire et rajouter la clé primaire de ma table "media" dans ma table "article". Lorsque je veux faire la synchro avec ma base de données, DBDesigner me jette comme un mal-propre en me disant qu'il y a une référence circulaire (je le sais c'est moi qui l'ai voulu). Je cherche...je découvre que cela est un problème qui se règle avec la déférabilité. Si je faisais un script ça devrait donner ça, n'est ce pas ?

    CREATE TABLE article (
    idART INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    ...bla bla bla
    media_idMED INTEGER UNSIGNED NOT NULL,
    PRIMARY KEY(idART),
    );

    CREATE TABLE media (
    idMED INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    article_idART INTEGER UNSIGNED NOT NULL,
    ... bla bla bla
    PRIMARY KEY(idMED),
    INDEX media_FKIndex1(article_idART)
    );

    ALTER TABLE article
    ADD CONSTRAINT article_FKIndex1 FOREIGN KEY REFERENCES media (idMED)
    DEFERRABLE INITIALLY DEFERRED

    et après je fais un UPDATE de ma table "article" quand mes photos sont entrées dans ma table "media" (j'espère que j'ai bien saisie la notion de référabilité...?)

    Mais moi je veux continuer à gérer le design de ma base avec DBDesigner. Aussi je ne sais pas comment faire pour arriver à mon but.
    Quelqu'un peut-il m'aider ? (question subsidiaire...il est bien possible de faire une référence circulaire dans MySQL ???)
    Merci,
    Ranbaz

  2. #2
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Bonjour,

    J'ai eu ce problème aussi. Je continue à gérer la base avec DBDesigner pour la conception, mais lors de l'export des tables, je décoche les contrainte d'intégrité, puis je les exporte à part.

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/07/2006, 17h09
  2. Réponses: 4
    Dernier message: 19/06/2006, 18h02
  3. [SQL 2K5] Pb : ON DELETE CASCADE : référence circulaire
    Par n00bi dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 29/05/2006, 09h48
  4. Référence circulaire
    Par Mvu dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2006, 15h38
  5. [EXCEL] : référence circulaire à cause d'une macro
    Par repié dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/01/2006, 11h41

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