Database table name:
CSV File:
No header line:
Traditionally, DBMS technology involved downloading and installing a fairly complex package, starting up a daemon process, and administering the system complete with user logins, backups and periodic rebalancing of resources and rebuilding of indexes. Higher-end systems could (and do) have their own disk formatting and datatypes.
A lot of database work involves complex, interrelated table schemas to support queries involving joins.
However there are a lot of situations where all the user wants to do is look at various views and subsets of a single table, usually with basic ANDed constrains on a collection of columns. This is especially true in scientific research.
In August 2000, version 1.0 of SQLite was release. A fully functional (from a query point of view) SQL engine, SQLlite does not require servers or administrators. An SQLite database is just another file, owned by anyone and located anywhere on the computer. The code This has freed up database technology, which now can be embedded in all sorts of code, from browsers to cell phones.
Some of the higher-end Javascript libraries provide advanced capabilities for interacting with tabular data. This includes scrolling through very large datasets by rendering just those records actually visible but making it look like a continuous scrolling table as well as support for complex cell rendering, column drag-and-drop and so on. Notable examples of this are DHTMLX and Ext JS. Both of these have GPLv3 licenses (for a substantial subset of the functionality).
By marrying a Javascript table display front-end with an SQLite backend, we gain easy visibility into the database contents with as much SQL functionality as we want to control. This work was inspired by the NASA Explanet Archive, which uses this same Javascript approach to deal with backend databases (a mixture of Oracle and SQLite) via web services. My aim was to bring this same approach to "personal" datasets. In addition to making my software public, I am hosting an active service which allows users to upload their own data and query it. This is for demonstration purposes, though at present I don't place any limits on its use.