All names are stored in the NAMES table. The NAMES table contains a unique record id key and date updated. NAMES can be active, inactive or deceased, and NAMES can also be member, friend or visitor. The NAMES table contains the index to the spouse/partner, and the anniversary date.
The groups are stored in the GROUPS table. Think of a group as any organization that has multiple members. Like Names table, the GROUPS table contains a unique record id key and a date updated.
Outside of the spouse linkage in the NAMES table, all other linkage logic, that is linking names to groups, children to parents, siblings to siblings, names to events is driven by the LINKS table.
Each link record contains a parent ID key, a child ID key, relation, start date, and end date. The relation field describes the purpose of the link. The different relations come from the SETUP table in SQL, and can be modified by a SQL programmer using SQL Server Management System (but the middle of the text must contain either >>, ==, or || ).
For a church, the allowable relations could be:
The processing logic associated with LINKS depend upon the >>, == or || characters in the middle of the relation field.
The relations that contain >> are used to link names to a group. That is, each record contains one name ID and one group ID, and there can be multiple records with the same group ID.
The relations that contain == link one name to one name, like parent to child.
The relations that contain || have one date and one name linked together, with the text of the link coming from the left of the relation field, like the date a name became a member.