Из вашего описания, мне кажется, что триггеры со временем будут становиться все более и более сложными и в конечном итоге станут кошмаром для обслуживания.
Мне приходилось поддерживать такую схему данных ObjectId в моей карьере, и мой опыт работы с ней всегда был отрицательным. С течением времени обслуживание становится очень болезненным и становится очень сложным для выполнения значимых запросов. По сути, вы бы отказались от «реальной» реляционной модели для своего рода модели метаданных.
Это может показаться нелогичным, но поддерживать должным образом нормализованную реляционную модель, даже с множеством таблиц, (как правило) проще, чем поддерживать модель метаданных.
Все это говорит о том, что если бы я собирался пойти по маршруту "ObjectId", я бы подумал о том, чтобы обеспечить целостность на уровне приложения и не использовать триггеры. Недостатком было бы то, что это позволило бы получить неверные данные в системе (логические ошибки или люди, вводящие данные вручную через SSMS). Однако обслуживание, вероятно, будет более управляемым.