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

Langage SQL Discussion :

Jointure en fonction d'une valeur et non d'une colonne


Sujet :

Langage SQL

  1. #1
    Invité
    Invité(e)
    Par défaut Jointure en fonction d'une valeur et non d'une colonne
    Bonjour à tous,

    Désolé pour le titre assez vague, mais je n'arrivais pas à formuler mon soucis autrement.

    Je vous l'explique plus en détail, mais avec quelques modifications pour une meilleure compréhension.

    Pour le suivi médical de personnes (table Personne contenant des informations dessus), on souhaite mettre en place
    des règles de fréquences de consultation obligatoire suivant des prédicats non défini à l'avance. Ceux-ci seront basés
    sur des valeurs existantes d'attributs de la table personne.
    Pour exemple je souhaiterai que les personnnes de 18 ans aillent chez le médecin
    tous les X mois, autre exemple on aimerait que les personnes du sexe masculin aillent chez
    le medecin tout les Y mois. Le but étant qu'après pour une personne donnée on puisse récupérer la règle la plus contraignante parmi toutes celles dont elle est impactés
    (un homme de 18 ans doit aller chez le medecin tout les min(X,Y) mois, logique)

    Mon soucis est pour mettre ça en base je sais pas comment gérer mes jointures de manières dynamyques, dans le sens où l'application qui utilisera la BDD ne devra pas etre mise à jour
    pour chaque règle.

    J'ai fait quelques recherches mais comme les termes clés ne sont pas assez singuliers j'ai rien trouvé de pertinent pour mon problème, c'est pour cette raison que je poste ici.

    Si vous avez des pistes pour m'aider, ça serait très gentil de votre part.
    Si j'ai manqué de clarté, n'hésitez pas à poser des questions,
    Bonne journée à tous !

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Voulez vous simplement vérifier la fréquence des rendez-vous en fonction de différents critères (age, sexe,...), ou voulez-vous également vérifier d'autre règles métier ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour aieeeuuuuu et merci de votre participation,

    En effet les fréquences des rendez vous sont uniquement régis par des critères portant sur la table personne et rien d'autre !

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Est-ce que l'ensemble des colonnes éventuellement concernées est déjà clairement défini ?

    Si c'est le cas, vous n'aurez pas spécifiquement besoin de requête dynamique

    Si ce n'est pas le cas, une modélisation par méta modèle pourrait être judicieuse

  5. #5
    Invité
    Invité(e)
    Par défaut
    Oui, cependant il n'est pas souhaité d'avoir forcément une règle pour chaque valeur de colonne, disons que j'ai caché ce qui me semble être le nerf de la guerre, par peur d'être confus dans mon explication.
    A savoir, la table personne à 2 relations n-n (ascendant, descendant) et que si un ascendant a une certaine caractéristique (je dis n'importe quoi, c'est pour l'exemple, mais il faudrait que l'on puisse dire que les personnes descendantes d'une personne répondant à un prédicat donné, peuvent avoir règle supplémentaire).

    J'arrive à parcourir dans l'arborescence des personnes (à l'aide d'une requête récursive avec la condition d'arrêt qui va bien) mais c'est l'appliquer avec ces règles de consultation que j'arrive pas à concevoir la/les rêquetes à faire pour trouver la règle effective (= la plus contraignante) à appliquer pour une personne donnée.

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par Psychadia Voir le message
    si un ascendant a une certaine caractéristique (je dis n'importe quoi, c'est pour l'exemple, mais il faudrait que l'on puisse dire que les personnes descendantes d'une personne répondant à un prédicat donné, peuvent avoir règle supplémentaire).
    Est-ce que ce type de règle pourra être ajoutée a posteriori ?
    Car en effet, ce n'est plus le même problème.

    En fait il faudrait une description précise de votre besoin pour pouvoir vous aider...

    A savoir, la table personne à 2 relations n-n (ascendant, descendant)
    Une seule suffirait : les enfant de A, ce sont ceux dont A est le parent !

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est souhaité oui, mais une chose à savoir que j'arrive pas à formuler, je vais vous donner un exemple pour essayer d'être clair. On a deux cas possibles, soit on dit qu'une personne ayant eu une maladie précise possède une règle spécifique, soit second cas on souhaite que les ascendants/descendants ayant eu une maladie précise possède une règle. Mais PAS les deux. (Disons que une personne ayant des antécédents médicaux suffit à dire que tout ces ascendants/descendants auront le même statut qu'elle).

    Dis autrement et peut etre de manière plus confuse. Une colonne donnée (indépendamment des valeurs que peut prendre celle-ci) ne peut etre appliqué soit aux personnes reliés à elle, soit à elle uniquement, mais pas les deux. C'est clair ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  2. Réponses: 19
    Dernier message: 11/04/2008, 15h00
  3. affecter une valeur à un id par une fonction
    Par schwarzy2 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 17/03/2008, 09h51
  4. Réponses: 3
    Dernier message: 23/06/2006, 10h03
  5. Réponses: 1
    Dernier message: 22/09/2005, 15h46

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