Transcription

IBMLData Modeling Techniques for Data WarehousingChuck Ballard, Dirk Herreman, Don Schau, Rhonda Bell,Eunsaeng Kim, Ann ValencicInternational Technical Support 0

IBMLInternational Technical Support OrganizationSG24-2238-00Data Modeling Techniques for Data WarehousingFebruary 1998

Take Note!Before using this information and the product it supports, be sure to read the general information inAppendix B, “Special Notices” on page 183.First Edition (February 1998)Comments may be addressed to:IBM Corporation, International Technical Support OrganizationDept. QXXE Building 80-E2650 Harry RoadSan Jose, California 95120-6099When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in anyway it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1998. All rights reserved.Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure issubject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.

ContentsFigures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ixTables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiPreface. . . . . . . . . . . . . . . .The Team That Wrote This Redbook. . . . . . . .Comments WelcomeChapter 1. Introduction . . . . .1.1 Who Should Read This Book1.2 Structure of This Book . . .Chapter 2. Data Warehousing2.1 A Solution, Not a Product2.2 Why Data Warehousing?. . . . . .2.3 Short History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chapter 3. Data Analysis Techniques3.1 Query and Reporting . . . . . . . . .3.2 Multidimensional Analysis3.3 Data Mining . . . . . . . . . . . .3.4 Importance to Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chapter 4. Data Warehousing Architecture and Implementation Choices4.1 Architecture Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.1.1 Global Warehouse Architecture . . . . . . . . . . . . . . . . . . .4.1.2 Independent Data Mart Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.1.3 Interconnected Data Mart Architecture4.2 Implementation Choices . . . . . . . . . . . . . . . . . . . . . . . . . .4.2.1 Top Down Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.2.2 Bottom Up Implementation4.2.3 A Combined Approach . . . . . . . . . . . . . . . . . . . . . . . .Chapter 5. Architecting the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.1 Structuring the Data. . . . . . . . . . . . . . . . . . . . . . . .5.1.1 Real-Time Data5.1.2 Derived Data . . . . . . . . . . . . . . . . . . . . . . . . . .5.1.3 Reconciled Data . . . . . . . . . . . . . . . . . . . . . . . .5.2 Enterprise Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2.1 Phased Enterprise Data Modeling5.2.2 A Simple Enterprise Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2.3 The Benefits of EDM. . . . . . . . . . . . . . . . . . . . . .5.3 Data Granularity Model5.3.1 Granularity of Data in the Data Warehouse . . . . . . . .5.3.2 Multigranularity Modeling in the Corporate Environment5.4 Logical Data Partitioning Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.4.1 Partitioning the Data5.4.1.1 The Goals of Partitioning . . . . . . . . . . . . . . . .5.4.1.2 The Criteria of Partitioning . . . . . . . . . . . . . . .5.4.2 Subject Area . . . . . . . . . . . . . . . . . . . . . . . . . . Copyright IBM Corp. 1998. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242424252526272828303031313132iii

Chapter 6. Data Modeling for a Data Warehouse. . . .6.1 Why Data Modeling Is Important . . . . . . . . . . . .Visualization of the business world . . . . . . . .The essence of the data warehouse architectureDifferent approaches of data modeling . . . . . .6.2 Data Modeling Techniques . . . . . . . . . . . . . . .6.3 ER Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.3.1 Basic Concepts6.3.1.1 Entity . . . . . . . . . . . . . . . . . . . . . . .6.3.1.2 Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.3.1.3 Attributes6.3.1.4 Other Concepts . . . . . . . . . . . . . . . . .6.3.2 Advanced Topics in ER Modeling . . . . . . . . .6.3.2.1 Supertype and Subtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.3.2.2 Constraints6.3.2.3 Derived Attributes and Derivation Functions6.4 Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.4.1 Basic Concepts6.4.1.1 Fact . . . . . . . . . . . . . . . . . . . . . . . .6.4.1.2 Dimension . . . . . . . . . . . . . . . . . . . .Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Dimension Hierarchies6.4.1.3 Measure . . . . . . . . . . . . . . . . . . . . .6.4.2 Visualization of a Dimensional Model . . . . . . . . . . . . . . . . .6.4.3 Basic Operations for OLAP. . . . . . . . . . . .6.4.3.1 Drill Down and Roll Up. . . . . . . . . . . . . . . . .6.4.3.2 Slice and Dice6.4.4 Star and Snowflake Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.4.4.1 Star Model6.4.4.2 Snowflake Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.4.5 Data Consolidation6.5 ER Modeling and Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chapter 7. The Process of Data Warehousing. . . . . . . . . . . . . . . . . . . . . . . . . . . .7.1 Manage the Project. . . . . . . . . . . . . . . . . . . . . .7.2 Define the Project. . . . . . . . . . . . . . . . . .7.3 Requirements Gathering7.3.1 Source-Driven Requirements Gathering . . . . . . .7.3.2 User-Driven Requirements Gathering . . . . . . . . . . . . . . . . . . . . . . .7.3.3 The CelDial Case Study7.4 Modeling the Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.4.1 Creating an ER Model7.4.2 Creating a Dimensional Model . . . . . . . . . . . .7.4.2.1 Dimensions and Measures . . . . . . . . . . . . . . . . . . . . . . .7.4.2.2 Adding a Time Dimension. . . . . . . . . . . . . . . . . . .7.4.2.3 Creating Facts7.4.2.4 Granularity, Additivity, and Merging Facts . . .Granularity and Additivity . . . . . . . . . . . . . . . .Fact Consolidation . . . . . . . . . . . . . . . . . . . .7.4.2.5 Integration with Existing Models . . . . . . . . .7.4.2.6 Sizing Your Model . . . . . . . . . . . . . . . . .7.4.3 Don′t Forget the Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.4.4 Validating the Model7.5 Design the Warehouse . . . . . . . . . . . . . . . . . . . .7.5.1 Data Warehouse Design versus Operational DesignivData Modeling Techniques for Data Warehousing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566686969

7.5.2 Identifying the Sources . . . . . .7.5.3 Cleaning the Data . . . . . . . . .7.5.4 Transforming the Data . . . . . .7.5.4.1 Capturing the Source Data .7.5.4.2 Generating Keys . . . . . . .7.5.4.3 Getting from Source to Target7.5.5 Designing Subsidiary Targets . .7.5.6 Validating the Design . . . . . . . . . .7.5.7 What About Data Mining?7.5.7.1 Data Scoping . . . . . . . . . . . . . . . .7.5.7.2 Data Selection. . . . . . . .7.5.7.3 Data Cleaning7.5.7.4 Data Transformation . . . . .7.5.7.5 Data Summarization . . . . .7.6 The Dynamic Warehouse Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chapter 8. Data Warehouse Modeling Techniques. . . . . . . . . . . . . . . .8.1 Data Warehouse Modeling and OLTP Database Modeling8.1.1 Origin of the Modeling Differences . . . . . . . . . . . . . . . . .8.1.2 Base Properties of a Data Warehouse . . . . . . . . . . . . . . .8.1.3 The Data Warehouse Computing Context . . . . . . . . . . . . . . . . . . .8.1.4 Setting Up a Data Warehouse Modeling Approach8.2 Principal Data Warehouse Modeling Techniques . . . . . . . . . . .8.3 Data Warehouse Modeling for Data Marts . . . . . . . . . . . . . . .8.4 Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . .8.4.1 Requirements Gathering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8.4.1.1 Process Oriented Requirements. . . . . . . . . . . . .8.4.1.2 Information-Oriented Requirements8.4.2 Requirements Analysis . . . . . . . . . . . . . . . . . . . . . . . .8.4.2.1 Determining Candidate Measures, Dimensions, and FactsCandidate Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Candidate Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . .Candidate Facts. . . . . . . . . . .8.4.2.2 Creating the Initial Dimensional Model. . . . . . . . . . . . . . . .Establishing the Business DirectoryDetermining Facts and Dimension Keys . . . . . . . . . . . . . .Determining Representative Dimensions and Detailed VersusConsolidated Facts . . . . . . . . . . . . . . . . . . . . . . . . . .Dimensions and Their Roles in a Dimensional Model . . . . . . . . . . . . . . . . . . . . . . . . . .Getting the Measures Right. .Fact Attributes Other Than Dimension Keys and Measures8.4.3 Requirements Validation . . . . . . . . . . . . . . . . . . . . . . . . . .8.4.4 Requirements Modeling - CelDial Case Study Example8.4.4.1 Modeling of Nontemporal Dimensions . . . . . . . . . . . .The Product Dimension . . . . . . . . . . . . . . . . . . . . . . . .Analyzing the Extended Product Dimension . . . . . . . . . .Looking for Fundamental Aggregation Paths . . . . . . . . . .The Manufacturing Dimension . . . . . . . . . . . . . . . . . . . .The Customer Dimension . . . . . . . . . . . . . . . . . . . . . . .The Sales Organization Dimension . . . . . . . . . . . . . . . . .The Time Dimension . . . . . . . . . . . . . . . . . . . . . . . . . .8.4.4.2 Developing the Basis of a Time Dimension Model . . . . .About Aggregation Paths above Week . . . . . . . . . . . . . . .Business Time Periods and Business-Related Time AttributesMaking the Time Dimension Model More Generic . . . . . . . .7172727373747677777878787979798181. 82. 82. 84. 85. 86. 86. 88. 92. 93. 95. 96. 98. 98. 99100105105106. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7127128130131v

Flattening the Time Dimension Model into a Dimension TableThe Time Dimension As a Means for Consistency . . . . . . .Lower Levels of Time Granularity . . . . . . . . . . . . . . . . . . . . . . . . . . . .8.4.4.3 Modeling Slow-Varying DimensionsAbout Keys in Dimensions of a Data Warehouse . . . . . . . .Dealing with Attribute Changes in Slow-Varying DimensionsModeling Time-Variancy of the Dimension Hierarchy . . . . .8.4.4.4 Temporal Data Modeling . . . . . . . . . . . . . . . . . . .Preliminary Considerations . . . . . . . . .