В моем Поиске понимания Мнезии я все еще борюсь с мышлением в отношениях. Поэтому я поставил свою борьбу здесь и попрошу наилучшего способа их решения.
один-ко-многим-отношений Скажем, у меня есть группа людей,
-record(contact, {name, phone}).
Теперь я знаю, что я могу определить, что телефон всегда будет сохранен в виде списка, поэтому у людей может быть несколько телефонных номеров, и я полагаю, что способ сделать это (не так ли? по-другому, скажем, найти имя для числа?).
много-ко-многим-отношения теперь пусть предположим, что у меня есть несколько групп, в которые я могу поместить людей. Названия групп не имеют никакого значения, они просто имена; концепция "unix system groups" или "label". Наивно, я бы моделировал это членство как пролистник, например
{groups [{friends, bool()}, {family, bool()}, {work, bool()}]} %% and so on...
как поле внутри "контактной" записи сверху, например. Каков наилучший способ моделировать это в mnesia, если я хочу, чтобы вы могли быстро найти всех членов группы на основе имени группы, а также хотите, чтобы иметь возможность искать всю группу, в которой зарегистрирован человек? Я также мог бы просто моделировать это как список, содержащий только идентификаторы групп, конечно. Для использования с mnesia как лучше всего это смоделировать?
Извиняюсь, если этот вопрос глупо. Там много документации по mnesia, но в ней отсутствует (IMO) несколько хороших примеров для общего использования.