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

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

РКН № 6766085482
Download Telegram
❔ Вопрос с собеседования

Зачем использовать CHECK-ограничения в SQL?

Ответ: CHECK-ограничения позволяют задать условие, которому должно соответствовать значение в столбце. Это способ встроенной валидации на уровне базы: например, можно запретить отрицательные числа в поле salary, указав CHECK (salary > 0).

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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
💻 Лучшие книги по PostgreSQL

Полезная подборка бесплатных книг по PostgreSQL на русском языке для изучения СУБД от основ до архитектурных тонкостей:

▶️ Postgres: первое знакомство — брошюра для новичков с кратким введением в PostgreSQL, установку и начальную настройку.

▶️ PostgreSQL. Основы языка SQL — учебник по SQL с акцентом на особенности реализации в PostgreSQL.

▶️ PostgreSQL. Профессиональный SQL — продолжение предыдущей книги, охватывающее оконные функции, CTE, подзапросы LATERAL, пользовательские функции и процедуры.

▶️ PostgreSQL 17 изнутри — глубокий разбор внутреннего устройства СУБД: MVCC, WAL, блокировки, планировщик запросов, индексы и многое другое.

▶️ Мониторинг PostgreSQL — практическое руководство по инструментам мониторинга, интерпретации метрик и пониманию внутренних процессов СУБД.

▶️ Путеводитель по базам данных — обзор архитектурных принципов современных СУБД, алгоритмов и структур данных, используемых в них.

▶️ Основы технологий баз данных — учебное пособие, охватывающее теорию баз данных, методы и алгоритмы, применяемые при реализации СУБД, и особенности PostgreSQL.


Все книги доступны для скачивания в формате PDF — по ссылке.

tags: #полезное

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3❤‍🔥2
1С-ники, забираем лайфхак 😆

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46🔥4👍2
❔ Вопрос с собеседования

Что такое покрывающий индекс?

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

Если запрос использует только поля из этого индекса (в SELECT, WHERE, ORDER BY), то СУБД может выполнить его целиком по индексу, без обращения к основной таблице.

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


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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥7👍4
💻 «Жизнь» на PostgreSQL

А вы знали, что PostgreSQL можно использовать для создания игры «Жизьи» Джона Конвея — прямо на SQL-запросах без единой строчки кода на С++ или Python?

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

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

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤4👍3😁2
Вот оно позитивное мышление

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52🔥8❤6👏3
❔ Вопрос с собеседования

Можно ли использовать JOIN без ON?

Ответ: Да, но не всегда это корректно. Без ON можно использовать: CROSS JOIN, который создаёт декартово произведение строк из таблиц, и NATURAL JOIN, который автоматически соединяет таблицы по всем столбцам с одинаковыми именами.

В остальных случаях (например, INNER JOIN, LEFT JOIN) отсутствие ON приведёт либо к синтаксической ошибке, либо к неожиданному результату — особенно если база интерпретирует это как CROSS JOIN. Поэтому чаще всего ON обязателен.


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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤4🔥2
💻 Выбор индексов в базах данных для highload-систем

В статье разбираются типы индексов в реляционных и NoSQL базах данных, включая B-Tree, GIN, GiST, BRIN, а также индексы в MongoDB и Cassandra.

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

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

tags: #статья

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

Можно ли в одном запросе использовать LIMIT и OFFSET?

Ответ: Да, LIMIT задаёт, сколько строк вернуть, а OFFSET — сколько строк пропустить сначала. Вместе они используются для постраничной выборки (пагинации).

Например: LIMIT 10 OFFSET 20 вернёт 10 строк, начиная с 21-й.

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


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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤5🔥2
💻 Redis: что это такое и как им пользоваться?

В статье разбирается, как работает Redis — in-memory хранилище, идеально подходящее для задач, где важна высокая скорость.

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

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

tags: #статья

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

Можно ли создать таблицу без PRIMARY KEY?

Ответ: Да, можно — SQL не требует, чтобы каждая таблица имела первичный ключ.

Но такие случаи редки: без PRIMARY KEY нельзя гарантировать уникальность строк, сложно строить связи через внешние ключи и затруднён быстрый поиск.

Обычно даже технические таблицы получают искусственный ключ (id), чтобы упростить работу с данными и сохранить их целостность.


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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5
💻 5 видов баз данных, которые подходят для разных задач

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

Разбираются реляционные, документоориентированные, графовые, колоночные и key-value базы — с понятными примерами и практическими советами по выбору.

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

tags: #статья

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

Что такое нормализация в SQL и зачем она нужна?

Ответ: Нормализация — это процесс разбиения данных на таблицы для устранения дублирования и обеспечения целостности. Она предотвращает аномалии при вставке, обновлении и удалении данных. Основные нормальные формы: 1NF, 2NF, 3NF, BCNF.

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

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤5🔥3
💻 Когда мешает внешний ключ?

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

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

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

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
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