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 :

Meilleure méthode pour tableau 2D


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Meilleure méthode pour tableau 2D
    bonjour tout le monde !

    je veux modéliser une table à 2 dimensions et l'afficher, rien de très sorcier, je veux juste être sûr d'utiliser la méthode la plus optimale pour le faire.

    j'ai trois tables:
    ligne: id, nom
    colonne: id, nom
    valeur: id, id_ligne, id_colonne, valeur

    je veux récupérer une vue:

    XXXXXXXXXX | col1.nom | col2.nom | col3.nom ...
    =========================================
    ligne 1.nom | valeur 1.1 | valeur 1.2 | valeur 1.3
    ----------------------------------------------------------------------------------
    ligne 2.nom | valeur 2.1 | valeur 2.2 | valeur 2.3
    ----------------------------------------------------------------------------------

    donc les idées de base qui me viennent sont:
    - grosse requête avec jointure, du coup une ligne par valeur, puis je
    remap côté script
    - requête sur les lignes puis une requête par ligne pour récupérer les colonnes, fait côté script aussi

    y a vraiment pas d'autre moyen ? je peux pas le faire d'un coup en SQL pur ? avec les procédures peut être ? mais je vois pas comment...
    ou je me plante dans la modélisation ?

    sachant que j'ai derrière de la pagination et du tri sur les colonnes, les deux méthodes auxquelles je pense m'embêtent car il faut que je récupérer tout le tableau en SQL (!) puis que je passe ma pagination tri en script... :s

    merci d'avance !
    greg

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    à quoi correspondent vos col1.nom, col2.nom, etc et aussi quel est le trie que vous voulez faire ?

    Dernière question, quel est votre SGBD ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Bonjour

    pensez aussi à regarder sur le forum les solutions proposées; car il s'agit là d'une question récurrente en utilisant comme mot-clé :
    * croisée
    * pivot
    * ...

    et en ciblant bien le SGBD car la solution peut être différente entre eux comme le sous-entend Punkoff

    Mais tout est déjà sur le site
    Merci d'ajouter un sur les tags qui vous ont aidé

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 383
    Points
    18 383
    Par défaut
    Au niveau de la modélisation, vous avez tout faux.

    Vous venez d'être le 546542375ème inventeur du modèle EAV (Entity Attribute Value), qui est "souple" puisque malléable selon tous les besoins.

    Les requêtes d'insertions sont relativement simples à écrire, les requêtes d'extractions sont horriblement compliquées, les requêtes ensemblistes sont à s'arracher les cheveux.
    Les temps d'interrogation explosent dès la moindre petite montée en charge.

    Pas grand-chose n'est optimisable dans ce modèle.

    Si c'est possible, laissez tomber tout de suite et revenez vers une modélisation "classique".

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    @punkoff

    oui j'ai raccourci en fait c'est colonne1.nom, colonne2.nom, ce sont les lignes de la table des colonnes. Donc le tri que je souhaite faire est simplement sur les valeurs d'une colonne.
    Mon SGBD est postgresql.

    @dehorter olivier et @Waldar

    je pensais bien que c'était un problème récurrent mais en effet je cherchais avec les mauvais mots clé !

    @Waldar

    oui j'en ai bien peur... mais j'espérais qu'il existait peut être des méthodes spéciales que je ne connaissais pas encore pour extraire les données...

    je vais réfléchir à tout ça !! merci à tous

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

Discussions similaires

  1. Meilleure méthode pour enregistrer un tableau 2D
    Par mathieu_t dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 12/09/2009, 19h54
  2. Réponses: 2
    Dernier message: 18/11/2005, 16h29
  3. Meilleure Méthode pour parcourir un tableau
    Par KPitN dans le forum MFC
    Réponses: 7
    Dernier message: 24/02/2005, 16h19
  4. Meilleur méthode pour stocker mes données
    Par cyberlewis dans le forum Windows
    Réponses: 6
    Dernier message: 03/07/2004, 11h53
  5. Réponses: 3
    Dernier message: 24/06/2004, 11h23

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