Preliminaries
A query is applied to relation instances, and the result of a query is also a relation instance.
- Schemas of input relations for a query are fixed (but query will run regardless of instance!)
- The schema for the result of a given query is also fixed! Determined by definition of query language constructs.
- Languages are closed (can compose queries)