Я моделирую реляционную базу данных, где для описания 2 таблиц используется следующая схема: Модель ERD .
Указаны следующие правила:
- В офисе есть менеджер
- Каждый сотрудник назначен на должность
Чтобы смоделировать это, я создал ERD, используя MySQL, который предоставил следующее DDL .
Проблема, с которой я столкнулся, заключается в том, что для обеспечения того, чтобы в офисе должен был иметь менеджера, внешний ключ в таблице офиса не обнулялся. Аналогично, внешний ключ в таблице персонала, представляющей офис, в котором они работают, требуется для каждого сотрудника и поэтому не обнуляем. Это имеет смысл для меня в модели, однако для реализации невозможно вставить данные, так как каждый из них зависит от наличия кортежей в таблицах.
Единственный ответ, который я могу придумать, - сделать ключи обнуляемыми, чтобы один мог временно существовать без другого.
Это правильный способ решения проблемы? Со временем база данных будет нормализована до 3NF, возможно BCNF.