id — identifiant uniqueprenom, nom, sexe — 'M' ou 'F'sosa — n° d’ancêtre (NULL si hors ascendance)pere_id, mere_id → personnes.iddate_naissance, date_deces — 'AAAA-MM-JJ', NULL si inconnulieu_naissance_id, lieu_deces_id → lieux.idprofessionidepoux_id, epouse_id → personnes.iddate_mariage — NULL si inconnuelieu_id → lieux.ididcommunedepartement — '22', '35'…region, paysLes résultats de vos requêtes s’afficheront ici, dans leur propre panneau : l’éditeur, lui, ne bouge jamais.
Astuce : si l’arbre vous manque après un DELETE malheureux, le bouton 🔄 Réinitialiser vous rend la famille au complet.
Ce site sert deux apprentissages à la fois. Aux généalogistes du CG22, il offre une vraie base de données à interroger : chaque requête SQL de la console travaille sur un arbre breton bien réel, les ascendants de Ronan Le Goff (l’arbre familial tenu sur Geneanet par sa mère Marielle), entre Trégor et presqu’île de Crozon — 1 261 personnes, 662 mariages, 16 générations. Aux informaticiens, il montre comment se construit réellement un arbre généalogique : numérotation Sosa, implexe, remariages… tout y est.
🔒 Les personnes vivantes de l’arbre restent discrètes : l’export Geneanet masque leurs dates et détails — c’est la règle du jeu dès qu’on publie de la généalogie contemporaine. Deux grands-parents n’ont pas pu être nommés : leur prénom est « ? ».
Et surtout : chaque visiteur travaille sur sa propre copie de la base. Vous pouvez tout modifier, tout supprimer, tout casser — le bouton 🔄 Réinitialiser restaure la base d’exemple en une seconde, et vos voisins d’atelier ne verront jamais vos expériences.
Tout arbre généalogique part d’une personne, la racine (les généalogistes disent le de cujus). Ici c’est Ronan Le Goff. À partir de lui, deux directions :
La page 🌳 L’arbre affiche les deux à la fois (une vue « en sablier ») autour de la personne de votre
choix : double-cliquez n’importe qui pour recentrer l’arbre sur lui. Dans la base de données, ce double lien
tient en deux colonnes : chaque personne a un pere_id et un mere_id. C’est tout —
et cela suffit à reconstruire l’arbre entier.
Comment s’y retrouver quand les ancêtres se comptent par dizaines ? Depuis le XVIIe siècle, les généalogistes numérotent l’ascendance avec la méthode Sosa-Stradonitz :
| Sosa | Qui | Dans la famille Le Goff |
|---|---|---|
| 1 | la racine | Ronan Le Goff |
| 2 | son père | Jean-Michel Le Goff |
| 3 | sa mère | Marielle Le Goff |
| 6 | père de la mère | François Le Goff |
| 7 | mère de la mère | Germaine Bathany |
| 8 | père du père du père | Louis Marie Le Goff (1904) |
| 9 | mère du père du père | Célina Maria Raoul (1907) |
💡 Le numéro Sosa se lit comme un chemin en binaire : 9 = 1001 en base 2, soit,
en partant de la racine et en ignorant le premier chiffre : père (0), père (0), mère (1) —
Célina est bien la mère du père du père de Ronan. Dans la base, la colonne sosa de la table
personnes vaut NULL pour tous ceux qui ne sont pas des ancêtres directs.
En théorie, on a 32 ancêtres à la génération 5. En pratique, souvent moins ! Dans les campagnes d’autrefois, on se mariait au bourg voisin : des cousins plus ou moins éloignés finissaient par s’épouser, et un même ancêtre apparaît alors dans plusieurs branches de l’arbre. C’est l’implexe.
Notre arbre en contient plusieurs — en voici un, cherchez-le : deux sœurs, Marie Yvonne
(sosa 49) et Marie Anne Le Du (sosa 53), ont épousé l’une un Le Goff, l’autre un Le Caer.
Ronan descend des deux couples. Résultat : leurs parents, François Marie Le Du et
Marie Joseph Le Jean, occupent chacun deux numéros Sosa : 98 et 106 pour lui,
99 et 107 pour elle. Dans l’arbre, leurs cases portent un badge doré ; dans la base, la colonne
sosa garde le plus petit des deux numéros.
🔍 À la leçon « WITH RECURSIVE », vous écrirez la requête qui détecte l’implexe toute seule.
Pourquoi une table mariages séparée, plutôt qu’une colonne « conjoint » dans
personnes ? Parce qu’une personne peut se marier plusieurs fois — c’était même
très courant autrefois, où l’on se remariait vite après un veuvage.
Exemple dans la famille : Charlotte Ollivier-Henry (sosa 519) épouse
François Coualan en 1718 à Ploëzal, puis se remarie en 1731 avec Jean Le Fichant
— et c’est de cette seconde union que descend Ronan. Une ligne par union dans la table mariages,
et tout est dit : c’est exactement le genre de situation qu’une base de données bien conçue représente
sans effort.
Deux personnes sont parentes « par le sang » si elles ont un ancêtre commun. Tout le vocabulaire découle de la distance à cet ancêtre :
Le degré civil compte simplement le nombre de liens qui remontent puis redescendent : cousins germains = 4e degré (2 en montée + 2 en descente).
✨ Dans la page 🌳 L’arbre, cliquez deux personnes l’une après l’autre : les branches qui les relient s’illuminent, l’ancêtre commun est encadré, et le lien est nommé (cousine issue de germaine, grand-oncle…). C’est le meilleur moyen de « voir » ces définitions.
Trois tables seulement (regardez l’aide-mémoire de la console) :
personnes — une ligne par individu ; pere_id et mere_id pointent
vers d’autres lignes de la même table (d’où les « self-jointures » des leçons) ;mariages — une ligne par union, avec epoux_id et epouse_id ;lieux — les communes, référencées par les naissances, décès et mariages.Deux idées importantes de modélisation :
pere_id NULL, c’est une filiation inconnue — le « mur » bien connu des
généalogistes. Un arbre réel comme le nôtre en est plein.pere_id = 1. Pas de colonne « âge » : il se calcule. Une donnée stockée
deux fois finit toujours par se contredire.📦 Pour aller plus loin : le format d’échange universel entre logiciels de généalogie s’appelle
GEDCOM (fichiers .ged). Son modèle ressemble beaucoup au nôtre : des individus,
des familles qui les relient, des lieux et des sources.
Un bac à sable, c’est pour apprendre sans risque. Les vraies données, elles, se trouvent dans les
registres paroissiaux (baptêmes, mariages, sépultures — les « BMS », tenus par les curés
jusqu’en 1792) puis dans l’état civil. Pour les Côtes-d’Armor, les Archives départementales
les ont numérisés, et le CG22 publie relevés et entraides. Chaque information d’un arbre sérieux cite sa
source : l’acte, sa cote, sa date — d’ailleurs, à la leçon « CREATE TABLE », vous créerez
vous-même une table sources.