Где бы то ни было, два совершенно независимых субъекта имели отношения один-к-одному. Там должно быть много примеров:
человек <-> стоматолог (его 1: N, значит, это неправильно!)
человек <-> врач (его 1: N, значит, тоже неправильно!)
person <-> spouse (его 1: 0 | 1, так что в основном это неправильно!)
РЕДАКТИРОВАТЬ: Да, это были довольно плохие примеры, особенно если я всегда искал 1: 1, а не 0 или 1 с обеих сторон. Я предполагаю, что мой мозг плохо стрелял: -)
Итак, я попробую еще раз. После недолгого размышления выясняется, что единственный способ, которым вы можете иметь две отдельные сущности, которые должны (насколько позволяет программное обеспечение) все время быть вместе, - это чтобы они существовали вместе в более высокой классификации. Тогда, если и только если вы впадаете в более низкое разложение, вещи есть и должны быть отдельными, но на более высоком уровне они не могут жить друг без друга. Контекст, то есть ключ.
Для медицинской базы данных вы можете хранить различную информацию о конкретных областях тела, сохраняя их в качестве отдельного объекта. В этом случае у пациента только одна голова, и он должен иметь ее, иначе он не пациент. (У них также есть одно сердце и ряд других необходимых отдельных органов). Если вы заинтересованы в отслеживании операций, например, то каждый регион должен быть уникальным отдельным объектом.
В системе производства / инвентаря, если вы отслеживаете сборку транспортных средств, вы, безусловно, хотите наблюдать, как двигатель движется не так, как кузов автомобиля, но между ними есть отношения один к одному. У медицинской помощи должен быть двигатель, и только один (иначе это не будет «машина»). Двигатель принадлежит только одному автомобилю.
В каждом случае вы могли бы создавать отдельные объекты как одну большую запись, но с учетом уровня разложения это было бы неправильно. В этих конкретных контекстах они являются по-настоящему независимыми объектами, хотя на более высоком уровне они могут и не выглядеть.
Paul.