😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данныхДолгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:• Нерекурсивная часть (базовый случай) — создает начальные данные.• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:• Визуализацию множества Мандельброта с помощью ASCII-графики.• 3D-движок для рисования объемных фигур.• GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.• Трассировку лучей (это метод создания реалистичных изображений).На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:• игровой цикл;• вывод игры;• пользовательский ввод;• решение проблемы изоляции данных;• предотвращение кэширования.Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.🔗 Подробнее читайте в статье🔗 Зеркало