Download presentation
Presentation is loading. Please wait.
Published byMark Fowler Modified over 9 years ago
1
MIS 451 Building Business Intelligence Systems Logical Design (1)
2
2 Project Planning Requirements Analysis Physical Design Logical Design Data Staging Data Analysis (OLAP)
3
3 Introduction to Dimensional Modeling Dimensional Modeling is a DW logical design technique that seeks to present data in a standard framework that is intuitive for data access and allows for high performance data access. Intuitive: easy to write SQL High performance: high performance SQL
4
4 ER Model Dimensional Model (Star Schema) For detailed information, please refer handout 1.
5
5 Introduction to Dimensional Modeling Analytical Report: 2-dimension January sales report by customer state and product category Query: list sales in Jan. by customer state and product category?
6
6 Introduction to Dimensional Modeling Query based on ER Model: Select State, PCName, SUM(Price*Quantity) From OrderLine OL, Customer C, Product_Category PC, Product P, Order O Where OL.OID = O.OID and OL.PID = P.PID and O.CID = C.CID and to_char(O.OrderDate,’MON’) = ’JAN’ and P.PCID = PC.PCID Group by State, PCName Join: 5 tables Query based on Dimensional Model: Select State, PCName, SUM(Sales) From Sales S, Customer C, Product P, Time T Where S.Time_ Key = T.Time_Key and S.Product_ Key = P.Product_Key and S.Customer_Key = C.Customer_Key and T.Month= ’JAN’ Group by State, PCName Join: 4 tables
7
7 Fact and Dimension Fact table Dimension table
8
8 Fact and Dimension There are two types of tables in dimensional modeling: Fact table: attributes in fact tables are measurements for analysis or contents in reports. Dimension table: attributes in dimension tables are constraints for the measurements or headers in reports. Dimensions Facts
9
9 Facts and Dimensions CriteriaFact AttributesDimension Attributes PurposeMeasurements for analysisConstraints for the measurements Reporting useReport contentRow or column report headers Data typeMost facts are numeric and additive. There are semi-additive or no-additive facts. Textual, descriptive SizeLarger number of recordsSmaller number of records
10
10 Facts and Dimensions How to identify facts and dimensions? Requirements Analysis: Analytical requirements: Marketing managers want to know sales performance for different product category in different states? Information requirements: quantity of product sold, sales amount, product category, and customer states ER Model
11
11
12
12 F1: Calculation F: refers to special considerations for fact table or special type of fact table
13
13 F1: Calculation Normalization in RDB 1NF 2NF 3NF Non-volatile property of data warehouse enables DW design to resist normalization and improve query performance.
14
14 D1: Slowly changing dimension D: refers to special considerations for dimension table or special type of dimension table
15
15 D1: Slowly changing dimension Values of attributes in dimension tables may evolve over time. For example, customers moved from one city to another city. CID CNameStateCity 101JonArizonaTucson 102TomArizonaTucson 103MarkArizonaPhoenix Tom moved from Tucson to Phoenix Phoenix
16
16 D1: Slowly changing dimension There are three ways to handle slowly changing dimension. Method 1: Overwrite old values with new values CID CNameStateCity 101JonArizonaTucson 102TomArizonaTucson 103MarkArizonaPhoenix CID CNameStateCity 101JonArizonaTucson 102TomArizonaPhoenix 103MarkArizonaPhoenix
17
17 D1: Slowly changing dimension Drawbacks of method 1: Historical information is totally lost. We will never know that customer 102 lived in Tucson before. Moreover, when listing sales by city, all the sales of customer 102 will be counted as part of Phoenix sales, although 102 was in Tucson before.
18
18 D1: Slowly changing dimension Method 2: Add a new attribute to record current value of the changing attribute. CID CNameStateCity 101JonArizonaTucson 102TomArizonaTucson 103MarkArizonaPhoenix CIDCNameStateOriginal CityCurrent City 101JonArizonaTucson 102TomArizonaTucsonPhoenix 103MarkArizonaPhoenix
19
19 D1: Slowly changing dimension Drawbacks of method 2: Only partial Historical information (original & current) is kept. Considering that customer 102 moved from Tucson to Flagstaff then to Phoenix, the customer information of customer 102 only includes Tucson and Phoenix.
20
20 D1: Slowly changing dimension Method 3: Add a record whenever a dimension attribute changes. CID CNameStateCity 101JonArizonaTucson 102TomArizonaTucson 103MarkArizonaPhoenix
21
21 D1: Slowly changing dimension Method 3 keep all the information. However, Is there any problem?
22
22 D1: Slowly changing dimension Method 4: warehouse key + method 3 Warehouse key is a sequence of non-negative integers served as primary keys of tables in data warehouse. CID CNameStateCity 101JonArizonaTucson 102TomArizonaTucson 103MarkArizonaPhoenix Warehouse key
23
23 D1: Slowly changing dimension Why warehouse key is needed in data warehouse? Solve slowly changing dimension problem Compared with natural keys (i.e., primary keys of tables in RDB, such as CID of customer table), warehouse keys have high join performance.
24
24 D1: Slowly changing dimension Warehouse key Primary keys in dimensional tables are warehouse keys. Primary key in fact table is a collection of warehouse keys of all/part of its associated dimensions.
25
25 D1: Slowly changing dimension Notation: Primary key
26
26 D2: Time Dimension D: refers to special considerations for dimension table or special type of dimension table
27
27 D2: Time Dimension Data warehouse needs an explicit time dimension table instead of just a time attribute (e.g, ORDERDATE). Besides the time attribute, time dimension table includes the following additional attributes: Day_of_week (1-7); Day_number_in_month (1-31); Day_number_in_year (1-365) Week_number (1-52); month (1-12), Quarter (1-4) Holiday_flag (y/n) Fiscal_quarter, Fiscal_year
28
28 D2: Time Dimension Time dimension can: Save computation effort and improve query performance Complex queries regarding calendar calculation are hidden from end users of data warehouse.
29
29 D3: Snowflake D: refers to special considerations for dimension table or special type of dimension table
30
30 D3: Snowflake Snowflake structure
31
31 D3: Snowflake Snowflake structure should be avoided in data warehouse design Tradeoff of avoiding snowflake Advantage: improve query performance Disadvantage: require more storage space
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.