On Inputs and Aliases
Inputs have names. Aliases are names. However, they remain separate.
For example, in the query
SELECT a.name
FROM myTable a
WHERE a.x = 6
myTable
is the input name, a
is the alias.
Jobs of input names
The input name indicates the source. It has to be configured in the system. If the tuples should originate from a Kafka topic called “tweets”, then in the system the mapping myTable -> Kafka(tweets)
has to be declared.
When a user writes a query, they can just use myTable for accessing this.
Job of aliases
An input alias indicates logical belonging of query specification elements to an input. In the example above, the predicate a.x = 6
is applied on tuples of the source myTable, and a.name
indicates what should be output.
Implications
… on Relations
A relation should only operate on aliases, but on on input names.
For example the query from above results in a relation (‘a’, ‘a.x=6’, ‘’, ‘infty’)