| Base de données relationnelle | |
|
+5Nardo26 papydall sergeauze Jicehel Klaus 9 participants |
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Ven 16 Nov 2012 - 9:32 | |
| @Nardo26: J'ai vu le problème des accents, des traits d'union et des articles, mais je n'irai pas plus loin sur ce point. Ton programme est bien plus coù^mey que le mien, sur le plan de la finesse de recherche.
Mon but était différent. J'ai simplement profité du large jeu d'essai que représente le fichier des communes, pour montrer BDR en action sur de telles quantités de données. Et sur ce point, ma démo est réussie. Je ferai prochainement une autre démo, basée sur autre chose, pour aller plus loin.
Simplement pour expliquer le fonctionnement de la liste: lorsque tu saisie un nom de ville, lettre par lettre, le programme charehce, à chaque caractère, la première commune dont le nom commence par cette chaîne de caractères. Sil n'en trouve pas, il utilise le nom de la commune qui alphabétiquement suivrait immédiatement ce nom. Il affiche alors dans cette liste les noms de toutes les communes ayant le même code postal, et ce dans l'ordre de création initial de ces communes dans la base.
J'aurais pu faire autrement. J'aurais pu afficher, par exemple, les 20 noms qui suivent celui trouvé. Mais je voulais montrer cette recherche par code postal associé. Ainsi, lorsqu'on saisit par exemple D'H, on a la liste des communes de code postal 91590 dès la saisie de la lettre H. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Ven 16 Nov 2012 - 12:30 | |
| J'ai fait une nouvelle version de BDR, en ajoutant les fonctions BDRfilterentitynamestomemo et BDRfilterentitynamestoset. C'est une façon d'obtenir une sélection des entités, indépendamment de la structure.
Modules modifiés: BDR.dll, BDR.sub et BDR.chm.
J'ai ajouté un bouton "Filter" dans le programme demo_communes_bis.bas. On saisit un filtre dans la rubrique "Filtre", puis on clique sur "Filtrer" en regard du libellé "Communes". On obtient rapidement la liste des communes dont le nom correspond au critère.
Exemples: *-lès-* donne toutes les communes dont le nom contient la particule "lès" ST* donne toutes les communes commençant par "St" *ville donne toutes les communes se terminant par "ville"
Un clic sur un des noms de cette liste affiche le nom et le code postal dans les champs au-dessus.
Modules modifiée: demo_communes_bis.bas | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Base de données relationnelle Dim 18 Nov 2012 - 1:41 | |
| Testé, ça marche bien. Le principe est puissant. Après pour l'application même, le programme est plus intuitif, je trouve. Mais comme tu le dis, ce n'est qu'un exemple d'application. (En tout cas, un exemple qui fonctionne bien ) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Dim 18 Nov 2012 - 22:53 | |
| Nouvelle version de BDR.dll et BDR_SUB.bas.
Il y avait un léger bug au niveau de la suppression des entités - voilà qui est corrigé.
Je travaille sur une autre application de BDR. Je vais utiliser la notion des "relations" pour créer un petit logiciel de généalogie... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Base de données relationnelle Dim 18 Nov 2012 - 23:44 | |
| Excellente idée. Ça s'appliquera vraiment bien en effet et en plus tu as un public important s’intéressant à la généalogie. Ça m’intéresse aussi, surtout que cette fois je pense que tu va le penser comme une vrai appli puisque tu sais que la BDR fonctionne. Ca promet | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 12:11 | |
| Nouvelle version.
Il y a une nouvelle fonction: BDRdeleterelation(A$,R$,B$) qui défait les liens que BDRsetrelation(A$,R$,B$) a créées. C'est la dernière fonction importante qui manquait pour gérer la structure même.
Modules modifiés: BDR_SUB.bas, BDR.dll, BDR.chm
Mon programme de généalogie avance. L'état actuel: - création de personnes avec leurs données personnelles - sélection d'une personne avec affichage de ses informations - modification des informations personnelles et mise a jour dans la base - création d'un lien de mariage entre deux personnes. Lien limité à un mariage entre deux personnes (on ne peut pas épouser deux fois la même personne), mais une personne peut épouser plusieurs conjoints (à l'utilisateur de gérer les dates...) - défaire un lien de mariage entre deux personnes (en cas d'erreur de saisie...) - chercher le conjoint d'une personne
A venir: - création d'un lien de filiation (père, mère) entre deux personnes - défaire un lien de filiation - chercher les enfants d'une personne - chercher le père ou la mère d'une personne etc | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 13:40 | |
| Excellent. Amis généalogistes, n'hésitez pas à faire vos remarques à Klaus, vous allez peut être avoir le logiciel de vos rèves en Panoramic ...
| |
|
| |
maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 13:50 | |
| "Lien limité à un mariage entre deux personnes (on ne peut pas épouser deux fois la même personne), "
Rare mais déjà rencontré. un couple se marie, divorce et se remarie... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 13:53 | |
| Certes. Mais je parle en "simultané". C'est juste une sécurité pour éviter de déclarer deux fois le même lien.
Pour les mariages successifs, je vais élaborer une solution plus satisfaisante. C'est en cours. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 14:32 | |
| Tu sais Klaus que si tu fais un bon programme, ça va aider beaucoup de monde. Les "bons" logiciels de généalogie ne sont pas très nombreux. Nous avons les utilisateurs finaux et le programmeur ... Cela promet un petit bijoux !! Sur ce sujet, je sais que tu n'ais pas vénal, mais tu aurais même un créneau commercial (et qui sais ça pourrait partiellement aider à financer Panoramic ?) | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 16:27 | |
| Bonsoir Klaus, Je viens de voir que tu t'attaques à un programme de généalogie! C'est très bien, mais complexe. Ta BDR devrait te permettre de réaliser ce programme. Mais en généalogie, il n'existe pas de bon logiciel. Le logiciel que j'utilise, c'est MyHeritage Family Tree Builder, la version gratuite, qui permet de faire énormément de chose. Une chose que tu devras absolument coder pour que le logiciel de généalogie séduise les utilisateurs, c'est l'import et l'export en fichiers gedcom, c'est la norme de référence en généalogie, car tous les logiciels peuvent la lire! et c'est important pour trimballer sa généalogie sur une clé d'un ordi à l'autre, des archives à d'autres, etc... Voilà, bon courage | |
|
| |
maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 16:41 | |
| Le Gedcom c'est un vrai problème... Des logiciels comme Heredis, Geneatique, etc , génèrent un fichier qui si il est transportable, n'en comporte pas moins tout un tas de fantaisies propres à l'éditeur. Je me suis fait un programme panoramic de lecture de fichier GED pour connaître les personnes qui avaient des photos de source.(Naissance , baptéme etc. ) Et de ce fait savoir ce qu'il me restait à rechercher. C'est tout un poème ! Mais bon te connaissant je te fais confiance. Et si d'aventure tu as besoin de renseignements je suis à ta disposition. Une adresse sur la norme GED : http://www.gedcom.net/0g/gedcom55/55gcch1.htm#MULTIMEDIA_RECORD | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 16:56 | |
| @Bignono: As-tu essayé Généatique 2012 ? Pour ma part, je le trouve assez génial !
@Jicehel: Quel que soit le logiciel que je fais, je ne ferai jamais un produit payant avec Panoramic, même de façon minime. Et je mettrai systématiquement tous les sources en ligne, à libre disposition de tous. Libre à ceux qui s'y intéressent, d'en faire un produit payant.
Par le passé, j'ai fait beaucoup de logiciels payant, et j'en ai bien vécu. Mais cela introduit une relation tout à fait différente avec le "client", et je n'ai plus envie de retomber dans ces aspects.
Maintenant, une réflexion générale sur mon programme de généalogie. Pour des raisons personnelles, je m'intéresse à la généalogie par logiciel depuis longtemps. Et je n'ai pas l'intention de réinventer la ficelle à couper le beurre et pondre, à moi tout seul, une n-ième version d'un logiciel de généalogie qui serait capable de rivaliser avec ses illustres concurrents.
Mon but est totalement différent. Personnellement,je crois fermement en la puissance et l'adaptivité de BDR. Je sais, cela est certes un peu abstrait pour la plupart de ceux qui lisent ce forum. C'est un outil très technique, avec des possibilités peu courantes dans le monde de la programmation amateur. Et pourtant, je suis convaincu de l'utilité d'un outil de ce genre, ne serait-ce que pour permettre à Panoramic d'avoir une gestion de fichiers indexés avec un accès par clé alpha-numérique.
J'ai donc commencé par faire un petit programme de facturation, puis un exemple montrant la gestion d'une base de communes/codes postaux que l'on peut comparer à une version SQL. Et ce sera maintenant un peu de généalogie, pour montrer que BDR est capable de gérer les structures arborescentes complexes qui sont la base d'un tel produit. Par contre, je ne ferai pas la partie visuelle, c'est-à-dire la représentation graphique de l'arborescence, ni à l'écran, ni sur papier. Des imports d'autres structures ? Pourquoi pas, si cela peut mettre en valeur certaines fonctionnalités de BDR. Mais ce n'est pas un but en soi.
Voilà. Désolé si j'ai déçu certains d'entre vous. Mais si vous voulez prendre cette base technique, ce moteur, si vous voulez, pour lui greffer une interface visuelle graphique, et bien, les sources seront en libre distribution... | |
|
| |
maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 17:09 | |
| Je suis utilisateur d'Heredis et crois (enfin à peu prés) connaître les finesses d'un programme de généalogie.
Si mon expérience d'utilisateur peut te servir, je suis à ta disposition. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 18:21 | |
| Merci, maelilou. Je ne manquerai pas de venir vers toi si j'ai un doute sur un point ou un autre. Pour le moment, j'avance sur ma maquette (car c'en est une) et je la mettrai en ligne prochainement. On aura alors une vraie base de discussion. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Base de données relationnelle Lun 19 Nov 2012 - 18:48 | |
| OK Klaus Pas de problème. On verra bien si quelqu'un en fait un shareware. Si c'est moi, en tout cas, j'en profiterais pour reverser à Jack pour le développement et l'entretien de Panoramic (enfin si je reçois des dons). Perso, si je reprends tes sources, même si je fais un shareware, je laisserais les sources libres aussi. C'est dans mon état d'esprit. Bon, je te rends ton sujet, puisque là, c'est un peu hors sujet. Désolé ... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Mar 20 Nov 2012 - 13:21 | |
| Nouvelle version.
J'ai ajouté les fonctions suivantes: BDRdeleterelation - défait une relation créée par BDRsetrelation BDRgetidofname - retourne le ID d'une entité BDRrenameref - renomme une entité
Modules modifiée: BDR.dll, DBR_SUB.bas, BDR.chm
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 13 Mai 2013 - 23:58 | |
| Suite à l' intégration de BDR_SUB à KGF_SUB : Je viens de rajouter un "_" dans KGF_SUB.bas" l' appel était "BDRinitialize(bdr$)" que j'ai modifié en "BDR_initialize(bdr$)" ceci pour être cohérent avec "KGF_initialize(kgf$)" voilà, voilà, fin de ma petite parenthèse... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Base de données relationnelle Mar 14 Mai 2013 - 1:03 | |
| Pour moi, la fonction BDRinitialize était intentionnellement sans "_". Toutes les fonctions BDR zont du format BDRxxxxx, sans "_". C'est une simple convention de nommage, et c'est cohérent à travers toutes les fonctions de la BDR, et par conséquemment pour toutes les procédures BDRxxxxx dans KGF_SUB.bas.
Maintenant, tu es libre de modifier KGF_SUB.bas à ta guise, mais tu auras vite des problèmes lors de mises à jour de KGF_SUB.bas... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 14 Mai 2013 - 2:06 | |
| Tant que le projet n'est pas finalisé, je changerai sur les mises à jour. Le tout est que je ne l'oublie pas... Une fois le projet finalisé, je fais un assemblage des divers fichiers avec " Recover Source " et comme on dit, une fois que c'est dans la boite, c'est dans la boite... Je n'avais pas fait attention aux autres appels de BDR , en effet vu comme çà c'est cohérent. Mon choc visuel est venu de la vision des deux initialize dans ma sub init dll . | |
|
| |
Contenu sponsorisé
| Sujet: Re: Base de données relationnelle | |
| |
|
| |
| Base de données relationnelle | |
|