HTSQL - HTSQL

Язык структурированных запросов гипертекста (HTSQL) - это управляемый схемой язык запросов URI-to-SQL, который принимает запрос на HTTP, преобразует его в SQL query, выполняет запрос к базе данных и возвращает результаты в формате, наиболее подходящем для пользовательского агента (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] оба Прометей Исследования.

Объем

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

Синтаксис

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

Примеры

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

/program{school.name, title}

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

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

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

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

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

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

Приложения

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

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

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

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

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

Подобные инициативы

Рекомендации

внешняя ссылка