HTSQL is a comprehensive navigational query language for relational databases.



Similar documents
Open is as Open Does: Lessons from Running a Professional Open Source Company

TDAQ Analytics Dashboard

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Visualizing an OrientDB Graph Database with KeyLines

edoc Document Generation Suite

DBMS / Business Intelligence, SQL Server

Visualizing a Neo4j Graph Database with KeyLines

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals

Trial version of GADD Dashboards Builder

Oracle SQL. Course Summary. Duration. Objectives

IENG2004 Industrial Database and Systems Design. Microsoft Access I. What is Microsoft Access? Architecture of Microsoft Access

SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

Oracle Database: SQL and PL/SQL Fundamentals

Timeline for Microsoft Dynamics CRM

uncommon thinking ORACLE BUSINESS INTELLIGENCE ENTERPRISE EDITION ONSITE TRAINING OUTLINES

Financial Data Access with SQL, Excel & VBA

DiskPulse DISK CHANGE MONITOR

Connect to MySQL or Microsoft SQL Server using R

Sisense. Product Highlights.

ORACLE BUSINESS INTELLIGENCE WORKSHOP

Embedding a Data View dynamic report into an existing web-page

Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator

Resources You can find more resources for Sync & Save at our support site:

CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide

Setting up an Apache Server in Conjunction with the SAP Sybase OData Server

Ernesto Ongaro BI Consultant February 19, The 5 Levels of Embedded BI

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

Consider the possible problems with storing the following data in a spreadsheet:

Application Express Web Application Development

Magento module Documentation

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

UQC103S1 UFCE Systems Development. uqc103s/ufce PHP-mySQL 1

Click to edit Master text styles. FA Web Ad Hoc Query. Second level. Third level. Fourth level Fifth level. Training Material.

MOC 20461C: Querying Microsoft SQL Server. Course Overview

XML Processing and Web Services. Chapter 17

Oracle BI 11g R1: Create Analyses and Dashboards

Reporting Services. White Paper. Published: August 2007 Updated: July 2008

Oracle Application Express MS Access on Steroids

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Oracle Database 12c: Introduction to SQL Ed 1.1

Toad for Data Analysts, Tips n Tricks

Integrating Oracle Analytics Content

Short notes on webpage programming languages

Microsoft' Excel & Access Integration

SQL Server Administrator Introduction - 3 Days Objectives

Effective Use of SQL in SAS Programming

Dashbuilder Documentation Version Final

User Training Guide Entrinsik, Inc.

REP200 Using Query Manager to Create Ad Hoc Queries

Course Title: Reporting in Microsoft Dynamics CRM 2011

Databases in Engineering / Lab-1 (MS-Access/SQL)

Advanced Query for Query Developers

Using Microsoft Business Intelligence Dashboards and Reports in the Federal Government

Securing and Accelerating Databases In Minutes using GreenSQL

Adaptive Enterprise Solutions

Section 1 Spreadsheet Design

How to Create Dashboards. Published

SQL SELECT Query: Intermediate

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

Microsoft Services Exceed your business with Microsoft SharePoint Server 2010

ORM2Pwn: Exploiting injections in Hibernate ORM

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

PROJECT REPORT OF BUILDING COURSE MANAGEMENT SYSTEM BY DJANGO FRAMEWORK

BI Publisher. Presented to: SCOUG. June 7, 2010

PeopleSoft Query Training

Introduction to SQL for Data Scientists

Course Title: Microsoft Access Basic Duration: 12 hours

Optimizing Application Performance with CUDA Profiling Tools

ICAB4136B Use structured query language to create database structures and manipulate data

When a variable is assigned as a Process Initialization variable its value is provided at the beginning of the process.

Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports

Form And List. SuperUsers. Configuring Moderation & Feedback Management Setti. Troubleshooting: Feedback Doesn't Send

JD Edwards EnterpriseOne Tools. 1 Understanding JD Edwards EnterpriseOne Business Intelligence Integration. 1.1 Oracle Business Intelligence

Intelligent Dashboards made Simple! Using Excel Services

Response Time Analysis of Web Templates

DBX. SQL database extension for Splunk. Siegfried Puchbauer

The software shall provide the necessary tools to allow a user to create a Dashboard based on the queries created.

Karl Lum Partner, LabKey Software Evolution of Connectivity in LabKey Server

Websense SQL Queries. David Buyer June 2009

REPORTS 4 YOU for VTIGER CRM 6.x

WebCruiser Web Vulnerability Scanner User Guide

SAHARA DIGITAL8 RESPONSIVE MAGENTO THEME

Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2

How to Design and Create Your Own Custom Ext Rep

Intro to Databases. ACM Webmonkeys 2011

itunes Store Publisher User Guide Version 1.1

Top 10 Oracle SQL Developer Tips and Tricks

XML Export Interface. IPS Light. 2 April Contact

SQL Injection. The ability to inject SQL commands into the database engine through an existing application

Create interactive web graphics out of your SAS or R datasets

AD-HOC QUERY BUILDER

TaskCentre v4.5 Run Crystal Report Tool White Paper

Making OData requests from jquery and/or the Lianja HTML5 Client in a Web App is extremely straightforward and simple.

SQL Server and MicroStrategy: Functional Overview Including Recommendations for Performance Optimization. MicroStrategy World 2016

4. The Third Stage In Designing A Database Is When We Analyze Our Tables More Closely And Create A Between Tables

Q&A for Zend Framework Database Access

Transcription:

http://htsql.org/

HTSQL A Database Query Language HTSQL is a comprehensive navigational query language for relational databases. HTSQL is designed for data analysts and other accidental programmers who have complex business inquiries to solve and need a productive tool to write and share database queries. HTSQL is free and open source software.

An Example HTSQL directly maps common business inquiries onto a syntax parsable and excutable by a computer. A business inquiry Show me for each school: its name, its location, number of programs and departments, and the average number of courses across each of its departments? Translation to HTSQL / school { name, campus, count ( program ), count ( department ), avg ( department. count ( course ))}

HTSQL License HTSQL is free software. We offer support services, feature development, and sells license exceptions for use of HTSQL in combination with proprietary databases. For open source database systems (SQLite, PostgreSQL, and MySQL), HTSQL is released as free software under the terms of the AGPLv3. We also offer HTSQL with a non-free, but otherwise permissive license so that proprietary applications may use HTSQL in combination with open source database systems. For proprietary database systems (Oracle and Microsoft SQL Server), we offer HTSQL under an evaluation and a proprietary license.

HTSQL is a Python Library >>> from htsql import HTSQL >>> demo = HTSQL (" pgsql :/// htsql_demo ") >>> rows = demo. produce ("/ school ") >>> for row in rows :... print row... school ( code =u art, name =u School of Art & Design, campus =u old ) [...] Download and install from PyPI: $ pip install HTSQL

HTSQL is a Relational Database Gateway HTSQL queries are translated to SQL. HTSQL has backends for SQLite, PostgreSQL, MySQL, Oracle, MS SQL Server. An HTSQL query / school Translation to SQL SELECT " school "." code ", " school "." name ", " school "." campus " FROM "ad "." school " ORDER BY 1 ASC

HTSQL is an Advanced Query Language HTSQL is a complete query language featuring automated linking, aggregation, projections, filters, macros, a compositional syntax, and a full set of data types & functions. An HTSQL query / school { name, count ( program ), count ( department )} Translation to SQL SELECT " school "." name ", COALESCE (" program "." count ", 0), COALESCE ("department "." count ", 0) FROM "ad "." school " LEFT OUTER JOIN ( SELECT COUNT ( TRUE ) AS " count ", "program "." school_code " FROM "ad "." program " GROUP BY 2) AS " program " ON ("school "."code " = "program "." school_code ") LEFT OUTER JOIN ( SELECT COUNT ( TRUE ) AS " count ", "department "." school_code " FROM "ad "." department " GROUP BY 2) AS " department " ON ("school "."code " = "department "." school_code ") ORDER BY " school "." code " ASC

HTSQL is a WSGI Web Service HTSQL is a web service that accepts queries as URLs, returning results formatted as HTML, JSON, CSV or XML. With HTSQL, databases can be accessed, secured, cached, and integrated using standard web technologies. HTTP request GET / school HTTP /1.1 HTTP response { " school ": [ { " code ": " art ", "name ": " School of Art & Design ", " campus ": " old " }, { " code ": " bus ", "name ": " School of Business ", " campus ": " south " }, [...] ] }

HTSQL Syntax: Basics Literal values /{3.14159, Hello World! } Algebraic & predicate expressions /{(3+4)*6, (7 <13)&(1=0 1!=0)} Schema navigation / school / school. department

HTSQL Syntax: Filtering, Sorting, & Truncating Filtering rows / school? campus = south / school. filter ( campus = south ) Sorting rows / school. sort ( campus ) Truncating rows / school. limit (3)

HTSQL Syntax: Selection Selecting output columns / school {name, campus } / school {name, count ( department ) :as # of Dept } Calculated attributes / school. define ( num_dept := count ( department )) { code, num_ dept }? num_ dept >3

HTSQL Syntax: Aggregates & Projections Aggregates /{ count ( department ), avg ( school. count ( department ))} / department {name, max ( course. credits ), avg ( course. credits )}? exists ( course ) Projections /( school ^ campus ){ campus, count ( school )} / school {name, count ( program ^ degree )}

HTRAF Toolkit Embedding Data into HTML Demo HTML <h3>select a School </h3> < select id =" school " data - htsql ="/ school {code, name }"> </ select > <div style =" width : 400 px; height : 350 px ;" data - htsql ="/ program {code, count ( student )}? exists ( student ) & school.code = $school " data -ref=" school " data - widget=" chart " data -type=" pie " data - title=" Students by Program "> </div > <h3 > Programs </h3 > <table style =" width : 400 px" data - htsql ="/ program {title, degree }? school.code = $school " data -ref=" school "> </ table >

HTRAF: A Table Widget HTML Demo <table data - htsql = "/ program { title, degree }" > </ table >

HTRAF: A Chart Widget HTML Demo <div style =" width : 450 px; height : 350 px ;" data - htsql = "/ program { code, count ( student )}? school. code = ns " data - widget =" chart " data - type =" pie "> </div >

HTRAF: Linking Widgets HTML Demo < select id =" sc" data - htsql = "/ school {code, name }" > </ select > <table data - htsql = "/ program { title, degree }? school. code = $sc " data - ref =" sc"> </ table >