Limites De Filemaker
#1
Posté 03 août 2012 - 09:34
Tout ce dernier temps j'ai travaillé sur une base destinée à rassembler et lier entre elles des données disparates. Elle me sert à classer les données au cours d'enquêtes de journalisme.
Au départ, il s'agissait de lier des gens à des textes (livres, articles de presse, textes de loi, ...), Puis, de proche en proche, d'autres éléments sont venus s'ajouter (sujets, évènements, entreprises) tant et si bien que l'application, si j'en suis très content, est devenue gigantesque. 79 tables, 95 modèles.
Et, ce que je craignais, j'ai eu une nouvelle idée ....
Le problème est que comme chaque élément doit être lié à tous les autres, à chaque nouvel ajout, le nombre de tables et de modèles augmente de façon exponentielle. Et, d'ailleurs, les heures de travail pour mettre en place une idée, monte elle aussi de façon exponentielle.
Alors, je me demandais s'il n'y aurait pas des limites à ne pas dépasser - ou que j'aurais déjà dépassées -, histoire de me onvaincre que non, ce n'est plus le moment d'appliquer des nouvelles idées.
#2
Posté 03 août 2012 - 11:14
- ta base est "mal" modélisée et tu es en train de le payer. Classique.
- la nature des données est tellement disparate que la base de données relationnelle n'est pas intéressante. Regarde alors du côté de couchdb par exemple.
À vue d'oeil, je pencherais pour la première hypothèse. Dans ce cas, tu as relativement de la chance parce que FileMaker permet de modifier la structure d'une base mieux que toute autre plateforme que je connaisse.
Développeur FileMaker Certifié 8, 9, 10, 11, 12

Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.
Hébergement FileMaker, optez pour un débit illimité et des prix sur mesure, adaptés à vos usages.
QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
Coaching, une aide régulière pour vous permettre d'avancer dans votre projet.
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.
mes fonctions perso sur FMfunctions.com
#3
Posté 03 août 2012 - 13:50
#4
Posté 03 août 2012 - 18:02
Il y a peut-être de la simplification à mener sachant par exemple que livres, articles de presse, textes de loi, sujets... sont des attributs/caractéristiques des textes, donc vraisemblablement une seule table.
Il faut donner davantage de détails sur la modélisation/structure et objectifs de la base...
Eric
/////////////// Avant d'intervenir sur votre base >>> faites des sauvegardes ! //////////////////////////////
Vous pouvez tout faire,
penser ou croire,
posséder toute la science du monde,
si vous n'aimez pas,
vous n'êtes rien.
Marcelle Sauvageot.
#5
Posté 03 août 2012 - 18:29
Mais j'imagine qu'avec 79 tables, il y a quelques pages des liens. Si ce n'est pas confidentiel, effectivement il vaut mieux poster la structure avec quelques données bidons !
il y a toujours moyen de s'en tirer,
A+
Théo MUNDELE,
Filemaker Developper
MCS Consulting Services
mcsconsulting.skype
#6
Posté 03 août 2012 - 18:31
Serait surprenant, les spec techniques indiquent 1 000 000 de tables.C'est le nombre de tables qui te fait dire cela ?
Développeur d'applications industrielles et manufacturières
et conseiller en gestion.
TSCI Inc (à Québec, Québec, Canada)
#7
Posté 03 août 2012 - 19:32
Je penche aussi pour une mauvaise modélisation au départ.
Si tes idées doivent être possiblement reliées une à l'autre, tu ne dois pas créer de nouvelles tables... une table de jonction entre tes thèmes et tes idées devrait suffire. Mais encore là, en ne connaissant pas la totalité de ta structure il est difficile de critiquer et d'apposer des améliorations.
#8
Posté 03 août 2012 - 19:54
- la complexité exponentielle
- ton propre questionnement sur l'adaptation de FileMaker à ta problématique
Développeur FileMaker Certifié 8, 9, 10, 11, 12

Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.
Hébergement FileMaker, optez pour un débit illimité et des prix sur mesure, adaptés à vos usages.
QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
Coaching, une aide régulière pour vous permettre d'avancer dans votre projet.
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.
mes fonctions perso sur FMfunctions.com
#9
Posté 03 août 2012 - 22:43
Serait surprenant, les spec techniques indiquent 1 000 000 de tables.
79 tables, c'est encore une petite base
Même 95 modèles... Mon fichier "CodeProduits" (un fichier secondaire) contient à lui-seul 108 modèles... Je crois que la limite de FileMaker se situe à ... peu importe, elle est encore loin !
C'était surtout ça qui m'inquiétait. Il y a sans doute une grosse marge de progression en matière de modélisation, mais la base me semble assez claire.
salut
Il y a peut-être de la simplification à mener sachant par exemple que livres, articles de presse, textes de loi, sujets... sont des attributs/caractéristiques des textes, donc vraisemblablement une seule table.
Il faut donner davantage de détails sur la modélisation/structure et objectifs de la base...
Oui oui, tout à fait. C'est le cas.
Des tables de base comme celle des textes il y en a neuf, très précisément. Et je me tâte pour en ajouter une dixième. Il y a aussi quelques tables pour fournir des valeurs aux listes, que j'utilise beaucoup dans des menus locaux.
Ce qui me donne l'impression d'avoir un nombre pléthorique de tables sont celles qui lient deux de ces tables de base, parce que chacune est liée avec toutes les autres.
#10
Posté 04 août 2012 - 14:05
Ce qui me donne l'impression d'avoir un nombre pléthorique de tables sont celles qui lient deux de ces tables de base, parce que chacune est liée avec toutes les autres.
Un plat de spaghettis ?
Développeur d'applications industrielles et manufacturières
et conseiller en gestion.
TSCI Inc (à Québec, Québec, Canada)
#11
Posté 08 août 2012 - 13:09

C'est peut-être l'impression que ça donne, mais moi je m'y retrouve.
Deux graphes de la même couleur, hormis les graphes gris, représentent une même table.
#12
Posté 08 août 2012 - 13:38
Les liens sont basés uniquement sur les rubriques texte ou nombre, pas de calcul ?
Plutôt que des occurrences de tables pour démêler les types de texte, une rubrique type...
Repense la structure.
Bonne journée
Développeur d'applications industrielles et manufacturières
et conseiller en gestion.
TSCI Inc (à Québec, Québec, Canada)
#13
Posté 08 août 2012 - 13:58
Effectivement, les liens sont basés sur des rubriques de type nombre - le numéro de série -. Par quel calcul je pourrais remplacer ces liens ?
#14
Posté 08 août 2012 - 20:27
Bien moi, je crois que c'est justement le temps d'avoir une bonne idée.... j'ai travaillé sur une base destinée à rassembler et lier entre elles des données disparates. Elle me sert à classer les données au cours d'enquêtes de journalisme.
... lier des gens à des textes (livres, articles de presse, textes de loi, ...), Puis, ...est... venus s'ajouter (sujets, évènements, entreprises) ...
Et ce que je craignais, j'ai eu une nouvelle idée .... ...comme chaque élément doit être lié à tous les autres, à chaque nouvel ajout, le nombre de tables et de modèles augmente de façon exponentielle. ...
Alors, je me demandais ...Si...ce n'est plus le moment d'appliquer des nouvelles idées.
En quelques mots... quel est la finalité de cette base de données ?
Développeur d'applications industrielles et manufacturières
et conseiller en gestion.
TSCI Inc (à Québec, Québec, Canada)
#15
Posté 08 août 2012 - 20:37
Comme dit Pierre, revenir à la base: quel est le but premier ?
#16
Posté 10 août 2012 - 00:07
En quelques mots... quel est la finalité de cette base de données ?
Comme dit Pierre, revenir à la base: quel est le but premier ?
Comme c’est dit dans mon post cité par temp007, il s’agit de lier entre elles des données disparates, dans un contexte d’enquête.
Ces données peuvent être des gens, des entreprises, des textes, etc. Les liens entre, par exemple, des gens et des entreprises qui permettent, sur l’enregistrement d’une personne, d’afficher les entreprises où il travaille ou a travaillé. En cliquant sur l’entreprise, s’affiche l’enregistrement lié de cette entreprise. Qui, à son tour, me permet de voir les personnes repertoriées qui travaillent dans cette entreprise.
#17
Posté 10 août 2012 - 19:44
Développeur d'applications industrielles et manufacturières
et conseiller en gestion.
TSCI Inc (à Québec, Québec, Canada)
#18
Posté 12 août 2012 - 22:07
#19
Posté 13 août 2012 - 13:38
Avant de savoir si il faut créer telle table ou non, il importe de savoir precisement :
- ce que tu souhaites gérer : quelles informations exactement
- quelles relations logiques y a t il entre les informations
Il s'agit d'une base pour stocker des informations relatives a des enquetes journalistiques. Bon. Mais n'etant pas journaliste d'investigation, je ne vois pas exactement ce dont tu as besoin. Il y a une composante "metier" dans ton besoin, que nous aurions besoin de mieux comprendre.
Le plus simple serait de nous donner plusieurs exemples détaillés, de nature différente, pour illustrer les choses de maniere concrète.
J'imagine que la finalité est ensuite de pouvoir "retrouver" et "relier" certaines informations entre elles. Mais lesquelles ? et comment? de quelle maniere? sur quels criteres ?
Sachant que l'outil qui permet de repondre a toutes les questions quelles que soit la maniere dont on les lui pose n'existe pas.
Il y a bien sur la solution "à la Google" qui est en fait basée sur des mots clé. Mais elles renvoie souvent trop de réponses. Si toutefois cela peut correspondre a ton besoin, c'est assez facile à construire : une seule table de "notes" et une rubrique de mots clé multiples.
Si tu souhaites effectuer des recherches sur la nature des relations entre 2 notes, il faudrait mieux comprendre lesquelles.
Surtout que certaines relations sont de nature différentes.
Par exemple (ne voir aucune idéologie politique dans l'exemple qui va suivre)
pour une enquête (comme on en voit parfois dans certains magazines sur "le réseau social de M.Machin") :
- M.Sarkozy (une note avec les renseignements sur la personne)
- Mme Bruni (une note avec les renseignements sur la personne)
- Elections présidentielles (une notre avec des renseignements sur cet "événement")
- Ministère des finances (une note avec des renseignements sur cette "entreprise")
- Album de musique "quelqu'un ma dit"" (une note avec des renseignements sur ce "texte")
On a differentes relations entre les fiches :
M.Sarokozy et Mme Bruni : relation "mariage" entre ces 2 fiches. Elle est bidirectionnelle.
M.Sarkozy et "Ministere des Finances" : relation "a travaillé chez". Mais unidirectionnelle (le ministere des finances n'ayant pas travaillé pour M.Sarkozy au sens strict du terme)
La difficulté vient, si pour les besoins de ton enquête, tu as besoin d'afficher quand tu es sur la note "quelqu'un m'a dit" :
- l'auteur de ce "texte" est marié avec un type qui a travaillé au ministere des finances et qui s'est présente aux elections presidentielles
Car on est la sur des relations en cascade sur plusieurs niveaux.
De plus cela risque d'afficher des liaisons qui n'ont pas d'intérêt pour ton enquete (genre : le ministere des finances est lié au FMI parce que Mme Lagarde a travaillé dans les 2 entreprises, mais quand tu es sur la fiche "quelqu'un m'a dit", cette info n'a aucun intérêt au sens de ton enquete meme si il y a une liaisons de niveau n+x entre les deux.
Bref, pour pouvoir t'aider, nous aurions besoin de comprendre en detail ce que tu souhaites gérer et surtout la maniere dont tu as besoin de l'exploiter.
A premiere vue, pour simplifier les choses, je pencherais pour une table de "notes" (groupant toutes les infos) et une table de "liens entre les notes" qui relie ensemble 2 notes. Genre "a travaillé chez", "est l'auteur de", "est ami ou amant de", etc....
C'est plus simple en termes d'architecture de la base de données.
Mais tout cela renvoie au débat classique entre :
- "spécialisation" a l'extreme : ce que tu as fait, cad une table tres specialisée pour chaque type d'information.
- "normalisation" a l'extreme : tout est une "note" avec un titre, une date, des mots cle, des remarques, une illustration, un lien url, etc...
Chaque solution ayant des avantages et des inconvénients.
Mais si tu ressens une complexité exponentielle, c'est sans doute que tu est dans une "spécialisation" excessive comme l'a suggéré Fabrice.
C'est la manière dont tu as besoin d'exploiter tes informations qui guidera vers la voie optimale entre ces 2 extrêmes.
#20
Posté 14 août 2012 - 00:18
Je ne suis pas mécontent de l’application que j’ai faite jusqu’à présent.
Au départ, j’avais une idée simple puis, à l’usage, il y a eu des nouveaux besoins qui sont venus s’ajouter. Au point de me demander s’il n’y avait pas un point au-delà duquel ce n’était pas trop demander à FileMaker. Entre autres raisons qui m’ont amené à me poser cette question tient à ce que chez moi (sur Windows 7 alors qu’au boulot je suis sur Mac), l’interface des liens désormais traîne et est très inconfortable à utiliser.
On m’a signalé que je m’y suis probablement mal pris, dans la structure de ma base. C’est très probablement vrai, puisque j’ai appris FileMaker au fur et à mesure que j’ai construit ce fichier. Puis, quand j’essaie de faire autre chose, je me rends bien compte de l’étendue de mes lacunes. J’essaie, donc, de comprendre ce que je pourrais améliorer. Mais pour ce qu’il me faut, ça marche plutôt pas mal.
Pour dire de quoi il s’agit plus précisément, je crois que je vais commencer par le début. Au départ, donc, je voulais faire une table pour des personnes et une table pour les textes, le but étant de relier des textes avec leurs auteurs. Les essais et les livres spécialisés sont souvent écris par plusieurs personnes. Sur le modèle Personnes (physiques) s’affichent donc, sur une table externe, les textes auxquels ils ont participé. Sur le modèle Textes, il y a une table externe où sont listés tous les auteurs du texte courant. Entre la table Personnes et la table Textes il y a une table intermédiaire dont chaque enregistrement est un lien entre la table Personnes et la table Textes.
L’illustration qui suit est faite pour le présent post.

TXT et per_TXT sont des graphes d’une même table, comme PER et txt_PER ; et inter_PER_TXT et inter_TXT_PER.
La table intermédiaire permet de stocker des informations. Dans l’exemple ici, le type d’auteur (qui fait référence à une autre table encore). Un auteur peut être un auteur principal, ou un co-auteur, ou un directeur de publication, ou encore l’auteur d’une préface. C’est moyennement logique, mais un « auteur » peut aussi être un(e) attaché(e) de presse, qui est quand même notre principal contact par rapport à un livre, mais c’est une autre histoire.
Puis le besoin s’est fait sentir de répertorier aussi les personnes dont parlent des textes. Un livre sur Louis XIV, par exemple, a un auteur, qui vit de nos jours ; Mais le texte a aussi ce que j’ai appelé un acteur ; c’est la personne dont parle le texte. Avec les mêmes tables Personnes et Textes, mais avec une nouvelle table intermédiaire, j’ai fait un nouveau lien. Après cela, sur le modèle Textes on peut voir sur une table externe les auteurs du texte courant, et aussi, sur une autre table externe, les personnes dont parle ce même texte.
Ensuite j’ai ajouté une table Personnes morales, qui comprend bien sûr les entreprises, mais aussi les associations, les ministères, les administrations ou encore les membres d’une organisation défendant une doctrine ou tout bêtement, des groupes informels. Un lien avec les personnes physiques permet de savoir quelles personnes physiques font partie de quelles personnes morales.
Le lien des personnes morales avec les textes, il est double. D’une part l’éditeur du texte. Ca peut être Grasset qui publie un roman, mais ça peut être aussi un ministère qui publie un communiqué de presse ou la Commission européenne qui publie une directive. L’autre lien est les textes qui parlent d’une personne morale. Par exemple, un article dans le Monde qui parle de la crise de la dette Grecque et qui évoque le rôle de la banque Goldman Sachs. Il peut être intéressant de répertorier que tel journaliste (personne physique) travaillant dans un article (Texte) a parlé de telle entreprise (personne morale).
Ajoutons aussi le fait qu’un type de données peut être en lien avec le même type de données. Une personne physique est en lien avec une autre personne physique, de même les personnes morales et les textes. Le lien des personnes morales avec elles-mêmes est un lien d’appartenance. Par exemple, les DRAC (Direction Régionale des Affaires Culturelles) sont des personnes morales qui font partie d’une autre personne morale, le Ministère de la Culture. Le plus souvent, le lien d’un type de données avec lui-même est une appartenance, comme le lien entre les DRAC et le Ministère de la Culture. Un autre exemple : les évènements. La Révolution française est un évènement. La décapitation de Louis XVI est un évènement, mais c’est un évènement qui fait partie de l’évènement Révolution française.
Le but de tout cela étant, ce n’est peut-être pas assez clair dans ce qui précède, n’est pas d’être exhaustif. Il ne s’agit pas, par exemple, de répertorier tous ceux qui travaillent dans un ministère donné, mais ceux qui présentent pour moi un intérêt, dans une enquête donnée.
De proche en proche, donc, sont venus s’ajouter d’autre types de données. Après les Personnes physiques, les textes et les personnes morales, il y a eu les évènements, les enjeux et les concepts.
Par exemple (ne voir aucune idéologie politique dans l'exemple qui va suivre)
pour une enquête (comme on en voit parfois dans certains magazines sur "le réseau social de M.Machin") :
- M.Sarkozy (une note avec les renseignements sur la personne)
- Mme Bruni (une note avec les renseignements sur la personne)
- Elections présidentielles (une notre avec des renseignements sur cet "événement")
- Ministère des finances (une note avec des renseignements sur cette "entreprise")
- Album de musique "quelqu'un ma dit"" (une note avec des renseignements sur ce "texte")
Dans le fichier tel qu’il fonctionne actuellement, il y a une rubrique Observations où je colle tout un tas d’informations. Pour les personnes physiques il s’agit souvent d’une biographie. Souvent, aussi, c’est là que je colle des informations avant de les traiter en renseignant les autres rubriques.
Dans cet exemple, M. Sarkozy, tel que fonctionne mon fichier actuellement, ferait l’objet d’un enregistrement Personne physique. Mme Bruni ferait l’objet d’un autre enregistrement Personne physique. Et il y aurait un lien entre les deux de type En couple. Si nécessaire, je renseignerait aussi la rubrique Observations (ou Notes, ou Commentaires) de la table intermédiaire. Cela pourrait donner cela :

En cliquant sur le nom de Carla Bruni, on atterrit sur l'enregistrement de Carla Bruni. Il en va ainsi de tous ce qui s'affiche dans le "petite" contrôle à onglets.
Les élections présidentielles feraient un enregistrement de type Evénement mais ce serait surtout au niveau des personnes morales que cela se jouerait. Je me suis donné certaines règles sur comment représenter l’Etat français. Au sommet, il y a une personne morale de type Régime, en l’occurrence, la Ve République. Cette Ve république a un certain nombre de personnes morales qui en font partie, par exemple, les parlements, les gouvernements et les présidences. Sous la Ve République il y a eu un certain nombre de présidences (Mitterrand I et II, Chirac I et II, Sarkozy, ...). Et à ces présidences ont appartenu un certain nombre de personnes physiques. Par exemple, M. Sarkozy la personne physique a fait partie de la personne morale Présidence de la République Sarkozy au poste de Président de la République. M. Henri Guaino a fait partie de la présidence Sarkozy au titre de conseiller spécial et d’auteur des discours du président.
La personne physique Nicolas Sarkozy, avant d’être membre de la présidence de la République au poste de président de la République a été ministre dans les personnes morales Ministère de l’Intérieur et Ministère des Finances entre autres de la personne morale Gouvernement De Villepin (31e gouvernement de la Ve République, de 2005 à 2007) .
Je me rend bien compte que tout ça fait un peu cheveu coupé en quatre et même en seize, mais ce système me permet de, par exemple, mettre le numéro de téléphone de tel conseiller à tel ministère à telle époque à un endroit et à un seul, de sorte à pouvoir le retrouver. C’est, pour moi, l’important.
Tout ça pour dire qu’il y a une raison à pourquoi j’ai fait les choses de cette façon. Si ce n’est pas la meilleure, je ne demande qu’à connaître un meilleur moyen.
FM Source est un service gratuit de La Source multimédia - spécialistes FileMaker
Développement FileMaker. Formation FileMaker. Hébergement FileMaker. Le blog FileMaker. Vente de licences FileMaker. Conférence FileMaker. Forum FileMaker. FileMaker resources














