Dimensional Modeling Business Intelligence Solutions
Definition According to Dr. Kimball, Dimensional Modeling is a design technique for databases intended to support end- user queries in a data warehouse.
Dimensional Design VS Normalized Design Dimensional Modeling Normalized Modeling Reporting and Analysis Operational Inserts and Updates Data Warehouse Transactional Data Source(s)
Transactional System and Normalized Design Enable consistent and fast writing Insert or update touch the database in one place Too complicated for data warehouse queries and performance issue 3NF (third-normal-form) Normalized Design
Data Warehouse and Dimensional Design Star schema: when a fact table is joined to a set of dimension tables Simplicity Symmetry Performance benefits Dimensional Design
Dimension Model Elements Fact Table Dimension Tables
Dimension Model Elements: Fact Table Stores numerical performance measurements Contains: o Dimension keys o Facts: business measures Grain: defined by a list of dimensions 3 categories of fact table grains: o Transaction o Periodic snapshot o Accumulative snapshot Dimensions Facts
Dimension Model Elements: Fact Table Looks ‘thin’ in shape Primary key: subset of the foreign keys Expresses a many-to-many relationships
Stores textual descriptors Contains: attributes Highly denormalized Represent hierarchical relationships Looks ‘fat’ in shape Dimension Model Elements: Dimension Tables
Dimension Model: bring Facts and Dimensions together Surrogate keys: sequentially assigned integers Benefits: o Environment buffer o Allow data integration o Support SCD (slow changing dimension)
Handling Changes: SCD Type 1 SCD: Overwrite the value
Handling Changes: SCD Type 2 SCD: Add a Dimension Row
Handling Changes: SCD Type 3 SCD: Add a Dimension Column
Dimensional Modeling Design Process Choose the Business Process Declare the Grain Identify the Dimensions Identify the Facts
Easy to understand Optimized for performance Historical tracking of information Extensible to accommodate changes Summary
Questions?