The `Database` class provides the base-level abstraction for SQL-oriented relational databases.
It handles all aspects of abstraction, including formatting for basic query types and SQL
fragments (i.e. for joins), converting `Query` objects to SQL, and various other functionality
which is shared across multiple relational databases.