Документация Apple Правила удаления связей проста и понятна. Но это говорит только об отношениях "один-ко-многим" ( "Удалить правила для отношений" один-к-одному "легко вывести). Неясно, что означают эти правила для отношений" многие-к-одному". Так что проясните их здесь.
Мы используем пример Employees-Department, используемый в документации Apple. Хотя последствия реальной жизни могут быть смешными в отношении этих правил, применяемых к отношениям Сотрудники и Отдел, мы, как программисты, говорим только о своих логических последствиях здесь.
-
Запретить
Если в назначении отношения есть объект, исходный объект не может быть удален.Например, если вы хотите удалить сотрудника, независимо от того, есть ли другие сотрудники в его отделе, вы должны убедиться, что отдел сначала удален, иначе сотрудник не может быть удален.
-
аннулирует
Удалите исходный объект из обратного отношения объекта к месту назначения. (См. Краткое объяснение @bshirley)Например, если вы удаляете сотрудника, удалите его из отношений сотрудников своего отдела. Это имеет смысл только в том случае, если количество оставшихся сотрудников отдела больше требуемого минимального количества или если вы добавите новых сотрудников для отдела до следующей операции сохранения.
[ Вопрос: Если это последний сотрудник, отношения сотрудников отдела станут пустыми или пустыми?]
(Ответа на этот вопрос @TechZen: Отношение A to-many всегда возвращает заданный объект. Оно никогда не является ником. Если на другой стороне отношения нет объектов, набор пуст.) -
Каскад Удалите объект в месте назначения.
Например, если вы удаляете сотрудника, удалите его отдел одновременно, даже если в отделе есть еще другие сотрудники.
( Предоставление обслуживания. Обычно это приводит к "цепочке делегирования по всей диаграмме объектов", как описано в его примере в @TechZen.)
-
Нет действий
Не делайте ничего для объекта в месте назначения.Например, если вы удаляете сотрудника, оставьте его отдел таким, какой он есть, даже если он все еще считает, что он владеет этим сотрудником.
Смысл определения правил "Удалить правила для многих-ко-многим" можно сделать здесь.