Details
| Title | Разработка расширения SQL с поддержкой диалектов: выпускная квалификационная работа бакалавра: направление 01.03.02 «Прикладная математика и информатика» ; образовательная программа 01.03.02_02 «Системное программирование» = Development of SQL Extension with Dialect Support |
|---|---|
| Creators | Мелко Тимофей Андреевич |
| Scientific adviser | Крашенинников Сергей Вениаминович |
| Other creators | Жилин М. С. |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Физико-механический институт |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | SQL ; PostgreSQL ; Pipe syntax ; расширение ; синтаксический анализ ; грамматика ; Bison ; extension ; parsing ; grammar |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 01.03.02 |
| Speciality group (FGOS) | 010000 - Математика и механика |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3309 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\41416 |
| Record create date | 7/31/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
В выпускной квалификационной работе рассматривается разработка расширения для системы управления базами данных PostgreSQL, реализующего поддержку альтернативного SQL-диалекта Pipe syntax. Проведен анализ классического синтаксиса SQL и выявлены его ограничения при построении сложных аналитических запросов, связанные с фиксированным порядком операторов, использованием вложенных подзапросов и различием между синтаксическим и семантическим порядком обработки данных. Исследованы архитектура PostgreSQL и внутренний конвейер обработки SQL-запросов, включающий этапы лексического анализа, синтаксического анализа, семантического преобразования, оптимизации и исполнения запросов. Разработана формальная грамматика Pipe syntax и реализованы модули лексического и синтаксического анализа на основе инструментов Flex и Bison. Предложен механизм трансляции конструкций Pipe syntax во внутреннее абстрактное синтаксическое дерево PostgreSQL, эквивалентное представлению стандартных SQL-запросов. Поддержка альтернативного синтаксиса реализована в виде расширения PostgreSQL с использованием механизма parser hook. Проведен сравнительный анализ Pipe syntax и классического SQL, подтверждающий сохранение декларативной модели запросов, эквивалентность внутренних представлений и идентичность планов выполнения запросов. Реализованный подход обеспечивает возможность интеграции альтернативных SQL-диалектов без модификации механизмов оптимизации и исполнения запросов PostgreSQL.
This bachelor’s thesis presents the development of a PostgreSQL extension implementing support for the alternative SQL dialect Pipe syntax. The limitations of classical SQL syntax for constructing complex analytical queries are analyzed, including rigid operator ordering, extensive use of nested subqueries, and the mismatch between syntactic and semantic query processing order. The PostgreSQL query processing pipeline and extension mechanisms are examined, including lexical analysis, syntactic analysis, semantic transformation, query optimization, and execution stages. A formal grammar of Pipe syntax is developed, and lexical and syntactic analyzers based on Flex and Bison are implemented. A transformation mechanism from Pipe syntax constructs into the internal PostgreSQL abstract syntax tree equivalent to standard SQL query representation is proposed. The alternative syntax support is implemented as a PostgreSQL extension using the parser hook mechanism. A comparative analysis of Pipe syntax and classical SQL is performed, demonstrating the preservation of the declarative query model, equivalence of internal query representations, and identity of execution plans. The proposed approach enables integration of alternative SQL dialects without modification of PostgreSQL query optimization and execution mechanisms.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|