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 :

logiciel de Fusion / Jointure de plusieurs requêtes


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut logiciel de Fusion / Jointure de plusieurs requêtes
    Bonjour,

    je cherche un petit logiciel qui puisse effectuer la fusion automatique de deux requêtes (au moins pour un de ces formats là : sql / xquery / algèbre relationnelle).

    Nous aurions par exemple
    Select A, B
    From Table1
    Where A="truc"

    Select C, B
    From Table2
    Where C="machin"

    qui seraient fusionnées en quelque chose du genre :

    Select A, Table1.B, C
    From Table1, Table2
    Where A="truc"
    And C="machin"
    And Table1.B = Table2.B

    Pour info : un tel outil permettrait alors d'effectuer une description d'une base de données en fonction de son contenu sémantique. En associant cette description à un langage logique contenant des variables, il est alors possible d'exprimer des requêtes en logique, de combiner ces descriptions à volonté sans pré-définir pour chacune de ces combinaisons une requête sql précise... Encore faut-il avoir le petit logiciel qui fusionne automatiquement les petites desciptions.

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    je cherche toujours, si vous avez ça sous le coude, n'hésitez pas

    Merci

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 744
    Points
    52 744
    Billets dans le blog
    5
    Par défaut
    1) vos requêtes utilisent une syntaxe obsolète qui ne devrait plus être en vigueur depuis la norme de 1992...
    En l'occurrence vos requêtes devraient s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT A, B
    FROM   Table1
           INNER JOIN Table2
                 ON Table1.B = Table2.B
    Where A='truc'
    AND C='machin'
    et utiliser le guillemet et non l'apostrophe comme délimiteur de chaine

    2) de tels outils on peut de chance d'exister car ceci doit être fait au niveau du modèle conceptuel.

    3) il existe la syntaxe du NATURAL JOIN pour ce faire.

    Lisez les articles que j'ai écrit à ce sujet :
    Jointure normalisées (1992) :
    http://sqlpro.developpez.com/cours/sqlaz/jointures/#L2
    NATURAL JOIN :
    http://sqlpro.developpez.com/cours/s...ointures/#L2.1


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Je me suis peut être un peu mal expliqué, je reprécise nos objectifs.
    Citation Envoyé par SQLpro
    1) vos requêtes utilisent une syntaxe obsolète qui ne devrait plus être en vigueur depuis la norme de 1992...
    Disons que notre problématique n'est pas vraiment syntaxique, mais je vous remercie pour cette information.
    Nous devrions plutôt nous orienter vers une notation XQuery.
    Mes exemples étaient approximatifs pour présenter simplement l'idée.
    Citation Envoyé par SQLpro
    de tels outils ont peut de chance d'exister car ceci doit être fait au niveau du modèle conceptuel.
    Dans une optique d'intégration de plusieurs bases de données éventuellement contradictoires et complémentaires, nous aimerions pouvoir accéder à des sous-parties précises de la base de données, sans pour autant modifier les bases.
    Ainsi, le contenu serait décrit par des concepts (cette base donne des A, des B, des C etc.), ce qui permet d'avoir une petite requête sql ou Xquery qui retourne A et/ou des B et/ou des C, et/ou des couples (A,B) ou des triplets (A,B,C) de façon distincte.
    En revanche, on souhaite pouvoir combiner toutes ces recherches, toutes ces jointures, sans pour autant prévoir à l'avance toutes les requêtes permettant de combiner tout cela.
    Il faudrait donc qu'on puisse générer les nouvelles requêtes à la volée.
    Dans mon exemple les données sont accessibles par couple (on suppose que les couples correspondent à des clés par exemple). Quand on nous dit je veux des A et des B et des C, on génère la requête qui va chercher à la fois les A et B d'un côté en effectuant la jointure qui va bien avec celle qui va chercher les B et les C de l'autre.

    Il faut bien garder en tête qu'on n'a pas le temps d'envisager toutes les combinaisons de requêtes à la main et qu'il faut envisager toutes les requêtes atomiques sur la base de données, ainsi que toutes les combinaisons possibles de ces requêtes atomiques.
    Citation Envoyé par SQLpro
    il existe la syntaxe du NATURAL JOIN pour ce faire.
    En effet, la jointure naturelle est déjà très ancienne et très répandue. je ne pense pas qu'une telle approche mise au goût du jour puisse être facilement adaptée car elle ne permet pas par exemple un niveau d'abstraction suffisant et peut laisser un certain nombre d'ambiguïtés lorsque les colonnes à joindre n'ont pas les mêmes noms ni exactement les mêmes types.

    Peut être avez-vous de nouvelles références à nous faire parvenir au regard de ces nouvelles données, ou de nouveaux articles à nous proposer ?

    Merci beaucoup

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 744
    Points
    52 744
    Billets dans le blog
    5
    Par défaut
    Je ne pense pas que vous trouverez grand chose sur le sujet...

    Mais un tel outil est assez simple à faire

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par SQLpro
    Je ne pense pas que vous trouverez grand chose sur le sujet...
    Mais un tel outil est assez simple à faire
    En tout cas, avant de réinventer la roue, mieux vaut s'assurer qu'elle n'a pas déjà été créée.

    La prise en compte de requêtes imbriquées peut être un peu plus complexe, la gestion de l'union, de l'intersection, order by, groupe by.... Que sais-je ?
    D'autant plus que ce n'est absolument pas le coeur de notre projet et que nous sommes déjà en sous-effectif.

    Merci pour votre réponse.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Nous avons trouvé ces spécifications qui devraient constituer un bon point de départ pour notre implémentation.

    Medor

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

Discussions similaires

  1. Requête de jointure sur plusieurs ligne
    Par thelover2fr dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/05/2012, 13h35
  2. Plusieurs jointures dans une requête
    Par mouss4rs dans le forum Langage SQL
    Réponses: 10
    Dernier message: 07/09/2011, 15h19
  3. [Vxi3] Fusion résultat de plusieurs requêtes
    Par tomanu dans le forum Deski
    Réponses: 5
    Dernier message: 07/12/2010, 18h34
  4. logiciel de Fusion / Jointure de plusieurs requêtes Xquery
    Par Alain_B dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 11/04/2006, 14h29
  5. Plusieurs jointures dans une requête sql
    Par Pero dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 20h59

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