Свойства общей сущности CoreData - PullRequest
0 голосов
/ 21 декабря 2018

Я новичок в базах данных Swift / CoreData и SQl.У меня есть CoreDatabase с более чем 7000 предметов.Я хочу создать объект (или любой другой способ), чтобы сохранить частоту использования определенной записи в БД.Мне это нужно для того, чтобы создать взвешенный алгоритм сортировки, который предлагает определенные записи.

Проблема в том, что я не хочу сохранять это на самих записях, они должны оставаться общими, чтобы я мог время от времени обновлять их через мой собственный сервер Node.Таким образом, все пользователи имеют одну и ту же БД.Всякий раз, когда пользователь выбирает один из элементов, его счетчик увеличивается на единицу.Всякий раз, когда я запрашиваю предмет, частота должна приходить с ним, чтобы я мог выполнить алгоритм сортировки для него.

Я читал статьи, кажется, что это можно сделать, но до сих пор ничего не былодействительно полезно.Я также просмотрел статьи SQLite по этому вопросу, но не нашел того, что искал.

Я думаю что-то вроде этого:

FrequencyList {                  Item_1 {          ...7000 items....
   item_1_freq : 0,  ------------>   frequency :  0,
   item_2_freq : 12,                 name: "lala"
   item_3_freq : 3                   ...
   ...                             };
   ...
   7000?!?!
};

Или было бы хорошим решением отдельная «мета» сущность в отношениях «один к одному» с соответствующим ей Предметом?

Как мне справиться с этим?

1 Ответ

0 голосов
/ 21 декабря 2018

В базовых данных, вероятно, было бы лучше так:

enter image description here

Поместить выборку в объект со свойством count и иметьсвязь между выбором и элементом.Отношение Selection -> Item может быть один к одному или ко многим в зависимости от ваших потребностей;У меня есть это как-многие здесь, но это может быть не лучшим в вашем случае.

Если вы хотите получить количество выборов для Item, используйте значение selection.count.Обновите selection.count при выборе.

...