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