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

PHP & Base de données Discussion :

créer une table pour une relation réflexive


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 8
    Points
    8
    Par défaut créer une table pour une relation réflexive
    Bonjour,

    j'ai une classe cause en relation avec elle même "relation réflexive", les multiplicités 0...* - 0...*
    pour schématiser cette relation " cause_cause" sous forme d'une table j'éssaie de suivre de script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $link = "
    CREATE TABLE `symp_cause` (
      `id_symptome`  int(11) NOT NULL ,
      `id_cause` int(11) NOT NULL ,
       PRIMARY KEY (`id_symptome`,`id_cause`),
      `fk_symptome` int(11),
      `fk_cause` int(11),
     FOREIGN KEY(fk_symptome) REFERENCES symptome(id_symptome) ON DELETE CASCADE ON UPDATE CASCADE,
     FOREIGN KEY(fk_cause) REFERENCES cause(id_cause) ON DELETE CASCADE ON UPDATE CASCADE
     
    )TYPE=INNODB;";
    $res = mysql_query($link) or die(mysql_error());
    en réalité je ne sais pas comment m'y prendre avec ce type de relation !!!
    Merci à ceux qui pourront m'aider.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Je n'ai pas tout compris. Il va falloir détailler un peu plus.
    Ce que tu souhaites c'est d'avoir la possibilité d'avoir plusieurs causes pour un symptôme et qu'un symptôme devienne une cause d'un autre symptôme ?!!??
    Ou que la paire cause-symptôme devienne la racine d'autres paires causes-symptôme.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    En fait le script que j'ai mis en dessus n'est qu'un modèle de script d'une table de ma bdd , et c'est ce modèle que je veux suivre pour créer ma nouvelle table "cause_cause" qui est dans mon diagramme de classe une relation réflexive ,
    une cause (étant effet) peut avoir une ou plusieurs causes (facteurs contributifs), une cause (étant cause) peut avoir une ou plusieurs causes (effets) on parle de chaîne causale dans la méthode de maintenance MAXER

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Il faut pour cela que tu suives bien l'auto-jointure : parent_id <- id.

    Ensuite je pense qu'il n'est pas judicieux de mélanger causes et symptômes dans une même table, dans la mesure où un symptôme peut-être le résultat de plusieurs causes et selon ton explication, un symptôme peut être à son tour une cause d'un autre symptôme.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 8
    Points
    8
    Par défaut
    merci rawsrc pour ta réponse.
    en fait, symptôme et cause ne sont pas dans la même table , chacun à sa propre table ( il n y a pas de relation réflexive ici), j'ai pris cet exemple juste pour montrer comment je souhaite créer la table "cause_cause"

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Merise, je n'ai même pas regardé le code ;

    une entité Entite_cause définie par x attribut;

    tu peux identifier un ensemble de cause, ou une arboresence si et seulement si les attribut des Entite_cause ont des points communs.

    si :

    Bonheur | vie
    Plaisir | vie

    alors vie à un ensemble de cause ( ou d'effet ma foi, cela dépend ou tu te situe).

    Pour qu'une config puisse se suffire à elle même, ce qui est possible, il faudra quand même des reglès, qui sont, qui peuvent êtres expliquées par le schéma ci-dessus;

    pas très clair, ( je poste quand même ), très intéressant...
    Conception / Dev

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  5. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50

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