📝 Моделируем данные. 🤔 Обдумываем бизнес-логику, сущности и методы.

Поділитися
Вставка
  • Опубліковано 7 січ 2025

КОМЕНТАРІ • 2

  • @Viktor-g8g
    @Viktor-g8g 4 дні тому

    Круто! Давай фигачить дальше =) Немного духоты и токсичной гадости=)
    1) Связь таблиц shops и items скорее наоборот должна быть. Для один ко многим в таблицу items добавляется поле shop_id а из shops соответственно убирается items
    2) Понятно что глубоко поля на данном этапе не прорабатывались, но на всякий подсвечу не забыть добавить к некоторым сущностям (например items, carts, orders) поля аля updated_at и created_at для юзера еще было бы неплохо добавить last_login (timestamp). Можно будет следить за активностью и как в видео и говорил всякие маркетинговые штуки устраивать
    3)Не совсем понятно для чего выделять отдельно категорию и субкатегорию, чисто бизнесово как будто разница в одном дескрипшене, но вроде можно добавить его и на все категории. Тогда можно избавится от лишней сущности. Для главной категории parent_id станет Null
    4)Для carts и orders как будто бы хотелось добавить CartItems и OrderItems. Первая соответственно для понимания какие айтемы хранятся в корзине на текущий момент (ссылка на Abstract Items + цена ед + количество). OrderItems для истории того какие айтемы были куплены (поля по аналогии с CartItems). В текущей реализации если Продавец поменяет что-то в своем Items (как я понимаю это то что находится в конкретном магазине) оно так же поменяется автоматом и в корзине и во всех Orders, в первом случае как будто даже валидно, во-втором как будто не очень
    5)Личное имхо если добавить сущности из пункта выше можно будет разделить связи Carts-Orders и Carts-Shops и отдать эти связи в CartItems и OrderItems. Тогда корзина с пользователем будет связана как 1к1 но возможность выводить корзину "по магазинам" останется.

    • @vorona.studio
      @vorona.studio  4 дні тому

      Во, вот эт я понимаю серьезно подошел к вопросу 😁🤝! Всё по делу. Надо будет доработать, особенно что касается order items, заставило задуматься. Я уже после стрима сообразил что нужно было еще и с ценами сделать отдельную структуру чтобы историю цен для одного товара можно было вести и у меня есть на самом деле тестовая база данных для магазина и там это реализовано. Соберу твои мысли и наработки оттуда и надо будет сделать видимо еще подход к моделированию базы 🤔