Если вы используете SQL Server, то я согласен, что не может быть реального отношения 1 к 1.
Соотношение должно быть 1: 0..1, так как вам нужносначала вставьте одну строку, а другую - вторую.В течение некоторого минимального промежутка времени отношение будет 1: 0, а затем переключится на 1: 1.
Для реализации реального 1-к-1 вам нужно будет использовать стандарт Функция SQL, называемая Ограничение отсрочиваемости .К сожалению, насколько я знаю, эта функция доступна только в базах данных PostgreSQL и Oracle.В этих базах данных у вас действительно могут быть отношения 1: 1, поскольку ограничение проверяется не для каждой вставки строки, а в конце транзакции.
Сказав это, меня это не сильно волнует.Если вы выполняете вставку с использованием транзакций базы данных, то я не понимаю, почему это может вызвать проблемы.Используя такой процесс, как:
Начать транзакцию.
Вставить в таблицу Employee
.
Вставьте в таблицу Cashier
.
Подтвердите транзакцию.
Это должно гарантировать, что у вас никогда не будет висящего сотрудника без связанной таблицы.