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 :

[Looping] Tracer une CIF


Sujet :

Looping

  1. #1
    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 [Looping] Tracer une CIF
    Bonjour,

    Dans Looping j'ai un cas typique de CIF :

    Règles de gestion :
    R1 : Un contrat de sous-traitance concerne un client et un client peut être concerné par plusieurs contrats de sous-traitance.
    R2 : Un contrat de sous-traitance peut faire l'objet de plusieurs comptes-rendus et un compte-rendu être l'objet d'un seul contrat de sous-traitance.
    R3 : Un client peut valider plusieurs comptes-rendus et un compte-rendu peut être validé par un client.
    R4 : Un client ne peut valider un compte-rendu que s'il est l'objet d'un contrat de sous-traitance qui le concerne. <== CIF

    Je clique sur CIF, je tire un premier lien vers l'association "Valider" mais ensuite je n'arrive pas à tirer des liens vers les entités-types Client, Contrat_sous_traitance et Compte-rendu.

    Dans quel ordre doit-on faire ça et comment ?
    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 !

  2. #2
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    678
    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 : 678
    Points : 2 716
    Points
    2 716
    Par défaut
    Bonsoir,

    Si j'ai bien compris, "Contrat" n'est pas directement relié à l'association "Valider" qui associe "Client" et "Compte-rendu".
    Or, une CIF ne concerne que les classes d'entités associées autour d'une même association (dans le cas d'une tri-pattes notamment), ce qui expliquerait pourquoi Looping ne veut pas tirer un lien entre "Valider" et "Contrat"...
    Dans ton cas, je pense qu'il s'agit plutôt d'une contrainte inter-associations d'inclusion (outil à gauche de la CIF dans Looping), avec :
    - "Faire l'Objet" en association cible (à sélectionner en 1er),
    - "Valider" en association émettrice",
    - les classes d'entités concernées en pivot.
    A noter que Looping ne génèrera rien de spécifique au niveau du MLD et donc du script SQL : pour cela, il faut rajouter une règle de gestion avec le code SQL décrivant le code de la contrainte.

    N'hésite pas à envoyer une image du modèle pour regarder ça de plus près.
    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

  3. #3
    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
    Philippe,


    Te voici donc "loopingueur" !


    Je suis d’accord avec Paprick, une CIF est en fait une contrainte d’unicité et ne concerne pas ton problème. Quoi qu’il en soit, tu peux te simplifier la vie, il te suffit de modéliser par exemple ainsi :

    Nom : CinePhil(inclusion).png
Affichages : 1446
Taille : 12,5 Ko

    L’identification relative utilisée pour la cardinalité 1,1 portée par la patte connectant COMPTE_RENDU et CON_COM n’est pas indispensable, mais au stade SQL cela permet d’éviter la jointure des tables COMPTE_RENDU_VALIDÉ et CONTRAT pour connaître l’identifiant du client concerné. A la limite, l’entité-type COMPTE_RENDU_VALIDÉ peut dégager, au profit d’un booléen dans COMPTE_RENDU (un compte-rendu est validé ou pas).

     
    (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.

  4. #4
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    678
    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 : 678
    Points : 2 716
    Points
    2 716
    Par défaut
    Je plussoie la solution de François ! avec un petit faible pour le booléen dans COMPTE_RENDU.
    L'identifiant relatif ne s'impose donc pas, et le schéma relationnel devient à la fois simple et efficace.
    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
    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
    Vous avez raison tous les deux. Le compte-rendu peut avoir d'autres états que validé par le client donc je supprime l'association. J'en ai créé une autre avec une table de référence des états de compte-rendu.

    Merci.
    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 !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2014, 23h08
  2. Tracer une adresse ip ?
    Par maadadi dans le forum Développement
    Réponses: 4
    Dernier message: 27/01/2011, 22h41
  3. [VB.NET] Tracer une ligne (OnPaint)
    Par Emcy dans le forum Windows Forms
    Réponses: 6
    Dernier message: 24/03/2005, 13h09
  4. [FP]Tracer Une ligne avec Dev-pascal
    Par yffick dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 17/12/2003, 16h33
  5. Tracer une ligne droite sans les interruptions
    Par Stef784ever dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 25/11/2002, 01h22

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