Ваш идентификатор автоматически сгенерирован?
У вас есть несколько вариантов с возможными проблемами.
Сначала не определяйте отношения ФК. Теперь, как вы учитываете записи в частичном состоянии и тех, кто никогда не вступал в брак с реальной записью? И как вы собираетесь объединить записи, когда основная запись вставлена?
Сначала вставьте запись в основную таблицу, где все пусто, кроме идентификатора. Это делает обязательным применение всех обязательных полей по умолчанию к пользовательскому приложению, о чем я не в восторге с точки зрения целостности данных.
Третий и самый сложный, но, вероятно, самый безопасный - используйте 3 таблицы. Создайте основную запись в таблице, которая содержит только основной идентификатор записи, и верните ее в свое приложение при открытии формы для создания новой записи. Создайте отношение pk / fk как к основной таблице, так и к таблице внешнего ключа. Удалите автогенерацию идентификатора из исходной основной таблицы и вставьте идентификатор из новой основной таблицы при вставке записи. Вставьте новый идентификатор основной таблицы, когда вы вставляете записи в оригинальную таблицу FK. По крайней мере, таким образом, вы можете продолжать помечать все обязательные поля в базе данных как обязательные, но связь между новой таблицей и другой таблицей не связана с исходной таблицей и другой таблицей. Это не повлияет на запросы (если у вас есть правильная индексация), но усложнит ситуацию, если вы удалите записи, так как вы можете оставить некоторые из них, если не будете осторожны. Также вам нужно будет рассмотреть, есть ли другие процессы (такие как импорт данных из другого источника), которые могут вставлять записи в основную таблицу, которые должны быть скорректированы, так как идентификатор больше не будет генерироваться автоматически.