From working on some code to get a list of all individuals and display it, I noticed that we are going to need some standard functions to get things out of the database and populate associative arrays with them. In particular:

Individuals
families
events

so I reccommend that we have

family_getIndividual($fid) which will return an associative array with the info for an individual stored in it.
family_getfamily($fid) which will return an associative array with the info for a family stored in it.
family_getevent($fid) which will return an associative array with the info for an event stored in it.

so as an example an individual might look like this after the call to getindividual:
array('NAME' => 'Michael James Robellard', SURN => 'Robellard', GIVN => 'Michael James', 'BIRT'=> array('DATE' => '16 OCT 1974'));

Note that the event is embedded as an array inside the individual

Any ideas

Comments

eschipper’s picture

dramus wrote:
Note that the event is embedded as an array inside the individual

Events should not be embedded in an individual. It would give a lot more flexibility if events are stored in a separate table and then records for individuals can include a list of relevant events. This makes it much easier to have an event apply to multiple individuals without having to create multiple copies of the same event in each individual.

The task to define database structure is still listed as an active task. Has there been any progress on this?

pyutaros’s picture

Status: Active » Fixed

I believe this format is still preserved and was done so to remain gedcom compliant. Marking as fixed.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.