Вот еще один, о котором я думал в последнее время. В более ранних обсуждениях мы пришли к выводу: "естественные первичные ключи плохи, искусственные первичные ключи хороши". Ранее работая с Hibernate, я видел, что Hibernate по умолчанию создает одну последовательность для всех таблиц. Сначала я был озадачен этим, зачем вы это делаете. Но позже я увидел преимущество в том, что он заставляет связывать родителей и детей с дураком. Поскольку таблицы не имеют одного и того же значения первичного ключа, случайная привязка родителя к таблице, которая не является дочерней, не дает никаких результатов.
Кто-нибудь видит недостатки этого подхода. Я вижу только одно: у вас не может быть более 99999999999999999999999999999 записей в вашей базе данных.