Specs

Erik Rossen rossen at freesurf.ch
Wed Jul 4 09:13:50 CEST 2001


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 4 Jul 2001, Frederic Schutz wrote:

>   - quelle base de données choisir pour réaliser la première
>     implémentation ? (La réponse dépend peut-être des autres questions
>     ci-dessous).

Je crois qu'on n'a presque pas de choix.  Le moment où on veut utiliser
des fonctions de SQL un peu plus avancé, on doit oublier MySQL et passer à
PostgreSQL.

>   - suivant les db, quelles sont les possibilités de faire des "locks"
>     sur certaines données pour empêcher qu'elles soient affichées/changées
>     pendant qu'un utilisateur les modifie ?

Facile sous PostgreSQL (cf. "SELECT FOR UPDATE").

>   - Au moment d'entrer une nouvelle écriture, le logiciel devra connaître
>     le numéro de la dernière écriture pour attribuer le numéro suivant.
>     Il est impossible d'utiliser les fonctionnalités auto_increment des db,
>     car il y a plusieurs numérotations différentes (suivant les sociétés)
>     dans la table. Je vois deux solutions:
> 
>     - stocker le numéro de la dernière écriture dans une autre table
>       (une sorte de cache). Avantage, c'est très rapide, mais on n'a pas
>       la garantie que ce numéro est à jour.
> 
>     - lire la table des écritures et sélectionner le dernier numéro
>       d'écriture. Avantage, on est sûr que c'est le bon, mais il faut
>       chaque fois relire toute la table, ce qui n'est pas très efficace.

Troisième possibilité:

- - sous PostgreSQL, définir un trigger "auto incrément" qui fait le
incrementation suivant les règles de numérotation souhaité.  Facile.

Petit question: qu'est-ce qu'on fait avec les écritures qui étaient
démarrés mais annulés avant complétion?  Est-ce qu'ils devrait avoir un
numéro, ou est-ce qu'on assigne un numéro SEULEMENT pour les écritures
complété?

>   Quelle est la meilleure chose à faire selon vous ? Il faut savoir que le
>   nombre de lignes de la table des écritures, c'est environ 100-100000
>   (écritures dans un exercice), multiplié par le nombre de comptabilités et
>   d'années.

J'aime bien mon idée.

>   La même question se pose au moment où on veut afficher le solde d'un
>   compte: faut-il parcourir toutes les écritures pour trouver celles qui
>   font partie de ce compte, ou faut-il tenir à jour (rigoureusement !) le
>   solde du compte chaque fois qu'une écriture y est ajouté ou enlevé ?

Facile d'être rigoureuse avec des triggers qui font les sommes au moment
de chaque UPDATE et mettent les résultats dans un table sommaire.


Erik Rossen                         ^
rossen at freesurf.ch                 /e\
http://www.multimania.com/rossen   ---   GPG key ID: 2935D0B9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Made with pgp4pine 1.75-6

iD8DBQE7QsJAY88aPik10LkRAqnUAJ9+sd74+aZ6EPeW6osVGgwLAdaxUgCfUKFp
vlOONM/S7IvrL9AKh8Ffhgc=
=cyij
-----END PGP SIGNATURE-----





More information about the compta mailing list