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