Database design

This page is as much for my benefit as yours.

The database has the following tables:

There is an underlying FileMaker Pro database from which I export data for the Web site:

Generation of the Web site

Each House and each Person has Serial number, which become the ID s by which everything is linked together. The Serial numbers are regenerated before each generation (I may stop doing this, but at the moment, it ensures that when you page through using Next and Previous, you will see houses or people in alphabetical order.)

Each of the tables is exported to csv (comma-separated variable) format and a record delimiter (\r\n) is added to each record. The ‘real’ commas are temporarily edited to something else, so that Perl can use the comma delimiting the items of data as a ‘knife’. Then a Perl script separates each item of data from its record and writes an XML file. The commas are then changed back to ‘real’ commas, and the XML files are ready to be used by their respective HTML pages (which use Adobe Spry widgets in case you wanted to know).