Relational programming languages redux

Chris Woofruff wonders if Python's built-in facility for dictionaries / associative arrays satisfies Ted Neward's desire for relational language extensions. I'm not 100% sure, but I don't think so. To me, Ted's post jumped off the idea of relational operators creating new types (although Ted didn't explicitly discuss it): 

relvar[person] people = { fn, ln, age} [ ["Ted", "Neward", 32] 
 ["Don", "Box", 39] ]; 
 relvar[contact] myContacts = dataSet.Tables["contacts"];

 relvar[contactsWithAges] peopleUnderThirtyFive = 
 SELECT people.age, contact.* WHERE people.age < 35 
 AND people.fn == contacts.FirstName AND people.ln == contacts.LastName;
 Console.WriteLine("Ted, age {0}, lives in the state of {1}", 
 people.FirstName["Ted"].age, people.FirstName["Ted"].state);
 contactsWithAges.age.EditEnding += new EventHandler(AgesVerifier);

I've added more typing than Ted proposed (basically, a name for a particular relational structure), define one explicitly in code (people), another one is dynamically typed at runtime (contact structure is read from underlying database), and created a third from a query (contactsWithAges). (The last line is attaching a delegate to the "age" field of the dynamically created type contactsWithAges. )

I dunno' if this is what Ted had in mind, but it's an interesting thought experiment. Would capabilities like this be interresting in a programming language?

P.S. Avi Bryant has actually implemented some relational operators at the language level (ahh... Smalltalk)