Академический Документы
Профессиональный Документы
Культура Документы
Dimensional Modeling
Instructor: Samuel I. G. Situmeang
Lecture Objectives
2
Dimensional Modeling Data Warehouse and Business Intelligence
4
Dimensional Modeling Data Warehouse and Business Intelligence
6
Dimensional Modeling Data Warehouse and Business Intelligence
Red: NO
Green: YES
Dimensional Modeling Data Warehouse and Business Intelligence
9
Dimensional Modeling Data Warehouse and Business Intelligence
Demo
Business
User Says:
“I need to know:
How many sneakers did we sell last week?”
What I hear
Quantity Product Business Duration
(Fact) Type Process of Time
(Attribute of (Sales) (Attribute of
a Product a Sales Date
Dimension) Dimension)
11
Dimensional Modeling Data Warehouse and Business Intelligence
12
Dimensional Modeling Data Warehouse and Business Intelligence
13
Dimensional Modeling Data Warehouse and Business Intelligence
Transaction Fact
• The most basic fact grain
• One row per line in a transaction
• Corresponds to a point in space and time
• Once inserted, it is not revisited for update
• Rows inserted into fact table when transaction or event
occurs
• Examples:
• Sales, Returns, Telemarketing, Registration Events
Dimensional Modeling Data Warehouse and Business Intelligence
19
Dimensional Modeling Data Warehouse and Business Intelligence
20
Dimensional Modeling Data Warehouse and Business Intelligence
3 Types of Facts
Dimension Table
Primary Key The Star
Fact Table
Schema
Attribute Is a Relational
Foreign Key Database
Implementation
Fact Of A
Dimensional
Model
Dimensional Modeling Data Warehouse and Business Intelligence
• The Primary Key of your fact table uses the minimum number columns
possible & no surrogate keys.
(It should be made up of FK’s and Degenerate Dimensions)
• Referential Integrity is a must. Every foreign key in the fact table must have
a value.
• Avoid NULLs in the foreign key by using flags which are special values in
place of null.
• Ex. “No Shopper Card” in Customer Dimension
• The granularity of your fact table should be at the lowest, most detailed
atomic grain captured by the business process. (discussed last time)
• Each fact should be Additive, or re-designed to be as additive as possible.
• Each fact must be of the of the same granularity.
Dimensional Modeling Data Warehouse and Business Intelligence
Stat Player Game Shot Shots Points Pts Per Shooting Pct
ID (PK) ID ID Attempts Made Shot
1 Jordan 1 3 2 5 1.667 0.667
2 Jordan 2 7 6 12 1.714 0.583
3 Miller 1 2 0 0 0.000 0.000
4 Miller 2 5 3 9 1.800 0.600
5 Miller 1 2 0 0 0.000 0.000
Poor Choice
Can you find the 3 things wrong with
of FK (or PK) the implementation of this fact table?
Dimensional Modeling Data Warehouse and Business Intelligence
Prod Id Prod Name Prod Cat Prod Price Prod Region Code
Prod Id Prod Name Prod Cat Prod Price Prod Reg Code
Not Discretely
Valued Poor Data Incomplete
Quality
Dimensional Modeling Data Warehouse and Business Intelligence
• Surrogate keys (identities, sequences e.g. 1,2,3,…) are used for the
primary key constraint.
• They yield best performance for the Star Schema
• most efficient joins,
• smaller indexes in fact table,
• more rows per block in the fact table
• They have no dependency on primary key in operational source data.
• Makes it easier to deal with changes to the source data.
• Dimension table requires a natural key or business key to identify a
unique row.
• Ex: Customer’s email address, Employee’s ID number.
Dimensional Modeling Data Warehouse and Business Intelligence
Conformed Dimensions
Subset
Degenerate Dimensions
4 Popular strategies
Type 1: Overwrite the existing attribute
Type 2: Add a new Dimension row
Type 3: Add a new Dimension attribute -
Mini-Dimension: Add a new Dimension
Type 1: Overwrite
• Appropriate for:
• correcting mistakes or errors in data
• changes where historical associations do not matter
• the old value has no significance
• If the previous value matters, don’t use this strategy. You are
rewriting history.
• Problems will occur with data aggregated on old values.
• Ex. Employee Name Changes, Corrections, Natural Key Edits.
Dimensional Modeling Data Warehouse and Business Intelligence
Role-Playing Dimensions
Junk Dimensions
• Miscellaneous Flags and text attributes which do not fit within any
other dimension.
• Do Not make a Dimension for each one.
• Instead place them in their own “Junk” dimension
Invoice Payment Order Ship
Indicator Id Terms Mode Mode
Hierarchies in Dimensions
Multi-Valued Dimensions
1. Events or
Transactions Transaction
(single event)
2. Workflows a.k.a.
Accumulating
Accumulating Snapshots Snapshot
(Events over Time)
3. Points in time a.k.a
Periodic Snapshots Periodic
Snapshot
(point in time)
Dimensional Modeling Data Warehouse and Business Intelligence
Questions
• Next time:
• Physical Design
• Reading:
• Kimball Ch. 6 & 7
• Group discussion:
• https://ecourse.del.ac.id/
58