Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / наследование & уникальный индекс / 6 сообщений из 6, страница 1 из 1
08.03.2008, 09:00
    #35179396
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Есть таблица A с уникальным индексом на несколько полей. Пронаследовали от нее таблицу Б. Как добиться того, чтобы при вставке данных в Б контролировалась уникальность по обеим таблицам? Сейчас получается так, что в таблицу Б можно добавить запись, которая уже существует в таблице А.
...
Рейтинг: 0 / 0
08.03.2008, 20:24
    #35179645
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Хорошей практикой в данном случае является навешивание непересекающихся check constraint-ов на колонки с PK в обоих таблицах. То есть вы создаете отдельно в каждой таблице PK, например, по колонке id и говорите, что в первой таблице id > 0 and id < 100, а во второй id > 100 and id < 200 и так далее. Включив при этом constraint_exclusion, вы научите PostgreSQL делать запросы по одной таблице, не просматривая вторую (при условиях вида WHERE id = X).
...
Рейтинг: 0 / 0
10.03.2008, 06:28
    #35180345
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Немного не такая постановка задачи. Очевидно, то что Вы описали - партиционирование. Данная функциональность активно применяется в моем проекте. Перечитав еще раз раз всю документацию я понял, что нельзя получить то, что я хочу. Перепроектировал этот кусок БД. Тему можно закрывать
...
Рейтинг: 0 / 0
11.03.2008, 10:16
    #35181663
Самоловских Виталий aka Kefir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Я вот не понял. А разве в таблице А не появится запись при вставке в таблицу B? И не применится ограничение по ключу?

Вроде именно так и должен механизм наследования работать...
...
Рейтинг: 0 / 0
11.03.2008, 10:41
    #35181740
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Самоловских Виталий aka KefirЯ вот не понял. А разве в таблице А не появится запись при вставке в таблицу B? И не применится ограничение по ключу?

Вроде именно так и должен механизм наследования работать...
нет, запись в А не появляется
он работает не так, в доках вроде бы это описано
...
Рейтинг: 0 / 0
20.03.2008, 18:07
    #35204431
SeniorAndre
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наследование & уникальный индекс
Это всё конечно хорошо...., но всё таки, может кто решал проблему наличия уникальности записей по первичному ключу в парент и чаилд.... Сегодня собрался делать наследование, а тут почитал форум и доку... и здрасьте... Дайте примерчик или ссылку... плиз...
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / наследование & уникальный индекс / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]