-
Notifications
You must be signed in to change notification settings - Fork 0
LaTiS Data Model compared to the Relational Data Model
In relational database theory, the main construct is the relation which is more commonly know as a table. A relation consists of attributes (columns). A set of attributes is a tuple (row).
| time | temperature | humidity |
|---|---|---|
| 1 | 70.4 | 60.2 |
| 2 | 74.6 | 52.7 |
| 3 | 75.2 | 47.9 |
Relating this to the LaTiS data model, an attribute (column) is a Scalar and a tuple (row) is a Tuple. The relation (table) is just a sequence of Tuples. A sequence (like an array) can be thought of as a function of an index (just a number - we're not talking about a database index here). In LaTiS we can represent a sequence as a Function of a Scalar subtype Index:
index -> (time, temperature, humidity)
Note that the relational data model does not have a way to express that two of the attributes (temperature, humidity) are a function of another (time). (However, the presence of a database table index might be a good clue about which column(s) would represent the domain of a LaTiS Function.)
Since we know that we have a time series of measurements, we know that "time" is the independent variable in this functional relationship. With the LaTiS algebra, we can "factor out" the time to get a dataset that has these added semantics built in:
time -> (temperature, humidity)