This is old, but the deeper you read into the 2008 essay Gay marriage: the database engineering perspective, the more profound it gets:

The real question from my perspective is how you store a marriage in a computer. Altering your database schema to accommodate gay marriage can be easy or difficult depending on how smart you were when you originally set up your system to accommodate heterosexuality only. Let’s begin…

I fell off the hay-wagon about half-way through the ride due to inadequate comprehension of mathematics and databases, but it was still worth my time. It might be worth yours too.