The database is standard Microsoft SQL running on either a local copy of the database or on Microsoft's Azure cloud database.  Azure requires a list of allowable TCP/IP addresses, a user ID, and a case sensitive user password.  These three variables are set on the Azure portal.  

All SQL commands are standard T-SQL commands.  Stored procedures or triggers are not used. 

The connection the database is controlled by one connection string that is stored as a program attribute that can be modified by a programmer familiar with SQL connection strings.  Also, Azure will give you the default connection string.

The software organizes data into four tables---NAMES, GROUPS, LINKS, and SETUP.

The NAMES table in the database contains all name information.  The layout of the table is:  

namesTableLayout.png

The default date time logic for years is to set the year to 1900.  The software is written to treat any date field with the year set to 1900 as null, or not entered.  The year 1901 is used to record birthdays where the year is unknown.  That way, sometimes a birthdate (day of month, month and year) is show, and sometimes the birthday is shown (day of month and month).

 

The GROUPS table layout is: 

groupsTableLayout.png

The LINKS table in the database is used to link names, groups, events and dates.  The layout of the table is:

linksTableLayout.png

The NAMES, GROUPS and LINKS tables use identity keys to uniquely identify each record.

The setup table is used to store setup information.  Currently there is only column used.

setupTableStructure.png

The contents of the SETUP table can be modified using a SQL editor, and the SETUP table for a church could be:

setupTableContents.png