2014-02-03 3 views
0

Ниже приведено изображение данных, которые я хочу сохранить в данных Core. В каждом городе много школ, каждая школа имеет много классов, и в каждом классе есть много учеников и их детали.Основные данные Сохранение массива и словарей - лучшие практики

Я прочел пару вещей о данных Core и получил его и начал. Но я не могу понять, как сохранить массив в основных данных, и это хороший способ сделать это в аналогичном случае иллюстрации?

Если я хочу сохранить для определенной школы массу учащихся всего этого класса, было бы хорошей практикой? Если да, то есть метод, приведенный в this link, хорошо следовать?

enter image description here

EDIT: Все города, все школы и все студенты имеют одинаковые атрибуты. В то время как каждый класс имеет разные атрибуты. Поэтому, если есть данные для 10 классов, для классов может быть 10 типов массивов.

Кроме того, что, если у меня есть отношение друг к другу между учениками и учениками? IE, в зависимости от моего логина, я решаю, нужно ли мне экономить школу и классы или школу и студентов. Как теперь отношения будут?

ответ

1

Вы должны использовать основные данные с отношением друг к другу. Это enter image description here будет вашей структурой сущности.

UPDATE: В случае, если у вас есть несколько классов с разными атрибутами, вы можете определить другой объект "GradeType", который содержит информацию о каждой марке  like this:

UPDATE 2:

Позволь мне запишите соображения в этом сценарии.
1. В городе может быть несколько школ, но школа может быть только в одном городе (у филиалов будет другой адрес;)).
2. Школа может предлагать несколько предметов. тот же предмет может преподаваться в нескольких городах.
3. Школа может содержать несколько студентов, в то время как студент может быть зарегистрирован только в одной школе.
4. Студент может зарегистрироваться для нескольких предметов, в то время как тот же предмет может быть зарегистрирован несколькими учениками.
5. Для предмета может быть несколько оценок (скажем, 4: A, B, C & D). Точно так же многие субъекты будут следовать одной и той же системе классификации (A в истории, B в геологии и т. Д.).
6. Студент может иметь несколько классов. Тем не менее, количество оценок будет равно количеству предметов, которые он или она выбрал.

Исходя из вышеприведенного рассмотрения, это будет ваш dataModel. image

Здесь Оценки Entity будут иметь следующие записи:
класс A для физики оценивается этими учащимися.
Класс A для биологии оценивается этими учащимися.
...

...

класса B физики выигран этими студентами.
степень B для биологии оценивается этими учащимися.
... ... N So on

Сообщите мне, если требуется дополнительная информация.

+0

Но в этой структуре нет сегрегации для 1-го, 3-го и т. Д. ... что, если класс 1 имеет разные атрибуты, второй класс имеет разные атрибуты и т. Д.? Пожалуйста, проверьте edit –

+0

@SharanyaKM .. Проверьте мой обновленный ответ .. :) –

+0

это действительно помогает мне .. Просто еще одна вещь. Если мне нужно сказать 5 типов сорта, каждый из которых имеет разные атрибуты .. тогда мне придется использовать объекты 5 diff как тип 1 type2 и т. д.? –

1

Не делайте этого, как показано на этой ссылке. Создайте основные объекты данных для каждого из них (город, школа, класс, студент). Добавьте отношения между этими объектами (например: City - >> school, что означает отношение один к многим). Проверьте эту ссылку http://www.raywenderlich.com/14742/core-data-on-ios-5-tutorial-how-to-work-with-relations-and-predicates. Обратитесь к яблочному документу https://developer.apple.com/library/mac/documentation/cocoa/conceptual/coredata/articles/cdRelationships.html. Потратьте время на моделирование основных данных. Надеюсь, это поможет.

+0

Просьба проверить edit –

 Смежные вопросы

  • Нет связанных вопросов^_^