Ide yang berasal dari skema Geneapro dan RootsMagic .
person
------
person_id
name (etc)
life_event_types
----------------
life_event_type_id
life_event_type_description (divorce, marriage, birth, death)
life_events
-----------
life_event_id
life_event_type_id
life_event_description
life_event_date
life_event_roles
----------------
life_event_role_id
life_event_role (mother, father, child)
person_event_role
-----------------
person_id - who
life_event_id - what happened
life_event_role_id - what this person did
Jadi Anda dapat memiliki peristiwa kehidupan dengan tipe "kelahiran", dan role_id memberi tahu Anda siapa orang tuanya, dan siapa anaknya. Ini dapat diperluas ke pernikahan, kematian, perceraian, orang tua angkat, orang tua pengganti (di mana Anda mungkin memiliki 3 atau 4 orang tua dengan hubungan yang sangat rumit), dll.
Adapun untuk menyimpan hubungan yang lebih jauh, Anda dapat menghitung ini. Misalnya, Anda dapat menghitung Ayah dari siapa pun dengan mendapatkan orang yang memiliki peran 'ayah' dengan event_id yang cocok. Anda kemudian bisa mendapatkan ayah dari orang itu, dan Anda memiliki kakek dari orang aslinya. Di mana pun seseorang tidak dikenal, buat orang tersebut dengan data yang tidak diketahui.