@Alk90
php, mysql, jquery, css, html, api

Правильно ли такое хранение данных о пользователе?

Всем привет! В БД есть таблица пользователей и там же поля "country_id", "state_id", "city_id"
Эти поля используются для поиска пользователя по стране, области и городу. Но для API нужно отдавать полностью все данные, включая не только ID, но и названия... Поэтому постоянно приходится JOINить 3 таблицы с городами, странами и областями.
Правильным ли будет, если я создам дополнительное поле "location", где будет храниться JSON с готовым массивом данных? А обновлять его буду в тот момент, когда пользователь изменяет о себе информацию...
  • Вопрос задан
  • 56 просмотров
Решения вопроса 2
be_a_dancer
@be_a_dancer
Backend/Fullstack Developer
Нет, неправильно. JOIN - одно из преимуществ реляционных баз данных. Поверь, это не настолько затратная операция, насколько ты думаешь. Поэтому используй и не особо парься на этот счет.
Добавление же дополнительного поля нарушит вторую нормальную форму баз данных.
Ответ написан
Комментировать
@bkosun
На этот вопрос невозможно дать однозначный ответ. Правильно с точки зрения чего?

Если Вам нужно снизить нагрузку на БД, почему бы нет? Но помните, что

"Преждевременная оптимизация — корень всех зол"


https://ru.wikiquote.org/wiki/%D0%94%D0%BE%D0%BD%D...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы