Круто! Давай фигачить дальше =) Немного духоты и токсичной гадости=) 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 но возможность выводить корзину "по магазинам" останется.
Во, вот эт я понимаю серьезно подошел к вопросу 😁🤝! Всё по делу. Надо будет доработать, особенно что касается order items, заставило задуматься. Я уже после стрима сообразил что нужно было еще и с ценами сделать отдельную структуру чтобы историю цен для одного товара можно было вести и у меня есть на самом деле тестовая база данных для магазина и там это реализовано. Соберу твои мысли и наработки оттуда и надо будет сделать видимо еще подход к моделированию базы 🤔
Круто! Давай фигачить дальше =) Немного духоты и токсичной гадости=)
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 но возможность выводить корзину "по магазинам" останется.
Во, вот эт я понимаю серьезно подошел к вопросу 😁🤝! Всё по делу. Надо будет доработать, особенно что касается order items, заставило задуматься. Я уже после стрима сообразил что нужно было еще и с ценами сделать отдельную структуру чтобы историю цен для одного товара можно было вести и у меня есть на самом деле тестовая база данных для магазина и там это реализовано. Соберу твои мысли и наработки оттуда и надо будет сделать видимо еще подход к моделированию базы 🤔