Skip to content

LaTiS Data Model compared to the Relational Data Model

Doug Lindholm edited this page Jun 3, 2015 · 2 revisions

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)

Clone this wiki locally