CoreData - отношение один ко многим - модель данных

введите описание изображения здесь

Вот моя основная структура данных. У меня есть три сущности RoomKey а также KeyRoomMap, Теперь у меня есть два атрибута в Room а также Key, Я хочу ID атрибут их обоих должен быть связан с третьей таблицей KeyRoomMap и есть еще один элемент SuggestedTestPlan в KeyRoomMap,

Мои вопросы

  1. Это такая структура, как - таблицы SQL здесь. Но я чувствую, что это неправильная структура в основных данных. я хочу присоединиться keyID а также roomID с некоторыми отношениями с KeyRoomMap . Как я могу сделать это, как если бы я добавил keyID и roomID, он должен автоматически добавляться в KeyRoomMap?
  2. Есть больше ключей для каждой комнаты. поэтому 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 существовал, он должен иметь соответствующую комнату и ключ, которые обе являются отношениями "один к одному". Я включил возможную диаграмму для этого, но без дополнительной информации я не могу быть уверен.

Room - Key - Модель RoomKeyMap

РЕДАКТИРОВАТЬ: В противном случае предлагается TestPlan свойство, которое может быть получено или рассчитано на основе других сущностей? то есть. Полученные свойства https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html

Другие вопросы по тегам