Мне было трудно создавать отношения FK в моей реляционной базе данных SQL, и после краткого обсуждения на работе мы поняли, что у нас есть столбцы с нулевым значением, которые, скорее всего, способствовали этой проблеме. Я всегда рассматривал значение NULL как неназначенное, не указано, пустое и т.д., И на самом деле никогда не видел проблемы с этим.
Другие разработчики, с которыми я говорил, чувствовали, что единственный способ справиться с ситуацией, когда отношения существуют между двумя объектами, тогда вам нужно будет создать таблицу, которая объединяет данные из обоих объектов...
Мне кажется интуитивным, по крайней мере, сказать, что для столбца, содержащего идентификатор из другой таблицы, если этот столбец не является нулевым, то он должен иметь идентификатор из другой таблицы, но если он равен NULL, то это ОК и двигаться дальше. Похоже, что это само по себе противоречиво тому, что говорят и предлагают.
Какова наилучшая практика или правильный способ обработки ситуаций, когда может быть связь между двумя таблицами, и если задано значение, то оно должно быть в другой таблице...