implementing a data warehouse with sql server jump start
DESCRIPTION
Implementing a Data Warehouse with SQL Server Jump Start. Richard Currey | Senior Technical Trainer–New Horizons United George Sq ui l lace | Senior Technical Trainer–New Horizons Great Lakes. Meet Richard Currey. Senior Technical Trainer – New Horizons United - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/1.jpg)
Richard Currey | Senior Technical Trainer–New Horizons UnitedGeorge Squillace | Senior Technical Trainer–New Horizons Great Lakes
Implementing a Data Warehouse with SQL Server Jump Start
![Page 2: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/2.jpg)
Meet Richard Currey• Senior Technical Trainer – New Horizons United– Focused on database and development technologies– MCDBA, MCITP Dev / Admin / BI, MCSE Data
Platform, BI– MCSD, MCPD Web Developer, ASP .NET Developer,
Windows Developer
• 28 Years Industry Experience– Designed, developed and managed BI-centric
projects at several Fortune 500 organizations– Extensive consulting and project management
background
![Page 3: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/3.jpg)
Meet George SQUILLACE• Senior Technical Trainer – New Horizons Great
Lakes (20 Years)– “SQL” is in his name!– Focused on database technologies– MCT Since 1997
• 28 Years Industry Experience– SQL Server 2012: certified as MCSA, MCSE: Data
Platform, & MSCE: Business Intelligence– Certified in every version of SQL Server since SQL
2000– Certified in every version of Windows Server from
NT 4.0 through Windows Server 2008– Certified in Exchange Server 5.5 through Exchange
Server 2007
![Page 4: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/4.jpg)
Course Modules
Implementing a Data Warehouse with SQL Server01 | Design and Implement Dimensions and Fact Tables 04 | Control Flow
02 | Data Flow - Extract Data 05 | Configure and Deploy SSIS
03 | Data Flow - Transform Data 06 | Manage Enterprise Data
![Page 5: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/5.jpg)
Setting Expectations• Target Audience – Data warehousing specialists who want to expand their knowledge
of SQL Server Integration Services (SSIS) – Database professionals who want to take exam 70-463 and get
certified in data warehouse implementations
• Suggested Prerequisites/Supporting Material– SQL Server development experience and exposure to extract,
transform, and load (ETL) processes– Course 10777, Implementing a Data Warehouse with Microsoft SQL
Server 2012– MS Press Book: Training Kit (Exam 70-463): Implementing a Data
Warehouse with Microsoft SQL Server 2012
![Page 6: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/6.jpg)
Click to edit Master subtitle style01 | Design and Implement
Dimensions and Fact Tables
Richard Currey | Senior Technical Trainer–New Horizons UnitedGeorge Squillace | Senior Technical Trainer–New Horizons Great Lakes
![Page 7: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/7.jpg)
• Schema Design: Star vs. Snowflake• Facts and Fact Tables• Fact and Dimension Granularity• Conformed and Non-Conformed Dimensions• Time Dimensions
Module 1 Overview
![Page 8: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/8.jpg)
Topic: Schema Design: Star vs. Snowflake
![Page 9: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/9.jpg)
Topic: Schema Design: Star versus Snowflake• Star Schema• Snowflake Schema• Processing and Performance Considerations
![Page 10: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/10.jpg)
Star Schema• A star schema has a
single table for each dimension
• Each table supports all attributes for that dimension
• Typically a de-normalized solution
DimSalesPersonSalesPersonKeySalesPersonNameStoreNameStoreCityStoreRegion
DimProductProductKeyProductNameProductLineSupplierName
DimCustomerCustomerKeyCustomerNameCityRegion
FactOrdersCustomerKeySalesPersonKeyProductKeyShippingAgentKeyTimeKeyOrderNoLineItemNoQuantityRevenueCostProfit
DimDateDateKeyYearQuarterMonthDay
DimShippingAgentShippingAgentKeyShippingAgentName
![Page 11: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/11.jpg)
DEMOImplementing a Star Schema
![Page 12: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/12.jpg)
Snowflake Schema• More normalized
solution• Typically contains
multiple tables per dimension
• Each table contains dimension key, value, and the foreign key value for the parent
DimSalesPersonSalesPersonKeySalesPersonNameStoreKey
DimProductProductKeyProductNameProductLineKeySupplierKey
DimCustomerCustomerKeyCustomerNameGeographyKey
FactOrdersCustomerKeySalesPersonKeyProductKeyShippingAgentKeyTimeKeyOrderNoLineItemNoQuantityRevenueCostProfit
DimDateDateKeyYearQuarterMonthDay
DimShippingAgentShippingAgentKeyShippingAgentName
DimProductLineProductLineKeyProductLineName
DimGeographyGeographyKeyCityRegion
DimSupplierSupplierKeySupplierName
DimStoreStoreKeyStoreNameGeographyKey
![Page 13: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/13.jpg)
DEMOImplementing a Snowflake Schema
![Page 14: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/14.jpg)
Processing and Performance Considerations• Star schema requires de-normalization during the
load process– Can impact the ETL times
• Snowflake schema can increase dimension complexity– Can impact Analysis Services solutions, negatively
affecting cube performance
![Page 15: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/15.jpg)
Topic: Facts and Fact Tables
![Page 16: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/16.jpg)
Topic: Facts and Fact Tables• What Is a Fact?• Grouping Facts• What Is Granularity?• Design Considerations
![Page 17: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/17.jpg)
What Is a Fact?• Facts are the key metrics used to measure business
results:– Sales– Production– Inventory
• Can be additive, semi-additive, or non-additive
![Page 18: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/18.jpg)
Grouping Facts• Facts are grouped into fact tables• Related facts should be in the same fact table• Facts with different granularity should be in different
tables
![Page 19: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/19.jpg)
What Is Granularity?• Granularity refers to the level of detail in which facts
are recorded• Facts can be at different levels of granularity
![Page 20: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/20.jpg)
Design Considerations• Fact tables should have all keys relating to
dimensions• Primary key should be composite of all dimension
keys• Separate additive, semi-additive, and non-additive
facts
![Page 21: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/21.jpg)
Topic: Fact and Dimension Granularity
![Page 22: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/22.jpg)
Topic: Fact and Dimension Granularity• How to Determine Fact Granularity• Dimension Granularity
![Page 23: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/23.jpg)
How to Determine Fact Granularity• Granularity is determined based on business needs• Should be the lowest level of detail that needs to be
examined• If data from transactional systems has more detail
than needed for analysis, ETL should aggregate the details
![Page 24: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/24.jpg)
Dimension Granularity• Dimension granularity needs to be matched with fact
granularity• Each dimension has its own granularity• Fact tables are keyed to the granularity of the
dimensions
![Page 25: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/25.jpg)
Topic: Conformed and Non-Conformed Dimensions
![Page 26: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/26.jpg)
Topic: Conformed and Non-Conformed Dimensions• What Are Conformed and Non-Conformed
Dimensions?• Shared and Degenerate Dimensions• What Is a Slowly Changing Dimension?
![Page 27: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/27.jpg)
What Are Conformed and Non-Conformed Dimensions?• Conformed dimension– Shared by multiple fact tables– Used when all business users have the same definitions for
the dimension• Non-conformed dimension– Dimension table targeted to a single fact table– Used when dimensions have different definitions for
different business units
![Page 28: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/28.jpg)
DEMOCreating Conformed and Non-Conformed Dimensions
![Page 29: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/29.jpg)
Shared and Degenerate Dimensions• Shared dimension– Used by multiple facts– Dimension key is stored in the fact table– Dimension value is stored in the dimension table with
other attributes of that dimension• Degenerate dimension– Used by a single fact table– Dimension value is stored directly in the fact table– No corresponding dimension table
![Page 30: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/30.jpg)
What Is a Slowly Changing Dimension?• When the historical attribute values are retained if
the attributes are updated• Used when the organization does not want to lose
track of what actually happened– Example: customer moves from Connecticut to Seattle
• Slowly changing dimension types:– Type 1: Attribute history is not retained– Type 2: Attribute change creates a new record– Type 3: Original attribute value recorded and latest value
recorded with an effective date
![Page 31: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/31.jpg)
DEMOImplementing a Slowly Changing Dimension
![Page 32: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/32.jpg)
Topic: Time Dimensions
![Page 33: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/33.jpg)
Topic: Time Dimensions• Types of Time Dimensions• Time Dimensions and Hierarchies
![Page 34: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/34.jpg)
Types of Time Dimensions• Based on standard calendar breakdowns– Year => Month => Day– Year => Quarter => Week => Day
• Based on fiscal calendar– Year => Fiscal Quarter => Fiscal Month => Fiscal Week
=> Day• Time dimension needs to contain all hierarchy
elements to the lowest granularity for the fact tables
![Page 35: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/35.jpg)
Time Dimensions and Hierarchies• Establishes the “buckets” that the business uses• Typically there are multiple hierarchies in the
dimension– Calendar– Business
• Created using Microsoft Excel, scripts, or are auto-generated
![Page 36: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/36.jpg)
DEMOCreating a Time Dimension
![Page 37: Implementing a Data Warehouse with SQL Server Jump Start](https://reader033.vdocuments.us/reader033/viewer/2022061511/56816206550346895dd22bbb/html5/thumbnails/37.jpg)
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.