|
Page Précédente | |
Auteur | Sujet : Récupérer des imbrications multiples dans une table MySQL |
Publicité | Posté le 23-01-2006 à 15:41:47 |
omega2 | Tu peux aussi récupérer la table en entier en une fois, la stocker dans un tableau en deux dimensions et travailler sur ce tableau pour reproduire l'arborescence.
|
skeye |
--------------- Can't buy what I want because it's free - |
Dj YeLL $question = $to_be || !$to_be; | Ah oui, très bonne idée, il y a vraiment des fois où je me demande à quoi je pense
--------------- Gamertag: CoteBlack YeLL |
afbilou pouet your life | Le mieux serait de revoir ta procedure d'enregistrement des données.
|
afbilou pouet your life | tu as donc un tableau comme celui ci en base :
Message édité par afbilou le 23-01-2006 à 18:05:06 |
skeye | Il dit qu'il voit pas ce que ça change au problème du monsieur. --------------- Can't buy what I want because it's free - |
skeye | ...et en plus il est pas binaire, son arbre. --------------- Can't buy what I want because it's free - |
afbilou pouet your life | Bah une requete SQL ... et pas de traitement ... et t'as tous les resultats ...
|
omega2 | afbilou > Ce qui veut dire : 10 éléments maximum dans le niveau suivant pour un noeud donné si on prend des nombres décimaux, 16 pour de l'hexadécimal, 26 si on prend que les lettres et 36 si on prend les lettres et les chiffres.
|
Publicité | Posté le 23-01-2006 à 18:09:00 |
skeye |
Message édité par skeye le 23-01-2006 à 18:12:49 --------------- Can't buy what I want because it's free - |
skeye | à noter, sous oracle tu as les instructions connect by/start with pour ce genre de sport...je ne sais aps si mysql propose un truc proche... --------------- Can't buy what I want because it's free - |
afbilou pouet your life | S'il y a 300 elements ... et qu'il stocke un "1" ou un "0" sous forme de chaine de caractere (donc 1 octet par chiffre) ... dans le pire des cas il se retrouve de toute facon avec une occupation memoire de la base de données de 300*300 = 90ko ... c'est franchement ridicule point de vu mémoire ... |
skeye |
--------------- Can't buy what I want because it's free - |
skeye | (et alors là où c'est le pur bonheur c'est le jour où tu décides de supprimer un noeud...bonjour l'angoisse...) --------------- Can't buy what I want because it's free - |
afbilou pouet your life | L'insertion d'un nouvel element ne pose pas non plus de probleme ...
|
skeye |
--------------- Can't buy what I want because it's free - |
afbilou pouet your life | La suppression pose pas de probleme o_o
|
skeye |
--------------- Can't buy what I want because it's free - |
skeye | 'fin bref, stocker des infos complexes dans une chaine de caractères dans une base de données, c'est de la connerie pure et simple. --------------- Can't buy what I want because it's free - |
afbilou pouet your life | Nan mais son arboresence est binaire ... dossier et sous dossiers avec des fichiers surement dedans. (Il le dit dans son premier post)
|
skeye |
--------------- Can't buy what I want because it's free - |
Dj YeLL $question = $to_be || !$to_be; | Je vois ce que veut dire afbilou, et c'est vrai que je trouve l'idée séduisante, pour un certains type d'application. Dans mon cas ça m'obligerait à tout recoder, et encore, vu qu'il y a en effet des déplacement, et que cette table n'est que l'arbo des "dossiers" et que j'ai une autre table pour la liste des "contenus", ça risque d'être assez galère.
--------------- Gamertag: CoteBlack YeLL |
Dj YeLL $question = $to_be || !$to_be; | Bon en fait ça ne marchait pas si bien que ça, j'ai du compliquer un peu le code, maintenant ça marche pour de bon.
--------------- Gamertag: CoteBlack YeLL |
skeye | Je te le déconseille fortement, pour les diverses raisons évoquées plus haut...mais c'est ton choix. --------------- Can't buy what I want because it's free - |
Dj YeLL $question = $to_be || !$to_be; | Je pense au contraire que c'est un procédé interessant.
--------------- Gamertag: CoteBlack YeLL |
skeye |
Dj YeLL $question = $to_be || !$to_be; |
--------------- Gamertag: CoteBlack YeLL |
skeye | Ce qui cloche, c'est que tu vas stocker une structure arborescente dans une chaine de caractères à la con...
--------------- Can't buy what I want because it's free - |
omega2 | 2 caractéres minimum par niveau, et minimum trois caractéres du niveau 10 au niveau 99. Si ta combinaison dépasse 255 caractéres, (niveau 88 maximum mais surement bien avant vu que t'auras surement plus de 10 branches et feuilles dans certains niveau pour un neoud donné) il te faut passer à une colone de type TEXT ce qui te fera perdre encore plus de place dans la base de donnée. En comparaison, avec des indices numériques, il siffit de 4 octets par ligne pour 65535 dossiers et fichiers et 8 octects par lignes suffisent pour 4 milliards de références. Et là, je compte la palce prise par l'id propre à chaque élément et celle prise par la référence à son pére.
|
Dj YeLL $question = $to_be || !$to_be; | En effet, je n'avais pas vu tout àa sous cet angle
--------------- Gamertag: CoteBlack YeLL |
omega2 | Regarde si tu ne peux pas t'en sortir avec les contraintes SQL.
|
Dj YeLL $question = $to_be || !$to_be; | La fonction recursive est faite, mais c'est vrai que ça ne me plait pas trop. Par contre cette histoire de dépendance et de suppression en cascade me dit vaguement quelque chose, mais je ne suis pas assez familiarisé avec les SGBD pour m'en rappeler.
--------------- Gamertag: CoteBlack YeLL |
Dj YeLL $question = $to_be || !$to_be; | Bon apparement ce n'est pas possible.
--------------- Gamertag: CoteBlack YeLL |
Dj YeLL $question = $to_be || !$to_be; | J'y suis enfin arrivé.
--------------- Gamertag: CoteBlack YeLL |
omega2 | Il ne me semble pas que les dépendances puissent être utilisé afin de retrouver les enfants d'un noeud pendant une requette de type select. |
Dj YeLL $question = $to_be || !$to_be; | C'est bien dommage ça ... pourtant cette relation existe bien quelque part. Elle peut être utilisée pour la suppression mais pas pour la selection ... ce n'est pas logique
--------------- Gamertag: CoteBlack YeLL |
skeye | Comme mentionné plus haut, Oracle sait le faire avec --------------- Can't buy what I want because it's free - |
Dj YeLL $question = $to_be || !$to_be; |
--------------- Gamertag: CoteBlack YeLL |
Djebel1 Nul professionnel | et pour le problème d'arborescence, que pensez-vous de ça : http://sqlpro.developpez.com/cours/arborescence/ (2. Représentation intervallaire des arborescense). Message édité par Djebel1 le 25-01-2006 à 01:22:51 |
Publicité | Posté le |
Page Précédente |
Sujets relatifs | |
---|---|
Problème pour récupérer donnée en php | [Mysql] 1 Grosse requete OU plusieurs petite ? |
[PHP/MYSQL] affichage d'une table sur une page | Recuperer valeur d'une liste deroulante en javascript |
Lien entre Mirc et Mysql | Probleme ALTER TABLE |
Changement hebergeur et base Mysql | [SQL] Requête pour obtenir les valeurs présentes dans 1 seule table |
Récuperer valeur input | |
Plus de sujets relatifs à : Récupérer des imbrications multiples dans une table MySQL |