A bit late, but still - the
SPListConstraints feature for SharePoint contains, among other constraints, a foreign key constraints for SharePoint list.
The main difference, atleast at this time, from SQL foreign constraints is that the foreign constraint in SPListConstraints does not prevent removing records from the foreign list.