Задать вопрос
@amazinginternetsites

Оптимальная структура БД. Как организовать правильно?

Друзья. Сейчас данные каждого пользователя записываются в базу стандартно:
id info skype adress - ну и так далее.

Сайт узкотематический, поэтому нужно чтобы каждый пользователь мог заполнить свой прайс лист. Вернее указать просто цены на предложенный заранее список
Вот тут то и вопрос. Полагаю нужно создать новую таблицу типа:
id (пользователя) item_name1 (название продукта) item_price1 (цена) item_name2 (название продукта) item_price2 (цена)

Сложность состоит в том, что элементов (item_name) более 200. Придется раздувать таблицу или можно сделать это оптимальней?

Спасибо.
  • Вопрос задан
  • 2899 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
Нет такого понятия, как вообще оптимальная структура данных. В данном случае можно, например, создать две доп. таблицы:
item_name (id, name);
item_user_price(id_user, id_item, price);

В первой будет "более 200" записей (которые, кстати, со временем могут удаляться / добавляться), во второй - столько, сколько цен будет вводиться пользователями (сомневаюсь, что пользователи будут рады, вводить все 200 цен за раз; а может у кого-то вообще есть не все цены).

Такая структура даст минимальную избыточность. Но будет ли она "оптимальной" по скорости и расходу памяти, зависит от конкретных запросов, которые на ней будут выполняться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Отдельно таблица пользователей.
Отдельно таблица продуктов.
Третья таблица, объединяющая, id пользователя, id продукта, плюс цена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽