HTSQL

Язык структурированных запросов гипертекста (HTSQL) — это язык запросов URI-to-SQL на основе схемы, который принимает запрос по HTTP , преобразует его в запрос SQL , выполняет запрос к базе данных и возвращает результаты в формате, наиболее подходящем для пользовательского агента (CSV, HTML и т. д.) [1] Язык HTSQL реализован на «серверах HTSQL», которые используют HTSQL для преобразования веб-запросов в эквивалентный SQL, выполняют запросы в базе данных на стороне сервера и возвращают результаты в форматах XML , HTML , CSV , JSON или YAML . Текущая реализация по состоянию на апрель 2010 года использует Python и работает с базами данных PostgreSQL , MySQL , SQLite , Oracle и Microsoft SQL Server .

Прототип HTSQL был создан и разработан Кларком Эвансом (который предложил YAML в 2001 году [2] ), а реализован Кириллом Симоновым [3] , оба из Prometheus Research.

Объем

Целевая аудитория HTSQL — это бизнес-пользователи, которые не являются программистами SQL. Он стремится упростить неинтуитивные реляционные запросы, такие как агрегаты и проекции. Целью является не полнота в репликации SQL, а простота и интуитивность. HTSQL позволяет пользователям, которые знакомы с данными, но не с синтаксисом SQL, напрямую обращаться к базе данных, не проходя через приложение. [4]

Синтаксис

HTSQL использует синтаксис запросов на основе URI. Запросы обычно начинаются с одной таблицы, опционально с префиксом схемы и последующим выражением фильтра для ограничения количества возвращаемых строк. [5]

Примеры

Объединения могут быть сделаны между таблицами путем ссылки на имя столбца, которому предшествует имя таблицы. В этом примере запрашивается название программы обучения из таблицы программ и название школы из таблицы школ:

/program{название.школы, название}

Результат этого запроса из системы командной строки HTSQL:

программа ~ ...название.школы | название--------------------------+----------------------- ------------Школа искусств и дизайна | Постбакалавриат по истории искусствШкола искусств и дизайна | Бакалавр искусств по истории искусствШкола искусств и дизайна | Бакалавр искусств в области студийного искусстваШкола бизнеса | Сертификат об окончании курса по бухгалтерскому учету...

Агрегатные выражения можно использовать, когда в базе данных имеются отношения «многие к одному».

/school{имя, количество(программа), количество(отдел)}

Результат показывает количество программ и отделений в каждой школе:

школа ~ ...имя | количество(программа) | количество(отдел)-------------------------+----------------+------- -----------Школа искусств и дизайна | 3 | 2Школа бизнеса | 5 | 3Педагогический колледж | 7 | 2Инженерная школа | 8 | 4

Приложения

HTSQL может использоваться для специальных запросов к базе данных. Его разработчики считают его более кратким и интуитивно понятным, а потому менее подверженным ошибкам, чем SQL для нетехнических пользователей. [5]

HTSQL также может использоваться «случайными программистами», такими как аналитики данных и разработчики пользовательского интерфейса. Помимо более читаемых HTTP-запросов, разработчики HTSQL утверждают, что он помогает избегать распространенных ошибок SQL, таких как случайные объединения. [6]

Версии и лицензирование

HTSQL следует модели двойной лицензии. Программное обеспечение может использоваться бесплатно с реляционными базами данных с открытым исходным кодом, включая MySQL и PostgreSQL . [7] Исходный код доступен на сайте bitbucket . [8]

Также доступна коммерческая версия HTSQL, совместимая с коммерческими базами данных, такими как Oracle и Microsoft SQL Server . [1]

Похожие инициативы

  • постгрEST
  • ПостГрафайл

Ссылки

  1. ^ ab "Главная". htsql.org .
  2. ^ ЯМЛ
  3. ^ "Язык структурированных гипертекстовых запросов" . Получено 4 мая 2023 г. .
  4. ^ "Введение — HTSQL — Документация по языку структурированных запросов гипертекста v1.0". www.htsql.org . Архивировано из оригинала 11 июля 2010 г.
  5. ^ ab "HTSQL Manual: HyperText Structured Query Language". clarkevans.com . Архивировано из оригинала 8 июля 2011 г.
  6. ^ «HTSQL — язык запросов для неопытных программистов».
  7. ^ "HTSQL Permissive License". htsql.org . Получено 4 мая 2023 г. .
  8. ^ "prometheus / htsql / source — bitbucket.org". bitbucket.org . Архивировано из оригинала 26 сентября 2010 года.
  • Сайт сообщества HTSQL
Взято с "https://en.wikipedia.org/w/index.php?title=HTSQL&oldid=1153166877"