172 похожих чатов

Доброго вечера! Подскажите, пожалуйста, выборка в виде собранного объекта возможна на

уровне postgres или этим занимается бэк (и если бэк, есть под рукой статьи, почитать каким образом)?

13 ответов

17 просмотров

десериализация json

возможна. Почитайте про json операторы в postgres

Возможна, но, скорее всего, вы этого не хотите.

Ден Ковалев
Почему не хочу?

Потому что прямая трансляция ответа из Пг (что вы хотите сделать) ведет к перетаскиванию логики приложения при его развитии в базу, а база это самое узкое место в приложении. Если оно у вас веб, то бек горизонтально масштабируется, а база - сложнее.

Ден-Ковалев Автор вопроса
Warstone
Потому что прямая трансляция ответа из Пг (что вы ...

Поэтому сразу и уточнил в своем вопросе про "или этим должен заниматься бэк' Понял, благодарю 👍🏻👍🏻

Ден Ковалев
Поэтому сразу и уточнил в своем вопросе про "или э...

Этим бэк, да, причём на уровне сериализиции. Потому что JSON - это один из возможных вариантов сериализации данных. Может там ещё XML потребуется и т.п.)

Ден Ковалев
Поэтому сразу и уточнил в своем вопросе про "или э...

Ну мы не знаем ваш контекст. Может у вас там 100500 архитекторов, но вы просто на новую СУБД выходите. Озвучивайте изначальную задачу-же.

Ден-Ковалев Автор вопроса
Warstone
Ну мы не знаем ваш контекст. Может у вас там 10050...

Аргумент Архитекторов не имеется, сам себе если только Тыкаюсь, изучаю postgres в разрезе бэкенда, пытаюсь понять, как формировать не плоский объект (со связями) для вывода данных в удобном формате

Ден Ковалев
Аргумент Архитекторов не имеется, сам себе если то...

Если вам нужен быстрый ликбез, то вот: Есть 2 подхода (оба рабочие): 1) Данные в базе, методы доступа к данным в базе. Все делается через хранимые процедуры. 2) Данные в базе, методы доступа к беке. Контроль доступа к данным в беке. Мне нравится 2й, так как масштабировать базу - это то еще удовольствие, особенно при первом подходе. Если говорить про 2й подход, то из базы достаются данные за как можно меньшее количество SQL запросов, но без фанатизма (идея в том что чем больше джойнов вы сделаете, тем большая вероятность оптимизации запроса, чем если-бы вы это руками в беке делали, но делать 1 большой SQL запрос - тоже не всегда верно). А потом на беке занимаетесь представлением и т.д.

Ден-Ковалев Автор вопроса
Warstone
Если вам нужен быстрый ликбез, то вот: Есть 2 подх...

Верно понимаю про 2 подход - к примеру, мне нужен пост с юзером, у которого данные хранятся в собранном объекте (как на скрине) и 1-м запросом забираем пост по id, далее 2-м запросом забираем юзера по FK (user_id) с поста для нужного мне представления? Ибо пока с одного запроса с джоином не совсем понял, как собрать данные в нужном мне виде (т.к. все приходит в плоском виде)

Ден Ковалев
Верно понимаю про 2 подход - к примеру, мне нужен ...

Если у вас только один пост, то вы просто можете JOIN'ить юзера с постом и получить одну строку где и пост и пользователь.

Ден-Ковалев Автор вопроса
Warstone
Если у вас только один пост, то вы просто можете J...

Так изначально и делал, но появился вопрос в итоговом выводе данных (т.к. пометок там никаких нету, типа user.id, post.id *имеются в виду не лейблы для таблиц*) В любом случае за базу/бэк понял, буду разбираться дальше Благодарю!

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта