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

Looping Discussion :

Relation avec 0,1


Sujet :

Looping

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Relation avec 0,1
    bonjour,

    J'ai une relation avec deux cardinalités 0,1 mais je voudrais avoir les deux clés étrangères, comment faire ?
    merci !!
    Nom : deux1-1.png
Affichages : 132
Taille : 44,1 Ko

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 000
    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 000
    Points : 30 892
    Points
    30 892
    Billets dans le blog
    16
    Par défaut
    Hum...

    Vous allez créer un cycle, donc modélisation hasardeuse.

    Il faudrait que vous en disiez plus sur le pourquoi de cette situation.
    (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.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut le besoin
    J'ai une demande faite par un client qui concerne un type de pièce
    j'ai des pièces qui sont d'un type donné

    Une fois la demande insérée , le service vient affecter à cette demande une pièce particulière (ou pas)
    je veux de la demande voir le pièce concernée et de la pièce trouver la demande qui a été associée
    bien sur je peux retrouver l'information sans clé étrangère
    c'est la première fois que je rencontre ce besoin particulier

  4. #4
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2019
    Messages : 677
    Points : 2 711
    Points
    2 711
    Par défaut
    Bonsoir,

    Effectivement, avoir une clé étrangère dans chaque table faisant référence à l'autre table, conduit à une référence circulaire, ce qu'il faut éviter.
    Par contre, dans la fenêtre de l'association, vous pouvez cocher la case "Générer une table d'association dans le MLD" ; cela donnera le résultat suivant :

    Entité_1 = (Id_Entité_1);
    Entité_2 = (Id_Entité_2);
    Asso_1 = (#Id_Entité_1, #Id_Entité_2);


    Bonne continuation !
    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

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut et pourtant
    bonsoir,

    Merci pour votre aide.
    oui bien sur je peux le faire autrement mais j'essaie de reproduire un sujet dont la modélisation a été faite comme cela avec windesign il me semble mais je n'arrive pas à la reproduire !!

    Nom : capture.png
Affichages : 104
Taille : 58,5 Ko

  6. #6
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2019
    Messages : 677
    Points : 2 711
    Points
    2 711
    Par défaut
    Le problème, au moment de la création des tables, est que vous faites référence à la table "Demande" alors qu'elle n'a pas encore été créée...
    Donc, pour palier ce problème, Win Design procèdera sûrement au CREATE TABLE sans la clé étrangère et la rajoutera ensuite avec un ALTER TABLE.
    Ceci dit, le problème de référencement circulaire restera entier dans bon nombre de situations où vous devrez faire référence à une entité qui n'a pas encore été créé.
    Sans parler de l'utilisation systématique de NULL, ce qui n'est jamais recommandé (d'où la solution que je vous ai proposée qui les éviter).

    Malgré tout, si vous tenez absolument à obtenir ces 2 clés étrangères, vous pouvez utiliser l'outil "Règle" de Looping et y indiquer le code SQL du ALTER TABLE permettant l'ajout de la contrainte.
    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

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Merci patrick, je voulais surtout comprendre pourquoi je n'arrivais pas à reproduire le cas.
    Je suis pas non plus d'accord pour maintenir la référence circulaire, je vais donc en garder une.

    J'attends la v4.1 avec impatience, cet outil est super !!

    Merci et bonne soirée.

    Lydie

Discussions similaires

  1. table relation avec sqlserver
    Par salmer dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/04/2006, 14h07
  2. [Performances]Filtre et tri en relation avec DB
    Par stoukou dans le forum Général Java
    Réponses: 6
    Dernier message: 19/09/2005, 11h46
  3. Relations avec 3 champs
    Par koolkris dans le forum SQL
    Réponses: 2
    Dernier message: 14/09/2005, 12h02
  4. Réponses: 2
    Dernier message: 22/07/2004, 00h27
  5. Réponses: 2
    Dernier message: 26/09/2003, 15h54

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