Add surrogate keys for independent value types, and make foreign keys cascade