This post is part of a larger discussion about temporal databases. Hopefully it stands on it’s own but for more context see the Temporal Database Design page.
Most of us have worked with database tables that track some historical information. You add a EffectiveDate column or something similar and usually it’s just limited to a table to two. A Temporal Database is designed so most or all of the tables can track historical information.
The important part is that you can access the historical database using a SQL query and don’t have to look elsewhere, such as audit log. This is what makes a database a Temporal Database, at least according to me.
Degree of Database Temporalness
A database can either be non-temporal, partial temporal, or fully temporal. You can measure the temporalness by the percentage of tables that store temporal data.
Non-Temporal (0% Temporalness): Database has no temporal capabilities.
Partially Temporal (1% - 99% Temporalness): The database has some tables store temporal data but not all.
Fully Temporal (100% Temporalness): All the tables in the database store temporal data.
Type of Table Temporalness
We don’t measure how temporal a table is by percentage. Instead a table is defined by what type of historical data you can retrieve. There are two types of historical data:
[Read More]