|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 2 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
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 ? |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
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
|
|
|
00
|
|
|
#4 |
![]() ![]() |
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 |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 2 ![]() |
@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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com