Aide - Recherche - Membres - Calendrier
Version complète : Initialiser une base de données sur palm
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
efelo
Bonjour à tous,

je suis tout nouveau dans la programmation sur palm et après avoir consulté de nombreux sites et forums, j'ai décidé de m'inscrire ici en espérant pouvoir trouver les réponses aux quelques questions restées sans réponses au terme de mes recherches ...

Mon projet dans un premier temps est assez simple, il s'agit de convertir un site (www.the-breaks.com) en une application autonome sur palm.

J'ai déjà extrait toutes les informations du site dans une base mysql avec un programme en php.

Il me reste donc deux étapes :
- importer ma base sur palm
- créer un programme qui me permettra de consulter ces données sur palm avec un moteur de recherche (j'ai choisi d'utiliser gcc comme outil de développement car gratuit)

C'est la première étape qui me fait me poser un certain nombre de questions :
1 - Est-ce pdbc est l'outil approprié à mon problème ? ou est-ce que je dois créé un conduit ? codewarrior ou hb++ propose-t-il des solutions à mon problème ?

2 - Est-ce que je dois créer plusieurs fichiers pdb (un par table pour tenter de conserver l'aspect relationel de ma base), ou est-ce qu'il est plus simple de n'avoir qu'un fichier (redondance des informations) ?

Merci d'avance pour vos réponses.

Florent
Patrice
Il faut d'abord que tu réalises que ce qui s'appelle "base de données" sur Palm (pour les fichiers pdb) n'est en gros que l'équivalent d'un fichier plat sur un OS "de bureau".

Ce qui veut dire que quelque soit ton choix, tu dois quasiment tout gérer à la main. La seule "facilité" du DB manager est la gestion de "records" mais c'est à toi de structurer ceux-ci selon tes besoins. Donc pour faire du "relationnel", tu dois écrire ton propre moteur anim_wink.gif

Et bienvenue sur le forum 8)
efelo
D'abord merci pour ta réponse, en fait j'avais bien compris qu'il n'était pas possible de faire du relationnel sur palm.

En fait ma question était plus de savoir si je devais créer plusieurs fichiers pdb (un par table ?). Par exemple si l'on prend le cas concret client-facture.

En relationnel je vais avoir une table client avec un contenu du genre :
1 - Dupont - Albert - 3 rue ... - ...
2 - Durant - Marc - 6 avenue - ...

et une table facture avec un contenu du genre :
1 - 1 - 600
1 - 2 - 400
2 - 1 - 800
2 - 2 - 500
2 - 3 - 300

La première colonne étant le code client et la deuxième le code facture.

Ma question est donc faut-il créer deux fichiers pdb reprenant la même structure (et faire les jointures "à la main") ou créer un seul fichier qui a une structure ressemblant à ça :
1 - Dupont - Albert - 3 rue ... - ... - 1 - 600
1 - Dupont - Albert - 3 rue ... - ... - 2 - 400
2 - Durant - Marc - 6 avenue - ... - 1 - 800
2 - Durant - Marc - 6 avenue - ... - 2 - 500
2 - Durant - Marc - 6 avenue - ... - 3 - 300

Sachant que dans mon cas, la redondance d'information n'est pas si grande que ça. En gros, faut-il un fichier plus gros, ou des fichiers plus petits mais sans besoin de les lier.

Voilà j'espère que ma question n'est pas trop stupide, car en l'écrivant, j'ai un peu l'impression que si sourire.gif

Et puis si quelqu'un pouvait me confirmer que les deux seuls moyens de charger un pdb à partir d'un fichier plat sont les conduits et pdbc, je lui en serai reconnaissant ...

Merci pour l'acceuil et l'aide icon_biggrin.gif
Eddy
CITATION(efelo)
Et puis si quelqu'un pouvait me confirmer que les deux seuls moyens de charger un pdb à partir d'un fichier plat sont les conduits et pdbc, je lui en serai reconnaissant ...


A mon sens non, j'infirme.

Il "suffit" d'ecrire un programme qui génère le fichier que tu veux, en suivant le format PDB (qui se trouve facilement). Par exemple il me semble avoir vu des bibliothèques (les lib) perl pour manipuler (et ecrire) facilement les pdb ... j'ai vu un truc en python aussi ...
C'est pas tres compliqué à faire.

Eddy
Patrice
CITATION(Eddy)
CITATION(efelo)

Et puis si quelqu'un pouvait me confirmer que les deux seuls moyens de charger un pdb à partir d'un fichier plat sont les conduits et pdbc, je lui en serai reconnaissant ...


A mon sens non, j'infirme.

Il "suffit" d'ecrire un programme qui génère le fichier que tu veux, en suivant le format PDB (qui se trouve facilement). Par exemple il me semble avoir vu des bibliothèques (les lib) perl pour manipuler (et ecrire) facilement les pdb ... j'ai vu un truc en python aussi ...
C'est pas tres compliqué à faire.

Eddy

Je confirme l'infirmation : j'ai même publié sur ce forum un squelette de code en C et en Java pour créer un PDB sur desktop. ICI.

Pour revenir à la question initiale, c'est vraiment une question de choix personnel mais si c'était moi, je pense que je ferais un seul fichier. Parce que :
1) ça limite les risques d'incohérences entre fichiers
2) ça t'affranchit de gérer les relations et ça soulage le programme Palm
3) ce sera plus simple à construire sur le PC
4) en supposant que tu n'atteignes pas des tailles de fichiers gigantesques...
5) mais ce n'est que mon avis anim_wink.gif
efelo
Merci pour vos réponses et surtout pour la rapidité avec laquelle vous les avez fournies. ça fait toujours plaisir de se connecter et de voir que quelqu'un vous a répondu.

Dans un premier temps, je vais essayer de créer un unique pdb, histoire d'avoir le plus rapidement possible sur mon palm des données, ensuite je verrai si c'est simple de respecter l'architecture de ma base mysql et de créer plusieurs pdb.

Merci encore, je vous tiendrai au courant de mes avancées, même si je ne suis pas persuadé que mon projet en intéresse beaucoup sourire.gif

A bientôt,
Florent
olivier101
C'est possible de gérer plusieurs PDB comme des tables relationnelles, par exemple en utilisant l'unique ID qui est attribué automatiquement à chaque enregistrement d'une table comme identifiant pour les clés étrangères (c'est un Int32).
Par contre il faut penser à gérer tous les cas possibles pour maintenir l'intégrité référentielle (suppression en cascade, etc.)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.