CoreData - отношение один ко многим - модель данных
Вот моя основная структура данных. У меня есть три сущности Room
Key
а также KeyRoomMap
, Теперь у меня есть два атрибута в Room
а также Key
, Я хочу ID
атрибут их обоих должен быть связан с третьей таблицей KeyRoomMap
и есть еще один элемент SuggestedTestPlan
в KeyRoomMap
,
Мои вопросы
- Это такая структура, как - таблицы SQL здесь. Но я чувствую, что это неправильная структура в основных данных. я хочу присоединиться
keyID
а такжеroomID
с некоторыми отношениями с KeyRoomMap . Как я могу сделать это, как если бы я добавил keyID и roomID, он должен автоматически добавляться в KeyRoomMap? - Есть больше ключей для каждой комнаты. поэтому key1, key2 связаны с room1, key3 - с room2, а key4,key5,key6 - с room3 . Как я могу установить здесь такие отношения?
----------------------- Отредактировано и добавлено
На самом деле моя путаница также начинается с того, что key1 и key2 связаны с Room1 . Я могу присоединиться к ним с отношением один ко многим там. но сущность keyroomMap была определена для того, чтобы сказать, что key1 и key2 связаны с Room1 . Если я не сделаю эту таблицу, то только на основе отношений из стольких ключей, как я могу это сказать?
1 ответ
Действительно, похоже, что вы планируете это как таблицы SQL.
Из вашего объяснения это звучит так:
- Комната может иметь много ключей
а также
- Ключ может открыть одну комнату
Поэтому я бы сказал, что отношения в вашей сущности Room будут "ключами", и это отношения ко многим. Имейте в виду, что в базовых данных вам нужно также установить обратные отношения, чтобы соответствующие отношения на объекте Key были пространственными и взаимно однозначными.
Я включил диаграмму модели данных как изображение ниже.
Я не совсем уверен, что ваша цель для KeyRoomMap? Может ли это свойство предлагаемого TestPlan существовать в Key или Room вместо этого? Кажется, что сущность KeyRoomMap имеет две взаимосвязи, для того чтобы KeyRoomMap существовал, он должен иметь соответствующую комнату и ключ, которые обе являются отношениями "один к одному". Я включил возможную диаграмму для этого, но без дополнительной информации я не могу быть уверен.
РЕДАКТИРОВАТЬ: В противном случае предлагается TestPlan свойство, которое может быть получено или рассчитано на основе других сущностей? то есть. Полученные свойства https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html