ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009
-
27 déc. 2005 à 12:57
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009
-
28 déc. 2005 à 12:21
Bonjour,
Je dois réaliser une interface type base de donnée avec un fichier de données. Pour optimiser les perf, j'utilise un fichier d'accès direct (j'ai un fichier d'index me permettant d'accéder à la données souhaitée). Le problème est comment gérer ce fichier lorsqu'il y a des ajouts?
Par exemple, si il s'agit d'un annuaire et que j'ajoute à la personne "x" un numéro de portable, a priori, je vais décaler toutes les données qui se trouvent à la suite. Donc mon fichier d'index deviendra incohérent.
Quelqu'un saurait t'il comment faire cela (il existe surement des travaux sur le sujet non?)
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009 27 déc. 2005 à 14:02
Merci pour ta réponse simtiers.
En fait j'ai donné l'exemple d'un annuaire pour faire simple mais il s'agit d'équipement électronique. On doit pouvoir leur ajouté un nombre indéfini de caractéristiques. (poids, taille, nom, diamètre...) comme des champs d'un table de BDD.
De plus ce fichier doit pouvoir contenir un tres grand nombre de données (d'équipements) alors je me suis dis que le mieux serait de gérer dynamiquement la taille de mes objets en mémoire.
simtiers
Messages postés207Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 2 novembre 2006 27 déc. 2005 à 18:15
ok....
effectivement, c'est un peu plus compliqué...
Donc, si j'ai bien compris : tu dois enregistrer dans une base des infos sur des equipements, mais c'est infos ne sont pas aussi nombreuses en fonction de l'equipement, c'est bien ça ?
J'aurais bien dit un truc, mais c'est pas optimal : fais comme un disque dur
> une table d'index (equivalent à la FAT) > indexe tous les fragments d'enregistrement pr un equipement (debut : index 12, suite index 29, suite index 100, suite index 50...)
=> un fichier de données
> un outil de "defragmentation" > renomme le fichier de données en "data.old" et les index en "index.old"
crée les nveaux "index" & "data" et remplie les dans l'ordre des elements...
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009 28 déc. 2005 à 12:21
Alors ca marche comme ca FAT32...?
C'est effectivement à ce genre de chose que je pensais. Dans ce cas, a ton avis, les données je les place directement à la fin du fichier de donnée? c'est ca?
Comment me conseil tu de créer mon fichier d'index? Je créer un fichier séquentiel ou accès direct?
Enfin, quel est l'intérêt de l'outil de défrag.? Je pensais que c'était utile pour combler les espaces vides dans un fichier mais si je place tjrs à la fin je n'en aurait pas!
Si tu connais des sources ou tuto traitant de ce pbm qui pourrait m'aider n'hésite pas.
Encore Merci