Так что эти две таблицы в моей базе данных:Создание отношения один-к-одному между таблицами с существующей один-к-многим
Companies
--------------------
CompanyID (PK)
Name
Employees
--------------------
EmployeeID (PK)
CompanyID (FK)
Name
В принципе, одна компания имеет много сотрудников.
Но я бы хотел, чтобы каждая компания имела ровно одного сотрудника, который является основным контактом. Моя первоначальная мысль состояла в том, чтобы просто добавить поле MainContactID
в таблицу Companies
, которая ссылается на EmployeeID
в Employees
, но это создаст цикл с отношениями.
Каков наилучший способ для этого?
Это создаст ситуацию с круговой ссылкой, сотрудники уже являются дочерней компанией Компании, она также не может быть родительской или вы не сможете вставлять записи. – HLGEM
@HLGEM - Я не согласен, это образец, который я использовал, и он работает. '1.' Создайте компанию без MainContact (NULL FK). '2.' Создайте дочерних сотрудников в этой компании. '3. 'Обновите основной контакт компании с одним из созданных вами сотрудников. – MatBailie