Databases Reference
In-Depth Information
The join between the Transaction and Item tables reduces from eight
pairs of joined rows to one pair of joined rows. By removing extraneous
pairs of joined rows from the join between the Item and Color_Formula
tables, completely removing all pairs of rows joined on the colors Blue,
Green, Red, Orange, White, Black, and Grey, and reducing the pairs of
rows joined on the color Yellow from three to one, the pairs of joined
rows reduces from twenty-six to one. By removing extraneous pairs of
joined rows from the join between the Item and Carrier_Terms tables,
completely removing all pairs of rows joined on the carriers Harold Jones
and Williamson, and reducing the pairs of rows joined on the carrier
Cart-Rite from three to one, the pairs of joined rows reduces from eleven
to one. Taken together, those three joins alone reduce the number of pairs
of joined rows from forty-five to three, which is a reduction by a factor of
fifteen. That means that if in this example we can completely remove the
multiplicative explosion of data by joining on only those rows that sat-
isfy the conditions of the Time Variant join, the RDBMS will be required
to handle one-fifteenth the volume of data it was previously required to
handle.
The tuple construct of temporal databases also attempts to optimize
joins within and between Time Variant data. By managing the Time
Variant intersections of fact table rows, dimension table rows, and
dates, temporal databases also avoid the superset of joined pairs of rows
in Figure  10.2. Having never implemented a temporal database, I have
no evidence in favor of, or against, temporal databases. Temporal data-
bases may perform Time Variant joins and queries faster and more eἀ -
ciently than the Time Variant Solution Design outlined in this chapter.
Regardless, from researching temporal databases, I can see that temporal
databases are designed to limit database activity to only those rows that
apply to the query at hand, in its Time Variant context. However, tem-
poral databases are also a departure from the relational database struc-
ture and query language of generally available relational databases. As
such, I'm not yet convinced the path to the goal is in temporal databases.
For those reasons, the Time Variant Solution Definition outlined in this
chapter is focused solely on achieving the goal displayed in Figure 11.1
via the Time Variant Solution Design. As such, the concepts and con-
structs of temporal databases are not included in the remainder of this
chapter. This exclusion of temporal databases is neither an implicit nor
an explicit statement about temporal databases. Rather, the inclusion of
the Time Variant Solution Design, to the exclusion of all other designs,
Search WWH ::




Custom Search