ключом что делать когда индексы удаляются из таблиц от которых другие зависят, как декремент сделать везде или обновить индексы везде?
1. Не удалять) 2. Запретить удаление если есть зависимые данные в других таблицах 3. Да, удалять везде, повесить констрейнт на каскадное удаление
Опишите конкретнее, что значит "индексы удаляются"? Вы удаляете строчку из таблицы, на которою из других таблиц внешний ключ? При удалении строки значение первичного ключа других строк не исправляется же, откуда декремент?
3 ответ то что хотел спросить позже, удивлен как вы мысли прочитали😁 спасибо
Плохо вопрос составил. Конкретнее есть две таблицы, фамилия( id serial pk, surname varchar) и имя(id serial pk, name varchar) на каждую фамилию может куча имен быть и возьмем две фамилии и их первичный ключ будет 1 и 2. Я удаляю первую фамилию к примеру и добавляю другую и уже ключи 2 и 3, и то есть что произошло с ключом 1? как переместить фамилию с pk 2 на pk 1? Я это спрашиваю поинтересоваться, если не перемещать, то сломает получается эта система дерево b-tree?
> то сломает получается эта система дерево b-tree? кажется вы плохо знаете как работает бинарное дерево ) вам этим вообще не нужно интерисоваться при удалении записи все что необходимо, само перестроиться ) > то есть что произошло с ключом 1 он удален, если на него есть зависимости, вы или не сможете его удалить, или удалите вместе со всеми зависимостями (если они явно описаны) > как переместить фамилию с pk 2 на pk 1 можно выполнить апдейт, но абсолютно не нужно
Обсуждают сегодня