Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1002 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [] [base de données] truc de ouf à faire ... arborescence virtuelle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[] [base de données] truc de ouf à faire ... arborescence virtuelle

n°142738
k666
dites non à petitmou
Posté le 22-05-2002 à 20:48:42  profilanswer
 

salut
je cherche à faire un truc du style système de fichiers mais en BDD ...
 
genre qu'on puisse rajouter des éléments ou copier des répertoires .... c 'facile' en copiant des répertoires ... mais j'aimerai les copier par référence et non pas par valeur ...
je sais pas si je suis calir... mais en gros j'aimerai savoir si ça existe un truc comme ça, ou bien quelle serait la structure de la/les tables ?

mood
Publicité
Posté le 22-05-2002 à 20:48:42  profilanswer
 

n°142862
k666
dites non à petitmou
Posté le 22-05-2002 à 22:54:01  profilanswer
 

up!

n°142875
ethernal
Chercheur de vérité...
Posté le 22-05-2002 à 23:12:12  profilanswer
 

si j'ai bien compris tu voudrais qu'en déplaçant un répertoire virtuel, tu ne doive pas déplacer tout les fichier et répertoire qu'il contient ?
 
avec une structure en arbre et un algo récursif
 
table fichier
id
nom
parent
fichier
 
ex:
1
répertoire1
0
false
 
2
fichier1
1
true
 
3
répertoire2
0
false
 
avec cette structure, si pour déplacer le répertoire1 et ses fichiers dans le répertoire2, il suffit de mettre son "parent" à 1 (id de répertoire1), idem pour le recopier.
 
c'est ça que tu veux ?


---------------
...oups kernel error...
n°142881
k666
dites non à petitmou
Posté le 22-05-2002 à 23:17:21  profilanswer
 

c à peu près ça :)
j'avais fait un truc pareil à e que tu m'as filé mais ça posait des problèmes, je suis tellement sur le truc que je vois plus rien,
je m'installe un easyphp et je fais kelks tests de suite

n°142883
k666
dites non à petitmou
Posté le 22-05-2002 à 23:18:23  profilanswer
 

oué donc: par exemple comment tu fais avec cette structure pour fouttre des fichiers dans des répertoires ?

n°142886
ethernal
Chercheur de vérité...
Posté le 22-05-2002 à 23:21:01  profilanswer
 

pour mettre fichier1 dans répertoire2, tu mets le id de repertoire2 dans le parent de fichier1.


---------------
...oups kernel error...
n°142889
k666
dites non à petitmou
Posté le 22-05-2002 à 23:23:42  profilanswer
 

et si fichier1 peut se trouver dans deux répertoires différents ? :s

n°142896
ethernal
Chercheur de vérité...
Posté le 22-05-2002 à 23:39:48  profilanswer
 

ça c une copie :)
par valeur tu connais on dirait :D
 
par référence, ça se complique:
tu mets l'id et le parent en clé primaire
donc il peut exister un fichier (identifié par son id) qui a deux parents différents, mais tu dois créer une nouvelle entrée.
 
id=2
parent=1
nom= fichier1
 
id=2
parent=3
nom= ficheir1
 
ou bien tu crées une table de liaison
 
fichier:
id
nom
 
liaison:
id_fichier
id_parent
 
ex table fichier:
1
rep1
 
 
2
fic1
 
 
3
rep2
 
 
ex table liaison:
2
1
 
2
3
 
3
1
 
donc tu as
rep1
  fic1
  rep2
    fic1 (copie par référence)
pour créer une copie par valeur, tu crées un nouveau fichier (nouvel id) auquel tu assignes un parent
 
en fait les ids ne seraient même pas nécessaires puisque le nom doit être unique (ça peut être plus facile pour savoir si un fichier portant le même nom existe déjà dans le répertoire lors d'ue copie)
 
je m'embrouille déjà :(

 

[jfdsdjhfuetppo]--Message édité par ethernal le 22-05-2002 à 23:42:44--[/jfdsdjhfuetppo]


---------------
...oups kernel error...
n°142897
k666
dites non à petitmou
Posté le 22-05-2002 à 23:41:40  profilanswer
 

euh oué en fait je me suis peut être mal exprimé :??:  
 
en fait il faut que je puisse mettre à disposistion toute une quantité de contenu en forme de fichiers (ou ressources en général) ... et que quelqu'un vienne et se fabrique sa liste de ressources pour les mettre à dispo d'autres utilisateurs .... et donc ya des ressources qui vont être dans un répertoire pôur un groupe et dans un autre répertoire dans un autre groupe..
 
 
et qu'il puisse yavoir des répertoires communs que chacun peut se rajouter ... etc en gros je sais pas trop comment faire ..
c vrai que la solution que tu me donnes est orientée vers ça et suffisamment généraliste, mais c justement ses limites qui m'intéressent

n°142900
k666
dites non à petitmou
Posté le 22-05-2002 à 23:47:23  profilanswer
 

coolaxe mec :) j'yavais pas pensé à la double clé! je vais tenter ça!

mood
Publicité
Posté le 22-05-2002 à 23:47:23  profilanswer
 

n°142902
ethernal
Chercheur de vérité...
Posté le 22-05-2002 à 23:52:48  profilanswer
 

ok on va encore essayer alors ;)
 
fichier:  
id  
nom  
type (fichier/rep)
 
liaison:  
id_fichier  
id_parent
id_user
 
avec ça:
la liste des fichiers/rep
select nom from fichier.
si tu le veux en arborescence, tu fais une récursive en partant de liaison.id_parent=0 pour ton user.
 
ensuite, pour chaque user qui crées sa liste, tu crées une entrée dans la table liaison avec son id_user.  par défaut c une copie par référence.  S'il veut une copie par valeur, tu crées une nouvelle entrée dans la table fichier qui porte le même nom et tu crées une entrée dans la table liaison avec ce nouvel id_fichier.
tu peux même ajouter un attribut copie_de dans la table fichier qui contiendra l'id du fichier original pour dire que le fichier est une copie.

 

[jfdsdjhfuetppo]--Message édité par ethernal le 23-05-2002 à 00:06:41--[/jfdsdjhfuetppo]


---------------
...oups kernel error...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [] [base de données] truc de ouf à faire ... arborescence virtuelle

 

Sujets relatifs
échec de partition magic 7 [Comment récupérer mes données ?][BASE de DONNES] PHP + MySQL cherche outil
[Conception Bases de données] du progrès en powerAmc9[C] ouvrir un fichier en données pour un prog...
retourner à la ligne dans une formulaire /!\Encore un tit truc svpun ptit truc tout con en PHP
Créer une base de donnéeCompatibilite CLX Borland et API Windows de base
[C++] creation d'une gestion de base de donnée[MySQL] : problème lors du téléchargement d'une base en ligne
Plus de sujets relatifs à : [] [base de données] truc de ouf à faire ... arborescence virtuelle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR