Как создать связь между таблицами - PullRequest
0 голосов
/ 12 октября 2019

Я хочу разработать приложение для смартфонов Nutrition Recommender. Детали проекта следующие. Это приложение будет: •

  1. вести пациентов о выборе питания и плана диеты в соответствии с их проблемами со здоровьем.
  2. предоставить список планов диеты

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

  4. • иметь калькулятор калорий

  5. есть несколько хороших статей о диете и продуктах питания

  6. информирует людей о важности питания различных овощей, фруктов, напитков, злаков, масел, молочных продуктов и т. Д.

  7. поделитесь некоторыми инновационными идеями о завтраке, обеде и ужине.

Но я не знаю, как спроектировать базу данных для реализации вышеуказанных функций. Кто-нибудь может подсказать мне, сколько таблиц я должен создать и какие существуют связи между таблицами?

1 Ответ

0 голосов
/ 12 октября 2019

Введение

Прежде всего, это очень просто то, что вы нам написали. Вы должны начать указывать эти вещи и получить более подробную информацию. Например, для плана диеты вы можете подумать о свойствах такого плана. Свойства, например, длина плана, необходимое вам питание и, возможно, некоторые спортивные упражнения. Просто несколько образцов. Затем вы можете разделить питание на один стол и так далее. Теперь вы можете подумать о том, хотите ли вы выполнять всю работу с базами данных самостоятельно или использовать фреймворк. На самом деле вся работа с базами данных в MySQL и т. Д. Выполняется на веб-сервере из-за утечек в безопасности клиента (декомпиляция, чтение трафика, ...). Если вы хотите сохранить данные в локальном хранилище или в локальной базе данных (SQLite будет вашим выбором), вам также следует подумать, хотите ли вы использовать для этого API (например, RoomAPI от Android Jetpack )

Общая вещь

Вы должны получить четкое представление о том, какую архитектуру вы хотите использовать. Вы можете хранить данные на веб-сервере и передавать их через веб-интерфейсы, например, REST с JSON или XML. Вы также можете хранить данные на локальном устройстве в файле или в базе данных (в основном это также файл с конкретными требованиями к интерфейсу). Вы должны решить, что вам требуется обмен на нескольких устройствах или только на одно устройство самостоятельно.

Планирование структур

После того, как вы знаете, какую архитектуру вы хотите использовать, вы можете начатьпланирование. Прежде всего, я бы предложил вам получить абстрактное представление о вашем проекте. Это означает, что вы просто записываете то, что хотите иметь, а затем начинаете записывать соответствующие свойства. Для плана диеты это может быть название плана, продолжительность, необходимое питание и так далее ... После этого вы можете знать, о, ладно, мне также нужен стол с едой, и вы увидите (автоматически), чтобудет связь. Если вы видите связь, просто нарисуйте линию, соединяющую их. В идеальной ситуации вы уже знаете отношение этой связи (Один ко многим, Много к одному, Много ко многим, Один к одному, см. Статью stackoverflow: Разница между один ко многим, многие к одномуи многие ко многим? ).

Реализация ваших структур

Все, что я делаю, изготавливается вручную

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

Pro для графического интерфейса пользователя

  • Простота в использовании
  • Быстрое создание таблиц

Contra для графического интерфейса

  • Может использовать некоторые загадочные имена для индексов и ключей
  • "Может не позволить вам заглянуть за кулисы"

Я полагаюсь на API

Вы также можете положиться на API. Это часто означает, что вы можете запрограммировать класс в соответствии с вашим планом, затем аннотировать его, и соединения / отношения будут управляться API. Такой уровень абстракции - Room for Android или Doctrine для PHP, это всего лишь примеры, и их гораздо больше. Заключение Как вы получаете данные в базу данных и из базы данных - ваша вещь. Вы можете положиться на простое использование API или сделать все самостоятельно. Это должно быть небольшое руководство для понимания дизайна базы данных.

PS: Если у кого-то есть что-то для редактирования, сделайте это! Буду признателен за это!

Ура Тарик.

...