2016-08-16 3 views
-1

Я пытаюсь создать таблицу Inspection_tbl с колонкой ApprovedBy или Personnel_ID (FK), которая ссылается на Personnel_tbl. В таблице также есть другая колонка InspectedBy или Personnel_ID (FK), которая также ссылается на Personnel_tbl.Используя тот же FK дважды в одной таблице

Является ли ссылка на одну и ту же таблицу дважды (Personnel_tbl) из одной таблицы (Inspection_tbl) не допускается, так как у меня будет такая же колонка (Personnel_ID (FK))?

Я новичок в SQL и я люблю принимать какое-либо решение, чтобы решить эту проблему .. Большое спасибо ...

+2

Насколько я знаю, не должно быть никаких проблем, если два поля внешнего ключа называются по-разному. Нет проблемы с ссылкой на ту же таблицу в двух разных ограничениях внешнего ключа. Просто убедитесь, что поля и ограничения имеют разные имена. –

+1

Да, имя столбца внешнего ключа может отличаться от имени ссылочного столбца первичного ключа. –

+0

Вы попробовали? Это будет быстрее, чем публикация в Stack Overflow .. – Blorgbeard

ответ

0

ссылается на ту же таблицу дважды (Personnel_tbl) из одной таблицы (Inspection_tbl) не допускается

путь к думать об этом, чтобы думать о том, что отношения FK означает. Внешний ключ определяет домен: A references T(B) означает, что A должно быть указано в B. Если это не так, это не тип, т. Е. Не домена, - определяет B.

Есть ли правило, согласно которому 2 столбца в таблице не могут иметь один и тот же домен? Нет. Нормализация ортогональна типам.

Вы говорите, что ApprovedBy и InspectedBy оба ограничены до домена, определенного Personnel_tbl.Personnel_ID. Если это то, что вы имеете в виду, вы в хорошей форме. :-)

Смежные вопросы