foreign keys and other constraints