Firebase - структурирование базы данных - PullRequest
0 голосов
/ 18 декабря 2018

Работаю над приложением для iPad, чтобы организовать спорт, используя Firebase.Требование:

  • Каждый вид спорта может содержать много событий.

  • Многие команды регистрируются на событие.

Запросы для обработки будут:

  • Отображениеимена команд даны Спорт имя и название события
  • Отображение сведений обо всех зарегистрированных командах, которые указаны Спорт имя и название события

Я новичок в разработке модели базы данных для firebase.Я разработал структуру firebase, как показано на рисунке.

Будет ли эта структура оптимально поддерживать мои запросы?Пожалуйста, предложите изменения, которые я должен был бы сделать.Заранее спасибо:)

Структура базы огня

Screen Shot

Ответы [ 2 ]

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

Итак, что я получаю из вашего вопроса, это что-то вроде Entities: Sports, Teams, Events, и это будет взаимосвязь между многими сущностями, но поскольку вы имеете дело с решением, не основанным на sql, вы можете получить результаты длятребуемые запросы со структурой, подобной этой

Sports:{
sport_name,
id,
Teams:
[{team_name, id}]
}

Events: {
event_id
event_name
teams :
[
{team_name, team_id}
]
}

Чтобы получить подробную информацию о каждой команде, у вас может быть другой узел команд, в котором вы можете хранить все детали.

Так что каждый раз, когда вам нужночтобы зарегистрировать команды для любого события, вы можете перейти непосредственно к зарегистрированным командам в узле команд и так же для другого запроса.

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

1-й , кнопки Firebase имеют очень удобную функцию сортировки в хронологическом порядке, то есть просто применяют алфавитно-цифровую сортировку, и они будут в хронологическом порядке даже для автономных записей.

В идеале вы проектируетеВаш документ таким образом, что вам не нужно запрашивать их. Если вы пришли из мира MSSQL, ваши документы будут аналогичны представлениям MSSQL, но без таблиц для их резервного копирования.

Иными словами, сохраняйте документы как выожидайте результатов ваших запросов.

Применение к приложению

Предположим, что:

  1. В вашем приложении отображается время начала, количество командприсоединился и получил приз за все события в данном виде спорта.
  2. Нажав на любое из событий, у вас появится представление, показывающее дату начала, дату окончания, место проведения, спонсоров и название команды всех присоединившихся команд.

Это, по сути, два узла, выделенных для таких представлений:

Firebase Example nodes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...