Жрецы табличного культа

Жрецы

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

Нормализация базы данных, разбираемся с нормальными формами на примере

 14 Июл, 2025

Нормализация — это поэтапный процесс, происходит по шагам. Каждый шаг — это нормальная форма (НФ), которая обычно требует, чтобы предыдущий этап нормализации был выполнен. Всего их выделяют шесть, но чаще всего достаточно первых четырёх. Я рассмотрю их применение на простом примере.

Читать далее »

НФ не требуют введения суррогатных ключей?

 12 Июл, 2025

Сами по себе нормальные формы (НФ) не требуют введения суррогатных (искусственных) ключей, но на практике их часто используют при нормализации, особенно начиная со 2НФ и 3НФ. Давайте разберём подробнее.

Читать далее »

SQL-инъекция: как работает и как защититься

 10 Июл, 2025

SQL-инъекция (SQL Injection) — это распространённая и весьма опасная уязвимость веб-приложений. Она позволяет злоумышленнику вмешиваться в SQL-запросы, исполняемые на сервере, и получить несанкционированный доступ к данным, изменить их или даже удалить. При этом, злоумышленнику часто достаточно иметь доступ к фронт-енд сайта или приложения, где он экспериментирует с передаваемыми на сервер параметрами.

Этот процесс также не сложно автоматизировать.

Читать далее »

А что такое SERIAL и чем он отличается от INT?

 7 Июл, 2025

В SQL, когда вы создаёте поле для идентификатора (id), ключа в таблице, часто используется либо INT, либо SERIAL. Они похожи, но не совсем одно и то же.

Читать далее »

Первичный и внешний ключ в SQL : простое объяснение

 7 Июл, 2025

Когда вы впервые сталкиваетесь с базами данных, всё кажется немного запутанным: таблицы, строки, какие-то «ключи»… Но если объяснить это на живых примерах — всё становится куда яснее. Давайте разберёмся, что такое первичный ключ, внешний ключ, и ещё одно важное пон — суррогатный ключ.

Читать далее »

SQL-антипаттерны: плохие JOIN’ы и как их избежать

 6 Июл, 2025

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

В этой статье рассмотрим примеры антипаттернов при использовании JOIN’ов, объясним, почему они плохи, и как их избегать.

Читать далее »

JOIN vs UNION — в чём разница?

 4 Июл, 2025

Эти два оператора в SQL на первый взгляд делают похожее — они «объединяют» таблицы. Но делают это по-разному и для разных целей.

Читать далее »

Что такое CROSS JOIN

 4 Июл, 2025

Конструкция CROSS JOIN в SQL — это один из видов JOIN, который создаёт декартово произведение двух таблиц: каждая строка из первой таблицы соединяется со всеми строками второй.

Читать далее »

Группировка строковых значений в выборке из базы данных

 30 Сен, 2018

Группировка по полю, содержащему число, используется значительно чаще, чем группировка по текстовому полю. Я думаю, вы использовали функции вроде AVG(), SUM(), MIN() или MAX(). А вот использование функций GROUP_CONCAT, JSON_ARRAYAGG и JSON_OBJECTAGG встречается на столько редко, что разработчики забывают о том, что группировка по текстовому полю вообще возможна.

Читать далее »

SQL JOIN на пальцах: таблицы, примеры, схемы

 19 Сен, 2017

Присоединение таблиц в запросах — это базовый инструмент в работе с базами данных. Давайте рассмотрим какие присоединения (JOIN) бывают, и что от этого меняется в результатах запроса.

Читать далее »