SQL и Анализ данных
12.5K subscribers
752 photos
91 videos
4 files
765 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6766085482
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😁55🔥11❤1👍1
❔ Вопрос с собеседования

Что такое N+1 проблема в ORM?

Ответ: Это ситуация, когда при загрузке списка объектов ORM делает один запрос на основную таблицу, а затем отдельный запрос для каждой связанной записи. В итоге вместо одного объединённого запроса выполняется N+1 запросов, где N — количество объектов.

Например: при получении 10 пользователей с их профилями, ORM сначала делает 1 запрос на пользователей, а потом 10 отдельных запросов на профили — по одному на каждого. Это резко снижает производительность.

Эту проблему решают с помощью предварительной выборки (например, select_related, joinedload, prefetch_related и т.д.).


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤3👍3
💻 Teable

Универсальный инструмент для управления данными, сочетающий гибкость электронных таблиц в духе Google Sheets с возможностями реляционной базы данных.

Что внутри:
▶️ Представление данных в виде таблиц, канбан-досок, календарей и форм

▶️ Поддержка миллионов строк и совместная работа в реальном времени

▶️ Удобные фильтры, группировки, агрегации и сортировки

▶️ Импорт и экспорт данных в формате CSV

▶️ API для интеграций, система плагинов и настройка автоматизации

▶️ Управление доступом и правами пользователей

▶️ Совместная работа в реальном времени


Инструмент полностью self-hosted — разворачиваете у себя и пользуетесь без ограничений.

⛓ Ссылка на GitHub

tags: #полезное

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2
❔ Вопрос с собеседования

Что такое подзапрос и когда он используется?

Ответ: Это вложенный SELECT, который используется внутри другого запроса — например, в WHERE, FROM или SELECT. Удобен для фильтрации, агрегации или сравнения с вычисленными значениями.

tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
💻 Триггеры в PostgreSQL: основы

В статье рассматриваются основы работы с триггерами в PostgreSQL.

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

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4⚡1❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30❤‍🔥13👍1🔥1
❔ Вопрос с собеседования

Чем NULL отличается от пустой строки или нуля в SQL?

Ответ: NULL — это специальное значение, которое означает, что значение отсутствует или неизвестно. Это не “ноль”, не “пусто”, а именно ничего.

В отличие от NULL, пустая строка ('') — это строка длиной 0, а ноль — это конкретное числовое значение. Они существуют и участвуют в вычислениях.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤6
💻 SQL Police Departament

Интерактивная платформа, где вы становитесь аналитиком в полиции данных и раскрываете преступления с помощью SQL.

Каждое дело — это задача, в которой нужно проанализировать улики и таблицы, построить корректный запрос и найти нужные данные.

⛓ Ссылка на платформу

tags: #полезное

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤3👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🔥14❤4
❔ Вопрос с собеседования

Что такое MongoDB?

Ответ: MongoDB — это документо-ориентированная NoSQL база данных, в которой данные хранятся не в таблицах, а в виде JSON-подобных документов (внутренне — BSON).

Главное отличие от реляционных БД: MongoDB не требует фиксированной схемы, то есть структура документа может быть разной даже в рамках одной коллекции. Это делает её особенно удобной для гибких и быстро меняющихся данных.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍8😨2
💻 Что такое индексы?

Индекс в базе данных — это специальная структура, которая позволяет находить строки по определённым условиям быстрее, без перебора всей таблицы.

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

Рассмотрим пример:

Допустим, нам нужно найти всех пользователей из Москвы:
SELECT * FROM users WHERE city = 'Moscow';


Если в базе ещё нет индекса на колонку city, PostgreSQL будет просматривать все строки таблицы — это называется Seq Scan.

Чтобы ускорить такой запрос, создаём индекс:
CREATE INDEX idx_city ON users(city);


После этого тот же самый запрос может выполняться гораздо быстрее — PostgreSQL использует индекс, чтобы сразу перейти к нужным строкам, не перебирая остальные.

📌 Индексы позволяют ускорить выполнение запросов, особенно в больших таблицах и критически важны при частом использовании фильтрации, сортировки или соединений.


Однако наличие индекса не гарантирует, что PostgreSQL его применит — об этом расскажем в следующей части.

❤ — если было полезно

tags: #обучение

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍7🔥3🤔1🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁50👍2😱1😢1
❔ Вопрос с собеседования

Чем отличается RIGHT JOIN от RIGHT OUTER JOIN?

Ответ: На самом деле разницы нет — оба типа объединений возвращают все строки из правой таблицы, включая те, у которых нет совпадений в левой таблице. OUTER — это избыточное слово.

tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18😁5
💻 Почему COUNT(*) быстрее, чем COUNT(col) — и когда это не так?

В статье объясняется, почему COUNT(*) и COUNT(col) в PostgreSQL работают по-разному и как это влияет на скорость запросов.

Разбирается, как использовать индексы и внутренние механизмы СУБД, чтобы ускорить подсчёт строк в таблице.

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁45⚡6👏2
❔ Вопрос с собеседования

Что делает ON DELETE CASCADE?

Ответ: ON DELETE CASCADE — это правило внешнего ключа, которое указывает: если строка в родительской таблице удаляется, то все связанные строки в дочерней таблице удаляются автоматически.

Это помогает сохранить целостность данных и избежать “висящих” записей, которые больше ни на что не ссылаются.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6🔥4
💻 Вред хранимых процедур

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

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

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥1🥱1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Тестировщик проверяет работоспособность кода

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25😁15👍7