@zlodiak

Как спроектировать таблицу с динамическим набором колонок?

Помогите пожалуйста спроектировать простейшую БД. Есть задача создать многопользовательский сервис для учёта тренировок бегунов в виде таблицы.

Таблица будет состоять из обязательной колонки "дата" и набором колонок типа: "длительность тренировки, мин", "дистанция, м", "средний пульс, уд/с", и т.д. Количество колонок и их имена определяет пользователь через 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. Помогите пожалуйста перепроектировать БД
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
villiwalla
@villiwalla
HTML-верстка
column_id за глаза
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
Откройте для себя json-тип)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы