Are the database schema design considerations described somewhere?

I am a new user of Gramps. I was encountering some limitations (related to 1-parent and 3-parent families and single parentage), so I looked into the database schema to get an understanding of the model underlying Gramps (using DB Browser for SQLite). After doing so, I had an urge to provide some feedback on the schema (unrelated to the limitations I mentioned before). However, I am ignorant of the considerations guiding and constraining its design, and want to avoid bringing up points that have been discussed before. Are these considerations described somewhere?

Have a look at the Gramps Data Model. The schema will stay the same for the next release, but the object storage will change from pickled blobs to JSON.

1 Like

Are you asking about the Gramps Data Model?

https://gramps-project.org/wiki/index.php/Gramps_Data_Model

https://gramps-project.org/wiki/index.php/Database_Formats

FYI, accessing a Gramps 5.2 database file with an external SQL tool will run into problems with a legacy from the BSDDB era… blobs. The retirement of blobs is anticipated for the 6.0 release.

2 Likes

Thank you. That explains more than I had thought there would be to explain! Replacing the BLOBs with JSON will make things much more transparent indeed.

1 Like

Ah, thank you as well, the database formats page make some further things clear! Now I dare guess that likely the lack of foreign key use and use of indexes instead of unique constraints is due to the genericity of dbapi.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.