• Правильно ли я нарисовал схему базы данных интернет магазина?

    qonand
    @qonand
    Software Engineer
    Первое что бросается в глаза:
    Категории
    1. Категории у Вас только 1-го уровня, вложенных категорий не будет?
    2. Что такое "Тип продукта" в таблице "Категория" ? и на что он влияет?

    Товары
    1. Остатки товаров нигде не хранятся. Маловероятно что магазин торгует товаром который никогда не заканчивается...
    2. Хранить количество просмотров товара (которое постоянно должно обновляться) в таблице товаров - это очень плохая практика

    Корзина
    1. Что храниться в корзине? состав уже оформленного заказа? Тогда тут нужно учитывать количество заказаного товара и его стоимость во время заказа (она ведь со временем меняется) Состав формирующегося заказа? Тогда нужно учитывать как минимум количество добавленного товара. И то и другое?
    2. По сути дела в корзине у Вас сейчас храниться перечень товаров добавленных пользователем, тогда зачем в каждой строке хранить "IP клиента"? Насколько я понимаю IP Вы используете для привязки корзины к клиенту - в этом случае не нужно его храниться в каждой позиции корзины, лучше ввести отдельную таблицу для этих целей, да и привязка корзины по IP - плохой вариант

    Заказ
    1. Сумма заказа нигде не хранится, Вы ее что-ли планируете "на лету" рассчитывать?
    2. Не понятно какое назначения у таблицы "Журнал заказов"
    3. В заказе Вы храните данные о клиенте, но что будет если один и тот же клиент оформит несколько заказов? Вы получите дублирование данных, поэтому стоит информацию о клиентах вынести в отдельную таблицу

    P.S. Корректность структуры базы данных сложно оценить по одной схеме. В этом вопросе нужно исходить из задач, которые планируется решать
    Ответ написан
    Комментировать
  • Правильно ли я нарисовал схему базы данных интернет магазина?

    Captain
    @Captain
    У вас нет пользователей как таковых. А кто-то может быть захочет стать постоянным покупателем и не вводить по 10 раз адрес доставки и ФИО.
    Корзина и заказ у вас это 2 сущности отчасти дублирующие, отчасти конкурирующие. Может быть проще сделать одну сущность - Заказ, но с разными статусами? В начальной стадии это будет корзина. А то что называется сейчас корзиной будет просто списком товаров в заказе.
    В корзине нет количества товара, а это важно. У товаров бывают размеры, цвета и другие атрибуты, это тоже нужно учитывать.
    Потом появляются тарифы, налогообложение и т.п.
    Ответ написан
    Комментировать
  • Правильно ли я нарисовал схему базы данных интернет магазина?

    @vortx
    IT-инженер, Web-разработчик, MicroChip-dev
    Корзину привяжите к сэссии а у вас к ip, сам позиции заказа храните в отдельной таблице - это избавит вас от проблем с переименованием товаров и категорий... В целом пойдет ваша схема но это ясли магазин))) без обид
    Ответ написан
    Комментировать