Я пытаюсь добавить ограничение внешнего ключа к таблице в моей базе данных PostgreSQL 8.4, но она не работает в качестве целевого поля, хотя и является частью многоколоночного первичного ключа ключ, сам по себе не уникален.Добавление ограничения внешнего ключа в «частичный» первичный ключ в PostgreSQL
В базе данных имеет следующую структуру:
В таблице 1 (имена первичных идентификаторов):
PrimaryType, Name
[Primary key = "PrimaryType"]
Таблица 2 (имена идентификаторов дочерних для каждого типа первичного ID):
PrimaryType, SubType, Name
[Primary key = "PrimaryType, SubType"]
[Foreign key = "Table2.PrimaryType = Table1.PrimaryType"]
Таблица 3 (журналы, содержащие первичный и детский идентификаторы):
PrimaryType, SubType, DATA1, DATA2, ..., DATAN
[Foreign key = "Table3.PrimaryType = Table1.PrimaryType" AND "Table3.SubType = Table2.SubType"]
Очевидно, что вторая часть внешнего ключа для таблицы 3 является причиной проблемы. Мне просто нужно убедиться, что пара ИД первичного и подтипа в журнале является допустимой комбинацией.
Заранее спасибо.
спасибо, что работал – James