Сами по себе нормальные формы (НФ) не требуют введения суррогатных (искусственных) ключей, но на практике их часто используют при нормализации, особенно начиная со 2НФ и 3НФ. Давайте разберём подробнее.
Читать далее »Все записи категории ‘На первой полосе’
SQL-инъекция: как работает и как защититься

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

Зарисовка на тему пост-апокалипсиса. Малобюджетный польский фильм, для любителей не спешного кино.
Читать далее »А что такое SERIAL и чем он отличается от INT?
В SQL, когда вы создаёте поле для идентификатора (id
), ключа в таблице, часто используется либо INT
, либо SERIAL
. Они похожи, но не совсем одно и то же.
Первичный и внешний ключ в SQL : простое объяснение
Когда вы впервые сталкиваетесь с базами данных, всё кажется немного запутанным: таблицы, строки, какие-то «ключи»… Но если объяснить это на живых примерах — всё становится куда яснее. Давайте разберёмся, что такое первичный ключ, внешний ключ, и ещё одно важное пон — суррогатный ключ.
Читать далее »SQL-антипаттерны: плохие JOIN’ы и как их избежать
JOIN — один из мощнейших инструментов в SQL. Но с большой силой приходит большая ответственность. Неверное использование JOIN может приводить к дублированию строк, утечке производительности, неявным ошибкам и даже разрушению логики приложения.
В этой статье рассмотрим примеры антипаттернов при использовании JOIN’ов, объясним, почему они плохи, и как их избегать.
Читать далее »JOIN vs UNION — в чём разница?
Эти два оператора в SQL на первый взгляд делают похожее — они «объединяют» таблицы. Но делают это по-разному и для разных целей.
Читать далее »Что такое CROSS JOIN
Конструкция CROSS JOIN
в SQL — это один из видов JOIN
, который создаёт декартово произведение двух таблиц: каждая строка из первой таблицы соединяется со всеми строками второй.
Как получить код языка по умолчанию в Drupal
В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en
, ru
, fr
), используйте следующий способ:
1 2 3 |
$default_language_code = \Drupal::languageManager() ->getDefaultLanguage() ->getId(); |
AD&D: Путеводитель по книгам правил

Я давно увлекаюсь настольными ролевыми играми, и AD&D — одна из тех систем, к которым я возвращаюсь снова и снова. Это не просто механика или набор книг — это целый мир, живой и глубокий. На этой странице я собрал хэндбуки по AD&D, а в этой статье хочу объяснить, что это за система, как в ней разобраться и с чего начать.
Читать далее »