Схема базы данных для приложения Gym Exercise Log - PullRequest
0 голосов
/ 16 января 2019

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

Я хочу иметь возможность хранить:

  • Список упражнений и их свойства

  • Список тренировок и их свойства (содержащие упражнения)

  • Список зарегистрированных тренировок (тренировки и даты тренировки)

  • Все данные набора из каждой зарегистрированной тренировки (упражнение, количество подходов, вес каждого набора, повторы каждого набора)

Я разработал следующую схему того, как я думал, что это может быть реализовано:

enter image description here

Мои основные вопросы:

  • Оптимально ли хранить все данные журнала отдельных наборов в одной таблице (записи журнала)?

  • Должны ли таблицы типов упражнений и оборудования быть отдельными или просто столбцами в таблице упражнений? То же самое относится к типу тренировки

  • Будет ли это хорошим подходом с точки зрения производительности / удобства использования?

Спасибо!

1 Ответ

0 голосов
/ 16 января 2019

Оптимально ли хранить все данные журнала отдельных наборов в одном таблица (записи в журнале)?

По всей вероятности, да, исключение будет, если число строк увеличится, что отрицательно скажется на времени ответа.

Должны ли таблицы Тип упражнений и Оборудование быть отдельными или просто столбцы в таблице упражнений? То же самое относится к типу тренировки

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

Будет ли это хорошим подходом с точки зрения производительности / удобства использования?

За исключением таблицы Log (в том виде, в каком она есть, включая указание даты), этот подход представляется хорошим и эффективным. Таблица журнала не нужна, так как в таблице «Записи журнала» есть столбец для даты и времени (поэтому в ответ на комментарий «да» было бы лучше использовать дату / время в записях журнала и покончить с журналом таблицу).

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