2010-06-11 11 views
1

Из документов:Что означает «мощность отношений» в Core Data?

Если все отношений управляемого объекта удалят правила отменяя то для этого объекта по крайней мере, не никакой дополнительной работа, чтобы сделать (возможно, рассмотреть другие объекты, были в адресатом отношения, если обратная связь была либо обязательной или имели более низкий предел на мощности, то объект назначения или объекты могут находиться в нерабочем состоянии ).

Есть ли у кого-нибудь пример этой мощности? Что это хорошо и что важно знать об этом? (звучит очень важно ...)

ответ

4

Размерность отношения объекта определяет, сколько объектов в левом конце сопоставляется с количеством объектов в правом конце. Например, это может быть:

  • 1 : 1 (один к одному) - для каждого объекта левого типа, ровно один объект нужного типа требуется. В этом сценарии обычно оба объекта имеют указатель на другой или хранят уникальный его идентификатор.
  • 1 : 1..* (один для многих) - для каждого объекта левого типа требуется хотя бы один объект нужного типа, но может быть создано больше. В этом случае обычно объект слева не знает об объектах справа, но объекты справа имеют указатель или сохраняют уникальный идентификатор для левого объекта.
  • 1 : 0..1 (один на дополнительный) - для каждого объекта левого типа не требуется объект нужного типа, но если он существует, он должен быть не более одного. В этом случае обычно объект слева не знает об объектах справа, но объекты справа имеют указатель или сохраняют уникальный идентификатор для левого объекта.
  • 1..* : 1..* (для многих объектов) - для каждого объекта левого типа требуется хотя бы один объект нужного типа, но один объект правильного типа может удовлетворить требование для нескольких объектов левого типа. В этом случае обычно оба объекта слева и справа не знают о других, но оба они имеют указатель на общий третий объект или содержат уникальный идентификатор, определяющий взаимосвязь.
  • т.д.

Обратите внимание, что в то время как во всех моих примерах я говорю об отношениях правого объекта к левому объекту, каждая мощность может быть отменена, и некоторые из кардинальностей указать двунаправленное требование (т.е. справа налево и слева направо)

Дополнительная информация о Cardinality относительно моделей данных.

В частности, указанный в пункте из основных данных гласит, что если вы удалите объект, который находится на правой стороне отношений с 1 : 1, 1 : 1..* или 1..* : 1..* (другими словами, один или более другие объекты зависят от существования этого конкретный объект), объекты с левой стороны такого отношения будут находиться в недопустимом состоянии.

+0

Отличный ответ. Поэтому, если мощность на одном конце «низкая», это означает, что в конце меньше объектов. то есть отношение 1: n (один ко многим) означает, что мощность слева равна 1, где, поскольку мощность справа равна n и, следовательно, выше? – dontWatchMyProfile

+0

Да, это правильно. Но насколько высока мощность на конкретном конце, как правило, не имеет значения, поскольку она используется для определения отношения объектов, а не их порядка. –

Смежные вопросы