HTSQL

редактировать

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

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

Содержание
  • 1 Область действия
  • 2 Синтаксис
  • 3 Примеры
  • 4 Приложения
  • 5 Версии и лицензирование
  • 6 Подобные инициативы
  • 7 Ссылки
  • 8 Внешние ссылки
Область

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

Синтаксис

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

Примеры

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

/program{school.name, title}

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

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

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

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

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

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

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

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

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

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

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

Подобные инициативы
Ссылки
  1. ^http://htsql.org/
  2. ^YAML
  3. ^http://pdfind.com/ гипер-текст-структурированный-язык-запросов-htsql-is /
  4. ^http://www.htsql.org/tutorial.html
  5. ^http://clarkevans.com/tmp/spec.html
  6. ^http : //clarkevans.com/tmp/spec.html
  7. ^http://htsql.org/talks/20100804.html
  8. ^http://www.htsql.org/license.txt
  9. ^https: / /bitbucket.org/prometheus/htsql/src
  10. ^http://htsql.org/
Внешние ссылки
Последняя правка сделана 2021-05-22 09:51:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте