я с удивлением обнаружил, что я могу создать внешний ключ, ссылающийся на первичный ключ, определенной на точно такую же таблицу и столбец, например:FK реферирование ПК с той же колонке
ALTER TABLE dbo.Foo WITH CHECK ADD CONSTRAINT FK_Foo_Foo FOREIGN KEY(FooId)
REFERENCES dbo.Foo (FooId)
У меня есть клиент DB с таким FK, который определен и кажется полностью избыточным.
Он подходит для любых целей?
NB. Это не ситуация иерархического отношения - поле FK не является другим полем в той же таблице, что и родительский идентификатор, а скорее полем PK.
Хорошим примером использования будет дизайн родительского/детского стиля. – gvee
Я не думаю, что это применимо, см. Мое редактирование. –
Я не вижу никакой возможной цели, которая могла бы служить, за исключением, возможно, предотвращения исключений. Я даже не знаю, что произойдет, если вы попытаетесь удалить строку из этой таблицы. –