powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реляционка тут бессильна?
25 сообщений из 169, страница 4 из 7
Реляционка тут бессильна?
    #39521625
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскину Вас в системе все равно уже есть API "переложить часть заказа в новый заказ"Нет у меня такого, зачем он мне? Как юзер по заказам разбил, так и сохраню. Даже если какой-то позиции не было в корзине - пофиг, в пост-контроллер пришло, значит надо.
Кот МатроскинУ Вас будет CustomerID вместо этого - который точно так же занимает место, поднимается с диска и т.п.Этот там нужен - по нему фильтрация идет. Или у вас все юзеры видят все корзины? Вы, конечно, можете сказать "а до кастомеров можно через ордеры достучаться", но если, как предполагал ТС, изначально писать в это поле null...

В общем, бритву Оккама вы не убедили. Насчет ТС - не в курсе, я это тут пишу, скорее, для тех, кто потом найдет этот топик и будет пытаться сделать по аналогии.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521637
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинЧто именно из перечисленного у Вас не получается в случае единой таблицы?

Зачем вы приплели сюда понятие «получится»?

Потому что Вы приплели "переделывать". Переделывают что-то тогда, когда некую дополнительную функциональность реализовать либо не получается совсем, либо получается очень сложно. Так что же это за функциональность?
hVosttУдобно и комфортно работать с этим, если для разных по смыслу и функциональности понятий будут выделены отдельные сущности и таблицы.
Да-да, как в соседней ветке - таблица Girl, таблица Man
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521645
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor TiegaelКот Матроскину Вас в системе все равно уже есть API "переложить часть заказа в новый заказ"Нет у меня такого, зачем он мне? Как юзер по заказам разбил, так и сохраню. Даже если какой-то позиции не было в корзине - пофиг, в пост-контроллер пришло, значит надо.

А вот у меня есть - потому что "отправить часть заказа, которую собрали" это офигенно частый кейс.
Ennor TiegaelКот МатроскинУ Вас будет CustomerID вместо этого - который точно так же занимает место, поднимается с диска и т.п.Этот там нужен - по нему фильтрация идет. Или у вас все юзеры видят все корзины? Вы, конечно, можете сказать "а до кастомеров можно через ордеры достучаться"
Разумеется можно - поэтому никакого "лишнего" места не тратится, одно поле заменяется другим.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521671
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинПотому что Вы приплели "переделывать". Переделывают что-то тогда, когда некую дополнительную функциональность реализовать либо не получается совсем, либо получается очень сложно. Так что же это за функциональность?

Например, хранение истории корзины и заказов. Заказы могут меняться, переукомплектовываться, разбиваться, сливаться, корзина в истории нет. Мульти-корзина, всяческие программы лояльности, и т.д.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521673
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинhVosttУдобно и комфортно работать с этим, если для разных по смыслу и функциональности понятий будут выделены отдельные сущности и таблицы.
Да-да, как в соседней ветке - таблица Girl, таблица Man

Гендер это характеристика. А корзина или заказ -- нет.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521713
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинПотому что Вы приплели "переделывать". Переделывают что-то тогда, когда некую дополнительную функциональность реализовать либо не получается совсем, либо получается очень сложно. Так что же это за функциональность?

Например, хранение истории корзины и заказов. Заказы могут меняться, переукомплектовываться, разбиваться, сливаться, корзина в истории нет. Мульти-корзина, всяческие программы лояльности, и т.д.

Ээ... и что в этом сложного? манипуляции с заказом в статусе "корзина" не создают следов
в "исторических" таблицах, с заказами в остальных статусах - создают.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521725
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот Матроскинавтор д ля разных по смыслу и функциональности понятий будут выделены отдельные сущности и таблицы

Да-да, как в соседней ветке - таблица Girl, таблица Man

Гендер это характеристика. А корзина или заказ -- нет.
Начинаете изобретать определение на ходу :)
раньше было "разных по смыслу и функциональности". Man и Girl - вполне себе разные по смыслу и уж тем более по функциональности :)
А "характеристика" или "не характеристика" - это вообще зависит не от самого понятия, а от модели, скажу по секрету ;) В каких-то моделях - характеристика, в каких-то - ключевое различие.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521726
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭэ... и что в этом сложного? манипуляции с заказом в статусе "корзина" не создают следов
в "исторических" таблицах, с заказами в остальных статусах - создают.

Заказ в статусе «корзина»? Лан, проехали. Бессмысленный спор.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521736
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинНачинаете изобретать определение на ходу :)
раньше было "разных по смыслу и функциональности". Man и Girl - вполне себе разные по смыслу и уж тем более по функциональности :)
А "характеристика" или "не характеристика" - это вообще зависит не от самого понятия, а от модели, скажу по секрету ;) В каких-то моделях - характеристика, в каких-то - ключевое различие.

Какие определения? Есть субъект «участник», у него есть характеристика «пол» — это атрибут субъекта. Два субъекта взаимодействуют друг с другом.

Корзина и заказ это разные с точки зрения функциональности классы, они работают в разных ограниченных контекстах. Вплоть до того, что управление заказами может осуществляться вообще в другой системе со своей базой данных, и для заказа абсолютно параллельно, была ли какая-то корзина или нет. Для корзины может быть сформирован заказ, на основе позиций в корзине, при чём не обязательно, что в заказ попадут все позиции из корзины, или в заказ не будут добавлены позиции при уточнении по телефону.

В общем понятно всё с вашей аргементацией.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521738
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинЭэ... и что в этом сложного? манипуляции с заказом в статусе "корзина" не создают следов
в "исторических" таблицах, с заказами в остальных статусах - создают.

Заказ в статусе «корзина»? Лан, проехали. Бессмысленный спор.
Если оперировать демагогическими штампами типа "надо думать головой", "придется переделывать" и т.п. - конечно бессмысленный. А если обсуждать конкретные объективные вещи типа сложности реализации той или иной фичи - вполне себе осмысленный правда, очень невыгодный для некоторых участников
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521744
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt и для заказа абсолютно параллельно, была ли какая-то корзина или нет. Для корзины может быть сформирован заказ, на основе позиций в корзине, при чём не обязательно, что в заказ попадут все позиции из корзины, или в заказ не будут добавлены позиции при уточнении по телефону.

Как это все связано с вопросом "одна таблица или две"? :)
В случае одной таблицы Вы будете мучиться месяц, разобьете пару клавиатур и выдерете остатки волос, но так и сможете придумать, как реализовать "не обязательно, что в заказ попадут все позиции из корзины"?
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521745
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЕсли оперировать демагогическими штампами типа "надо думать головой", "придется переделывать" и т.п. - конечно бессмысленный. А если обсуждать конкретные объективные вещи типа сложности реализации той или иной фичи - вполне себе осмысленный правда, очень невыгодный для некоторых участников

Был интернет-магазин. Потом открылись бутики, заказы по телефону, оптовые продажи, торговля с юр. лицами — на кой хрен упала тут корзина? Корзина это лишь концепция пользователя интернет-магазина, один из многочисленных источников формирования заказа.

Думать головой и на пару шагов вперёд уже не модно? Апологеты херак-херак и в продакшен занимают нишу разработчиков? Не думаю.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521750
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинКак это все связано с вопросом "одна таблица или две"? :)
В случае одной таблицы Вы будете мучиться месяц, разобьете пару клавиатур и выдерете остатки волос, но так и сможете придумать, как реализовать "не обязательно, что в заказ попадут все позиции из корзины"?

Связано напрямую. Вы либо с самого начала понимаете устройство модели, либо не понимаете и тулите заказ и корзину в одну таблицу со смешным статусом «корзина». Даже джуниору это простительно лишь с натяжкой.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521758
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинЕсли оперировать демагогическими штампами типа "надо думать головой", "придется переделывать" и т.п. - конечно бессмысленный. А если обсуждать конкретные объективные вещи типа сложности реализации той или иной фичи - вполне себе осмысленный правда, очень невыгодный для некоторых участников

Был интернет-магазин. Потом открылись бутики, заказы по телефону, оптовые продажи, торговля с юр. лицами — на кой хрен упала тут корзина? Корзина это лишь концепция пользователя интернет-магазина, один из многочисленных источников формирования заказа.

И что? Наличие корзин в той же таблице, что и заказы запрещает создавать заказы без корзин? Нет, не запрещает и не мешает, это Вас кто-то обманул, а Вы не попытались "подумать головой и на два шага вперед" (с)
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521775
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинКак это все связано с вопросом "одна таблица или две"? :)
В случае одной таблицы Вы будете мучиться месяц, разобьете пару клавиатур и выдерете остатки волос, но так и сможете придумать, как реализовать "не обязательно, что в заказ попадут все позиции из корзины"?

Связано напрямую. Вы либо с самого начала понимаете устройство модели, либо не понимаете и тулите заказ и корзину в одну таблицу со смешным статусом «корзина».

Я с самого начала понимаю устройство модели и храню заказы и корзины в одной таблице :)
И да, задача "не обязательно, что в заказ попадут все позиции из корзины", "история для заказов" и т.п. не вызывают у меня животного ужаса "Это ж ужасно сложно, надо все переделывать!", как у Вас :)
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521781
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинИ что? Наличие корзин в той же таблице, что и заказы запрещает создавать заказы без корзин? Нет, не запрещает и не мешает, это Вас кто-то обманул, а Вы не попытались "подумать головой и на два шага вперед" (с)

Ну что ж, вижу началась глупая и бессмысленная демагогия. Никто не может вам запретить делать плохо, максимум могут уволить.

Кот МатроскинЯ с самого начала понимаю устройство модели и храню заказы и корзины в одной таблице :)

Вы не понимаете бизнес-модель и разницу в понятиях.

Кот МатроскинИ да, задача "не обязательно, что в заказ попадут все позиции из корзины", "история для заказов" и т.п. не вызывают у меня животного ужаса "Это ж ужасно сложно, надо все переделывать!", как у Вас :)

Животной ужас? О, вы хотите поговорить об этом?
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521797
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНу что ж, вижу началась глупая и бессмысленная демагогия.
Глупая и бессмысленная демагогия началась гораздо раньше - с утверждений "Все придется переделывать!"

hVosttКот МатроскинИ да, задача "не обязательно, что в заказ попадут все позиции из корзины", "история для заказов" и т.п. не вызывают у меня животного ужаса "Это ж ужасно сложно, надо все переделывать!", как у Вас :)

Животной ужас? О, вы хотите поговорить об этом?
Да я вот сегодня весь день пытаюсь :) И все Ваши примеры "необычайно сложных задач" вызывают пока усмешку - напугать как-то пока никак у Вас не получается.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521799
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor TiegaelКот Матроскин,

Вы, наверное, меня имели в виду.

Моя логика в том, что корзина - сущность временного назначения, и данные там лежат только до тех пор, пока не сформирован(ы) заказ(ы). Семантически она не тождественна позициям заказа - там могут быть какие-то столбцы, неактуальные для позиций заказа, и не быть многих, которые актуальны. Например, все что связано с выбором склада, если таковых больше одного. Или такой вариант: юзер берет 5 экземпляров какой-то позиции, 3 берутся с одного склада, а оставшиеся 2 - с другого. Зачем это в корзине? А когда юзер передумает и уменьшит количество, опять обтанцовывать кактус кругом?
не понял я эту логику...
автор3 берутся с одного склада, а оставшиеся 2 - с другого
это вообще к товарам относится, причём тут корзина?
есть таблица/jsonb, где товар привязывается ко складам (один товар может быть на нескольких)

Почему мне не нравится идея одной таблицы вместо двух: если / когда пользователь начнет разносить содержимое корзины на несколько заказов, придется делать дополнительные телодвижения в виде апдейта поля OrderId, причем нелинейного - какая-то часть позиций остается в дефолтном заказе, остальные разъезжаются по новым. Учитывая, что я еще ни разу не видел интернет-магазина, где разбивка по заказам сохранялась бы до оплаты, не думаю, что это сильно востребовано рынком. Конечно, если средний заказ состоит из сотен позиций, возможно это и имеет смысл, но сколько таких магазинов?
просто создаётся новый заказ (корзина)
в код надо будет добавить параметр "активная корзина" и возможность иметь несколько заказов одновременно

Ну и я до сих пор не увидел рациональной аргументации, зачем пользователю иметь OrderId на стадии наполнения корзины. Вы же понимаете, что столбцы на страницах занимают место, и каждое обращение к корзине будет этот столбец с диска поднимать, даже если он не включен в селект. Ну и размер таблицы в этом случае будет совсем не копеечный.
чтобы товар попадал в его корзину, а не в чужую
а ещё когда UID нет (авторизации не было), тоже надо как-то товар ловить...
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521800
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttEnnor TiegaelНу и я до сих пор не увидел рациональной аргументации, зачем пользователю иметь OrderId на стадии наполнения корзины. Вы же понимаете, что столбцы на страницах занимают место, и каждое обращение к корзине будет этот столбец с диска поднимать, даже если он не включен в селект. Ну и размер таблицы в этом случае будет совсем не копеечный.

Дело даже не в этом. Само наличие заказа подразумевает начало некоего workflow, появление нового заказа в системе это событие. А работа с корзиной это совершенно отдельная история. С корзиной могут быть связаны совершенно другие процессы.
какие?
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521802
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинПотому что Вы приплели "переделывать". Переделывают что-то тогда, когда некую дополнительную функциональность реализовать либо не получается совсем, либо получается очень сложно. Так что же это за функциональность?

Например, хранение истории корзины и заказов. Заказы могут меняться, переукомплектовываться, разбиваться, сливаться, корзина в истории нет. Мульти-корзина, всяческие программы лояльности, и т.д.
для этого статусы есть, как тут 20796966
и вообще "история заказа" это другая сущность (если она вам действительно нужна подробная), а не корзина + заказ
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521804
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинГлупая и бессмысленная демагогия началась гораздо раньше - с утверждений "Все придется переделывать!"

Ну так и где ваши шикарные аргументы? Не увидел ни одного, кроме демагогии.


Кот МатроскинДа я вот сегодня весь день пытаюсь :) И все Ваши примеры "необычайно сложных задач" вызывают пока усмешку - напугать как-то пока никак у Вас не получается.

У меня не было и в мыслях вас пугать. Но вы держитесь, а то мало ли что :)
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521806
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78какие?

Что какие? Заказ сам себя сформирует, проведёт и проверит оплату, укомплектуется, и сам себя передаст в службу доставки? Где сам себя доставит и проконтролирует?
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521808
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78для этого статусы есть, как тут 20796966
и вообще "история заказа" это другая сущность (если она вам действительно нужна подробная), а не корзина + заказ

Корзина не является заказом. Это не статус заказа. Не согласны?
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521810
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинEnnor Tiegaelпропущено...
Нет у меня такого, зачем он мне? Как юзер по заказам разбил, так и сохраню. Даже если какой-то позиции не было в корзине - пофиг, в пост-контроллер пришло, значит надо.

А вот у меня есть - потому что "отправить часть заказа, которую собрали" это офигенно частый кейс.Т.е. если у вас это есть, потому что вы решили не дробить заказы по адресам доставки, значит и у всех остальных так же должно быть? Понятненько.
...
Рейтинг: 0 / 0
Реляционка тут бессильна?
    #39521812
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКот МатроскинГлупая и бессмысленная демагогия началась гораздо раньше - с утверждений "Все придется переделывать!"

Ну так и где ваши шикарные аргументы? Не увидел ни одного, кроме демагогии.

Мои шикарные аргументы в защиту Вашего утверждения "все придется переделывать"? Хм.
...
Рейтинг: 0 / 0
25 сообщений из 169, страница 4 из 7
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реляционка тут бессильна?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]