Помогите пожалуйста спроектировать простейшую БД. Есть задача создать многопользовательский сервис для учёта тренировок бегунов в виде таблицы.
Таблица будет состоять из обязательной колонки "дата" и набором колонок типа: "длительность тренировки, мин", "дистанция, м", "средний пульс, уд/с", и т.д. Количество колонок и их имена определяет пользователь через UI в процессе работы с сервисом.
Я решил использовать реляционную БД типа mysql с такими таблицами:
1. Users:
- primary_key number,
- fname: string,
- lname: string,
- login: string,
- pass_hash: string,
- reg_date_unixstamp: number
2. Columns:
- primary_key: number,
- title: string,
- id_user: foreign_key
3. Values:
- primary_key: number,
- value: string,
- last_update_unixstamp: number,
- id_column: foreign_key,
- id_user: foreign_key
Таким образом, в UI пользователь при помощи datepicker будет выбирать интервал дат и бекенд возвращать результат запроса к таблице Values. Затем уже на фронте при помощи нехитрых манипуляций я буду ответ сервера отрисовывать в виде таблицы.
Проблема в том, что В таблицу Values используется id_user, а это избыточно потому что id_user уже есть в Columns. Помогите пожалуйста перепроектировать БД