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

WinDev Discussion :

Question d'analyse ou disons de gestion d'une liaison dangereuse [Généralités]


Sujet :

WinDev

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut Question d'analyse ou disons de gestion d'une liaison dangereuse
    Bonjour à toutes et tous,

    Ce n'est pas vraiment propre à Windev, mais comme je développe en Windev, et que je sais qu'il y a des super pros ici, je pense que c'est le bon endroit pour poser ce problème.

    Ma question est simple : Comment feriez-vous, pour décrire une liaison comme suit ?
    J'ai une table de "régions" (T_Regions), qu'importe ce qu'est une région dans ce cas. Une région est définie par un "Nom", un "Type de Région" (lien avec la table "T_TypRegion"), une "Description", une "Carte" (nom du fichier carte) et appartient à un "Monde" (Les "Mondes" sont dans une table "T_Mondes")

    Mais voilà mon problème : Une région peut-être englobée dans une autre région. Une région mère, en quelque sorte. Et c'est là que je coince dans mon analyse. Comment feriez-vous pour avoir cela ? Soit je rajoute dans la table "T_Region" une rubrique "RegionMère" qui pointe sur une autre région, mais je risque d'avoir du mal à faire mes jointures, soit j'ai une table des RégionsFilles (ou des RégionsMeres, ça revient au même). D'après vous ? Quelle solution apporter ?

    Sachant qu'une Région ne peut avoir qu'une Mère, mais plusieurs Filles. Il faut en plus que j'évite qu'une "Fille" soit Mère d'une région qui soit dans ma filiation (boucle infinie)
    Exemple à ne pas avoir : Région1 a Region2 et Région4 comme filles
    Région2 a Région3 et Région7 comme filles
    Région4 a Région9 et Région14 comme filles

    ALERTE : Région3 a Région1 comme fille (Ça, ce n'est pas possible, sinon je boucle à l'infini dans la recherche des filiations de la Région1)

    Voilà, comment faire cela, en évitant les usines à gaz... ?

    Merci d'avance pour vos lumineuses idées

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    J'ai eu la problématique lorsqu'il a fallu que je gère des familles de produits, chaque pouvant être mère et/ou fille.
    Donc j'ai opté pour l'ajout d'une rubrique IDParent dans mon ficher Famille.

  3. #3
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    L'idéal est de passer par 2 liaisons réflexives.
    Nom : screenshot_31-03-2020 11h55_n°01.png
Affichages : 175
Taille : 6,8 Ko
    Un contrôle avant l'ajout de FK_RégionMère (nulle ou pas) avant l'ajout permettra de vérifier si la région à ajouter dans la filiation est éligible
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    A mon avis, un seul idparent est nécessaire.
    Pour tester, il faudra utiliser une fonction récursive.

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    La rubique 'RegionMere' dans la table Région est la bonne solution.
    Si tu veux te rassurer avec un peu de documentation, je pense que tu peux chercher avec le mot clé 'association Récursive' ou 'association Réflexive'.

    Tu peux éventuellement ajouter une autre colonne 'Level_From_Top' qui t'aidera à éviter les boucles.

    Dans cette colonne Level_From_Top, soit tu t'imposes : Level_From_Top(Fille) = Level_From_Top(Mere)+1 , soit tu t'imposes seulement Level_From_Top(Fille) > Level_From_Top(Mere). Ca doit même pouvoir se gérer par un trigger.
    Et ces 2 options permettent toutes 2 d'éviter des boucles.

    J'ai eu un cas un peu similaire. Disons qu'on avait des régions, des départements et des communes.
    Certaines entités était clairement identifiées comme Régions, comme départements ou comme communes, mais d'autres étaient plus ou moins à cheval sur 2 statuts.

    Et du coup des communes étaient directement rattachées à des régions...
    Avec la contrainte Level_From_Top(Fille) > Level_From_Top(Mere) , ça se passait très bien. La contrainte Level_From_Top(Fille) = Level_From_Top(Mere)+1 aurait été plus problématique dans ce cas.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    He bien merci à tous pour vos réponses rapides et claires. En plus, elles sont sur la même longueur d'ondes, donc pas de doute, c'est la bonne manière de faire.

    Merci encore

    Et bons dév...

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/03/2007, 16h27
  2. Réponses: 7
    Dernier message: 17/02/2007, 09h22
  3. [PEAR][Auth] Question sur la doc et la gestion des sessions
    Par nathieb dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/11/2006, 19h35
  4. Question d'analyse : avis d'expert
    Par Rimak2 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 04/01/2006, 10h47
  5. Analyses du progiciel de gestion de stock COSWIN CS 5.2
    Par africanroseonlyone dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 13/10/2005, 15h01

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