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