HTSQL - HTSQL
Hypertextový strukturovaný dotazovací jazyk (HTSQL) je schématem řízený dotazovací jazyk URI-to-SQL, který převezme požadavek HTTP, převede jej na a SQL dotaz, provede dotaz proti databázi a vrátí výsledky ve formátu nejvhodnějším pro agenta uživatele (CSV, HTML atd.)[1] Jazyk HTSQL je implementován na „serverech HTSQL“, které používají HTSQL k převodu webových požadavků na ekvivalentní SQL, provádí požadavky na databázi na straně serveru a vrací výsledky v XML, HTML, CSV, JSON nebo YAML formáty. Aktuální implementace z dubna 2010 používá Krajta a pracuje s PostgreSQL, MySQL, SQLite, Věštec, a Microsoft SQL Server databáze.
HTSQL byl prototypován a vyvinut společností Clark Evans (kdo navrhl YAML v roce 2001[2]) a implementoval Kirill Simonov,[3] oba Výzkum Prometheus.
Rozsah
Zamýšleným publikem HTSQL jsou obchodní uživatelé, kteří nejsou programátory SQL. Snaží se zjednodušit neintuitivní relační dotazy, jako jsou agregáty a projekce. Cílem není úplnost replikace SQL, ale jednoduchost a intuitivnost. HTSQL umožňuje uživatelům, kteří jsou obeznámeni s daty, ale ne se syntaxí SQL, přímý přístup k databázi bez procházení aplikací.[4]
Syntax
HTSQL používá syntaxi dotazů založenou na URI. Dotazy obvykle začínají jedinou tabulkou, volitelně předponou schématem a následovanou výrazem filtru, který omezuje počet řádků, které jsou vráceny.[5]
Příklady
Spojení lze provést napříč tabulkami odkazem na název sloupce, kterému předchází název tabulky. Tento příklad požaduje název studijního programu z tabulky programu a název školy ze školní tabulky:
/program{school.name, title}
Výsledkem tohoto dotazu ze systému příkazového řádku HTSQL je:
program~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~název školy název -------------------------- + ---------------------- ------------- Škola umění a designu | Postgraduální maturita v dějinách uměníŠkola umění a designu | Bakalář umění v dějinách umění Škola umění a designu | Bakalář umění ve studiu ArtSchool of Business | Osvědčení o absolvování účetnictví...
Souhrnné výrazy lze použít, pokud v databázi existují vztahy typu jedna ku jedné.
/ school {name, count (program), count (department)}
Výsledek ukazuje počet (počet) programů a oddělení v každé škole:
škola~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~jméno | počet (program) | počet (oddělení) ------------------------- + ---------------- + --- --------------- Škola umění a designu | 3 | 2Škola podnikání | 5 | 3Školství pro vzdělávání | 7 | 2Škola strojírenství | 8 | 4
Aplikace
HTSQL lze použít pro ad hoc databázové dotazy. Jeho vývojáři to považují za stručnější a intuitivnější, a proto pro netechnické uživatele méně náchylné k chybám než SQL.[6]
HTSQL mohou používat také „náhodní programátoři“, jako jsou analytici dat a vývojáři uživatelského rozhraní. Kromě čitelnějších dotazů založených na protokolu HTTP vývojáři HTSQL tvrdí, že pomáhá vyhnout se běžným chybám SQL, jako jsou náhodné spojení.[7]
Verze a licencování
HTSQL se řídí duálním licenčním modelem. Tento software lze bezplatně používat s relačními databázemi open source, včetně MySQL a PostgreSQL.[8] Zdrojový kód je k dispozici na internetu bitbucket stránky.[9]
Komerční verze HTSQL, kompatibilní s komerčními databázemi jako Věštec a Microsoft SQL Server, je také k dispozici.[10]
Podobné iniciativy
Reference
- ^ http://htsql.org/
- ^ YAML
- ^ http://pdfind.com/hyper-text-structured-query-language-htsql-is/
- ^ http://www.htsql.org/tutorial.html
- ^ http://clarkevans.com/tmp/spec.html
- ^ http://clarkevans.com/tmp/spec.html
- ^ http://htsql.org/talks/20100804.html
- ^ http://www.htsql.org/license.txt
- ^ https://bitbucket.org/prometheus/htsql/src
- ^ http://htsql.org/