In this example, the operational database design shows an Order database where
customers are associated with orders, and each order is composed of many line
items. With each placed order, the line items have to be subtracted from a separate
Inventory database. The BI target database design shows a database with
summaries that are used to identify trends over time. In this design, the same data
about orders, line items, and inventory may exist in multiple tables (Monthly
Summary, Regional Summary, Product Summary), albeit summarized by different
dimensions. While operational databases generally store granular (atomic) data, BI
target databases, for the most part, store summarized data.
BI Target Databases
Contrary to the data-in philosophy (data entry) of operational systems, the data-out
philosophy (reporting and querying) of BI applications includes the following design
considerations.
BI target databases are designed for simplified, high-performance data
retrieval, not for efficiency of data storage and maintenance (which are
important design considerations for operational databases).
Eliminating or minimizing data redundancy is not a goal in designing BI target
databases. If a choice must be made, data redundancy is favored over
complexity, but the redundancy must be controlled. Redundant data must be
consistent and reconcilable.
Basic assumptions for designing BI target databases are listed below.
- Data is stored in such a manner that it is readily accessible in ways that
are of interest to the business people.
- The design is driven by access and usage.
- A normalized design is not necessarily intuitive for a business person
and could therefore become quite complex.
- No BI data can be invented! All data in the BI target databases must
exist in or be derivable from current internal or external operational data
sources.