У меня есть дизайн базы данных, который достаточно хорошо нормализован, но теперь мне нужно добавить новую таблицу (сущность, поскольку я фактически использую Core Data), и я столкнулся с некоторыми проблемами.
Ландшафт имеет много Assessment
Assessment имеет один AssessmentType
AssessmentTree имеет одну Assessment
AssessmentTree имеет по одной из 12 других объектов, опущенных для пробела.
Теперь я добавляю объект Photo, который может быть связан с ЛЮБЫМ из вышеперечисленных объектов. Мне нужно иметь какое-то отношение, чтобы я мог получить только фотографии, связанные с AssessmentTree, например, или, возможно, оценку, которая будет надмножеством фотографий, связанных с AssessmentTree.
(Я чувствую, что, возможно, не очень хорошо объяснил ситуацию, поэтому дайте мне знать, если я смогу как-то прояснить ситуацию.)
Возможные решения, которые я рассмотрел, ни одно из которых не удовлетворяет:
- Создавайте ссылки на каждый другой объект внутри объекта Photo. В этом случае нулевые ссылки означают, что фотография не является частью этого набора.
- Создайте новую сущность PhotoRelations, которая будет содержать ссылку на фотографию и ссылку на один из прикрепленных к ней объектов. Проблема в том, что хотя я мог бы легко сделать это с помощью системы SQL, я не могу придумать, как перевести это в CoreData.
Любая помощь будет оценена по достоинству!