Le 21/04/2010 19:11, Marie-Pierre CORONEL a écrit :
re bonjour,

non non, je ne tiens pas à traiter les 3 régimes différemment, j'avais
essayé d'obtenir les calculs sur les 3 d'un coup mais je n'obtenais
jamais un chiffre juste -_- La seule fois où j'ai enfin obtenu un
chiffre juste c'est avec le système des 3 requêtes sauf quand j'ai
testé avec 0 occurence. Là je suis rentrée chez moi, mais je
regarderai tes requêtes demain.

Je veux bien qu'on discute de la rigidité de ma base, parce que j'ai
essayé de faire le plus pérenne possible et donc le contraire :'( mais
bon...

a+
Re-Bonjour Marie-Pierre,

Bon, vu que tu as l'air d'avoir beaucoup bossé sur ce truc et que la pérennité de la base (ainsi que sa fonctionnalité) est une composante essentielle, je crois utile, avant que tu ne continues à travailler sur tes requêtes de te proposer une petite pause réflexion sur la structure de ta base elle-même.

Tout d'abord sur un plan général, je ne sais pas s'il est véritablement conseillé d'utiliser Base en production ; c'est un module de OOo qui comporte encore beaucoup d'imperfections et il me semble avoir lu en plusieurs endroits (y compris sur ces liste, y compris par des membres du projet) qu'il n'était pas trop conseillé d'utiliser ce module dans un cadre professionnel ; je ne sais pas si une telle solution éliminerait tout ou partie des "risques" (en vertu desquels la prudence est souvent recommandée à l'égard de Base) mais, pour rester dans le libre, peut-être pourrais-tu créer cette base avec Mysql et t'y connecter avec Base (tes formulaires fonctionneront et tu pourras créer des requêtes sans aucune difficulté, mais en revanche, je pense que tu ne pourras pas apporter de modifications à la structure de tes tables avec Base, et à chaque fois que tu voudras le faire, il te faudra passer par Mysql) ; qui plus est, Hsqldb ne gère pas les bases multi-utilisateurs et ça peut avoir une influence sur l'utilisation de ta base de données.

En ce qui concerne ta base elle-même, j'ai compris qu'elle allait servir à gérer le suivi d'un service de médiation, certaines étant civiles, d'autres étant pénales.

La première question que je me pose, c'est pourquoi enregistrer dans deux tables différentes, les médiations civiles et les médiations pénales ? Ça t'oblige ensuite à dupliquer plein de tables comme, par exemple, les tables "Aide mémoire" alors qu'elles ont la même structure ; mieux encore, les tables relatives aux liens entre les parties, qui regroupent le même type d'informations (même si je suis conscient que certains types de liens ne seront utiles -ou ne devront être utilisables- que dans tel type de médiation et pas dans l'autre).

C'est en cela que je pense que ta base est un peu trop rigide.

En y réfléchissant comme ça, au débotté, je me dis que les caractéristiques sont les suivantes : le service concerné est saisi d'une médiation ; il s'agit d'une "procédure" qui peut disposer de deux natures différentes, provenir de plusieurs sources et devra faire l'objet d'un suivi ; elle concerne, généralement deux ou plusieurs personnes.

Du coup, je serais tenté de me dire que j'ai besoin de trois tables initiales : - une table regroupant toutes les médiations dont le service a été saisi et contenant leurs caractéristiques (origine, nature,...) - une table regroupant les personnes concernées avec tous les renseignements les concernant ; - une table regroupant les informations relatives au suivi (les évènements se déroulant dans le cadre de la médiation).

Ces trois tables là vont être les tables principales de ma base puisque ce sont elles qui vont évoluer tous les jours.

Viennent ensuite les tables que je qualifierais de "secondaires" ou de "utilitaires" ; en fait, ce sont les tables dans lesquelles seront stockées des données récurrentes (les liens entre les parties par exemple, le mode de connaissance, les modalités de saisine du service, les suites réservées,...).

Ensuite, tu peux faire des requêtes (avec leurs vues et leurs formulaires associés) pour obtenir un regard limité à telle ou telle portion de ta base (un formulaire uniquement dédié à la consultation et ne regroupant que les médiations civiles et un autre pour les pénales).

L'une des choses qui me "gênent" un peu dans ta base, telle qu'elle est actuellement conçue, c'est que, par exemple, pour les demandeurs, la partie 1 et la partie 2 figurent dans le même enregistrement mais que l'on renseigne exactement les mêmes informations pour chacune des parties ; pour ma part, j'aurais tendance à faire figurer dans cette table qu'un seul champ nom, un seul champ prénom, etc... ; la clef primaire servirait alors, dans la table relatives aux médiations de clef externe, permettant d'identifier le statut de partie 1 ou de partie 2 de chaque personne ; et que fais-tu si un jour tu as une médiation avec 3 parties ?

Pour résumer je séparerais d'un côté les procédures (et leurs caractéristiques) et de l'autre les personnes concernées ; dans ta table demandeur, dans la mesure où tu fais figurer le nom, soit dans la colonne partie 1, soit dans la colonne partie 2, tu donnes déjà des éléments sur la médiation elle-même (alors que dans ma vision, cette info là ne figure que dans la table regroupant les procédures).

Bon, comme mon post commence à être un peu long, je m'arrête là mais me tiens à ta disposition pour en discuter un peu plus si tu veux.

A+



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org

Répondre à