Чтобы понять множество основных данных, я работаю над всеми возможными сценариями, чтобы разработать масштабируемую модель, чтобы обеспечить будущее .. в некотором смысле ..
Среди этих ситуаций у меня есть ситуация,Есть много способов сделать это, я искал наиболее эффективный способ.
Над чем я работаю:
ControllerEntity {
title: String;
Отношения : Родитель (ко многим)
}
ParentEntity {
title: String;
Отношения : Дочерние (ко многим)
Отношение : Контроллер (to-one)
}
ChildEntity {
Значение: NSNumber;
Отношение : Parent (to-one; inverse)
}
Теперь рассмотрим эти случайные формулы ..
A (parentEntity) = Alpha (child) + Beta (child) + Gamma (child)
B (parentEntity) = Pi (child) + Gamma (child) + Beta (child)
Наличие A и B в качестве родительских объектов и добавление этих объектов не составило никаких проблемих соответствующие дочерние наборы,
Стоит отметить, что бета-дочерний объект существует в обоих родительских объектах.
вот изменение:
Gamma (child) = [Alpha (child) + Beta (child)] / 2
BoДочерние объекты Альфа и Бета одинаковы в обеих сущностях, поэтому они могут быть ТОЛЬКО ОДНЫМИ!
Казалось, довольно просто просто объявить Гамму как РОДИТЕЛЯ и добавить эти два в качестве их потомка и вычислить.Но это (хотя это был легкий выход) не было хорошо для проверки будущего ... слишком много объектов - это всегда плохая идея ..
Следовательно, я хотел найти отношения, которые имел бы ChildEntity... с самим собой (если это возможно).Например, сущность Child Gamma получит свое значение автоматически, исходя из Alpha child и Beta child.
Существуют определенные условия, которым должны удовлетворять все эти отношения:
- Один объект контроллера может иметь ТОЛЬКО ОДИН « TYPE » из Child Object.Для него может быть много Parent объектов.Например, если контроллер создал Parent A , он мог бы добавить Alpha и Beta Child, когда тот же контроллер создает Parent B он может добавить New Pi child, но не Beta, поскольку он уже существует, он должен «выбрать» его… я мог бы добавить некоторый своего рода уникальный идентификатор для каждого ребенка.Как я могу установить правило для этого в NewInsert.
- Как ребенок может иметь отношения с самим собой?таким образом, что:
- Родитель должен иметь ОДНОГО ОДНОГО Гамма дочерний элемент, который стажер рассчитывает свое значение на основе значений из дочерней альфа и бета-ребенка, которые являются,Опять же, Уникальный для контроллера.
- вот модель, которую я создал, но я не знаю, как бы я добавил Child (альфа) и CHild (Beta) в качестве дочерних элементов Child Gamma!
- При запросе ParentA.child, которые должны раскрывать только 3 дочерних объекта - Alpha, Beta, Gamma.
- ParentB.Childs должны раскрывать --- >> Pi, Gamma, Beta, (3объекты).
- Если я выбрал раскрытие всех дочерних элементов родителя, у которого нет дочерних элементов,
- Родитель А должен иметь ТОЛЬКО 2 - альфа и бета
- Родитель В должен иметь 3 -> Пи, Альфа, Бета.
Наконец, когда я решу экспортировать или преобразовать эти данные в xml, это не должно быть столь запутанным ..

Мне, как новичку в базовых данных, трудно уйти с вопроса вроде как, но я пытаюсь.
Любая помощь приветствуется