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

Requêtes et SQL. Discussion :

Faire pointer une table vers n tables liées


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Par défaut Faire pointer une table vers n tables liées
    Bonjour,

    Je possède une base avec n tables liées, toutes ayant la même structure.
    Serait-il possible de construire une seule table pointant vers ces n tables liées (afin que les utilisateurs n'aient pas à effectuer leur requête sur n tables mais sur une seule)?

    D'avance merci.

    Bonne journée à tous.

    Ted.

  2. #2
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    N tables avec la même structure = un gros problème de modélisation de la base de données. A mon avis, il faut revoir complètement l'ensemble.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Par défaut
    Bonjour Tofalu,

    Non il s'agit d'une architecture imposée par les limitations Access, à savoir: la taille d'une base est limitée à 2 Go, or mes n tables font toutes une taille supérieure à 2 Go!

    Il s'agirait donc plus d'une erreur dans le choix d'Access pour gérer un tel volume de données mais ce logiciel m'est imposé!

  4. #4
    Membre éclairé
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Par défaut
    Bonjour.

    MySQL est il dispo chez vous ? Ceci afin de stocker toutes les donnees dans une seule table. On relie alors, par ODBC, dans Access, a la table MySQL. Une simple requete (dans la limite du raisonnable) permet de faire apparaitre les quelques infos que l'on desire faire apparaitre.

    Sinon en utilisant Access uniquement, si on veut traiter une a une les tables, on peut au choix :
    - a partir du moment ou les noms de tables sont simplifies, automatiser la recuperation des donnees de chaque table l'une apres l'autre par VBA. On relie la table a la 1ere des n tables, on fait ce que l'on doit faire, puis on relie la table a la 2eme des n tables, on fait ce que l'on doit faire etc.
    - a partir du moment ou chaque fichier Access porte a peut pret le meme nom (exemple: "Fichier 1", "Fichier 2" etc) et ou dans chaque fichier le nom de la table est identique, on va directement chercher les infos qu'il nous faut dans chaque fichier Access contenant chacune des tables. Par VBA il est possible d'ouvrir un deuxieme fichier Access et de gerer les donnees. On ne rapatrie dans le fichier "conso" dans une meme table que ce qui nous interesse. Mais ca peut etre long.

    Cdlt

  5. #5
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Serait-il possible de construire une seule table pointant vers ces n tables liées (afin que les utilisateurs n'aient pas à effectuer leur requête sur n tables mais sur une seule)?
    Non, il n'y a pas de solution. Une requête avec union serait suicidaire puisque UNION opère un tri. Le choix de la technologie est carrément mauvais.

    Juste par curiosité, combien de lignes contiennent ces tables ?

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Le mieux serait l'utilisation de vues selon vos besoins et si le mode C/S le permet.


    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  7. #7
    Membre éclairé
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Par défaut
    Bonjour.

    Les fichiers Access contenant les tables d'origine sont ils compresses de temps en temps ?
    Je suppose qu'il y a un fichier Access par table.

    Cdlt

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Par défaut
    Je répond un peu tardivement...
    Je n'ai pas trouvé de solutions, ni ici ni ailleurs!

    Citation Envoyé par Tofalu Voir le message
    Non, il n'y a pas de solution. Une requête avec union serait suicidaire puisque UNION opère un tri.
    Tout à fait, j'ai d'ailleurs essayé et c'est impossible (problème d'espace disque temporaire)

    Le choix de la technologie est carrément mauvais.[/QUOTE]

    Je sais mais je n'ai pas la main sur ce choix.

    Juste par curiosité, combien de lignes contiennent ces tables ?[/QUOTE]

    Environ 2 millions...

    Citation Envoyé par jj4822 Voir le message
    Bonjour.

    Les fichiers Access contenant les tables d'origine sont ils compresses de temps en temps ?
    Cdlt
    Oui

    Je suppose qu'il y a un fichier Access par table.
    Oui

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Par défaut
    Citation Envoyé par Chtulus Voir le message
    Bonjour,

    Le mieux serait l'utilisation de vues selon vos besoins et si le mode C/S le permet.


    Serait il possible d'avoir quelques infos sur l'utilisation des vues dans ce cas?
    Le mode C/S?

  10. #10
    Membre éclairé
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Par défaut
    Bonjour.

    Si MySQL n'est pas disponible.
    S'il y a un fichier par table.
    Dans le cas ou les vues ne permettent pas de resoudre le probleme (si ca resout tant mieux).

    Peut etre faire de la facon suivante :
    - dans chaque fichier d'origine une ou plusieurs requetes permettant de faire apparaitre les donnees selon le choix de l'utilisateur + une table chargee de recevoir les criteres choisis par l'utilisateur.
    - rappatriement dans le fichier conso des seules donnees correspondant au critere.

    Ainsi :
    1) dans le fichier conso, l'utilisateur selectionne ses criteres d'affichage
    2) le programme va :
    - dans chaque fichier Access d'origine alimenter une table devant contenir les criteres choisis par l'utilisateur puis fermer cette table
    - dans chaque fichier Access d'origine ouvrir la requete pour recuperer les infos a rappatrier
    - rappatrier les infos de la requete du fichier d'origine dans une table du fichier conso ou d'un fichier intermediaire

    En fin de programme, on peut afficher ce qui a ete rappatrie.

    On peut remplacer le rappatriement des donnees de requete en table par la creation d'un fichier txt a importer ensuite dans le fichier conso.

    Problemes :
    - le processus peut etre tres long (ouverture des fichiers l'un apres l'autre, d'autant plus que chaque fichier fait 2 G, puis rappatriement des donnees)
    - si malgre les criteres choisis la taille des donnees recuperees est > a 2G, le probleme n'est pas resolu.

    Cdlt.

Discussions similaires

  1. [Spip] Faire pointer une rubrique vers une autre page
    Par clgmoliere dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 15/12/2008, 12h04
  2. [MySQL] href d'une donnée de ma table vers une autre donnée de ma table
    Par <-mini-> dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/06/2008, 09h00
  3. transfert d'une table vers 3 tables differentes
    Par skillipo dans le forum Requêtes et SQL.
    Réponses: 26
    Dernier message: 26/11/2007, 15h37
  4. transfert d'une table vers 3 tables differentes
    Par skillipo dans le forum VBA Access
    Réponses: 0
    Dernier message: 21/11/2007, 17h42
  5. Réponses: 4
    Dernier message: 06/03/2007, 12h00

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