I am starting a project which I call the Spartan Demographic Initiative. This is a computer simulation of the population of ancient Sparta. In this simulation each person in ancient Sparta will be represented by a database record. We don’t know, beyond a few hundred, anything about Spartan individuals and this project does not attempt to represent real people. The intent is to create virtual Spartans and subject them, year by year, to the same pressures that ordinary real Spartans were subjected to. These virtual Spartans will have numbers, not names. The simulation, as I plan it, will run from about 550 BC to the Battle of Leuctra in 371 BC.
The database consists at present of four tables. The first is ‘pers’ which contains records of each person. The fields are
ID : A unique number identifying this person
Father : A unique number identifying the person’s father
Mother : A unique number identifying the person’s mother
Age : The person’s age
Gender : The person’s gender as values ‘M’, ‘F’
Living : Whether the person is living as values ‘T’, ‘F’
Tribe : The person’s tribe as values 1,2,3
Household : A unique number identifying the person’s household membership
Inhouse : This identifies whether the person is actually in the house as values ‘T’,’F’
For males and females there are unique tables, ‘male’ and ‘female’
In the table ‘female’ there is a record for each female in the simulation. The fields are
ID : A unique number identifying this person
Married : The person’s marital status as values ‘T’,’F’
Pregnant : Whether this woman is pregnant as values ‘T’,’F’
Numchild : The number of children that she has.
Husband : Her husband’s unique numerical identifier.
The fields for the table ‘male’ are:
ID : A unique number identifying this person
Married : The person’s marital status as values ‘T’,’F’
Numchild : The number of children that this man has fathered
Army : Whether this person is in the Spartan army as values ‘T’,’F’
Agoge : Whether this person is in the Spartan educational system for boys, the ‘agoge’, as values ‘T’,’F’
Wife : His wife’s unique numerical identifier or zero (0).
There is an additional table ‘Konst’ which is used to hold name/value pairs as ‘kname’ and ‘kval’. I will describe it in another post.
I have placed the .sql file which defines these tables on Google Docs here as Table_Defs_SDI.sql.
In my next post I’ll describe some of the underlying considerations for such a simulation.