Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 20h13   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Etats-Unis

Informations forums :
Inscription : juin 2011
Messages : 2
Points : 1
Points : 1
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
gregcrv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 07h26   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 638
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 638
Points : 2 630
Points : 2 630
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 ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 09h08   #3
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
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
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 09h21   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 431
Points : 10 431
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
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".
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 18h27   #5
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Etats-Unis

Informations forums :
Inscription : juin 2011
Messages : 2
Points : 1
Points : 1
@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
gregcrv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h03.


 
 
 
 
Partenaires

Hébergement Web