AN AGILE MODELING TECHNIQUE USING THE SIXTH NORMAL FORM
     FOR STRUCTURALLY AND TEMPORALLY EVOLVING DATA
               ...
“You can never step
     into the same river
     twice.”




2
DW     MDM    EDW    DW     TDWI   KTH/SU    CC    WWW   DW     ER09
2003   2004   2005   2006   2007            2008     ...
Entity
            Relationship
            Modeling



                           Sixth
                           Normal...
Customer                                      Gender
Store                                         CustomerClass
Purchase ...
select top 5 * from CU_Customer                 select top 5 * from GEN_Gender

CU_ID                                     ...
1   2                                  3

4                         5




        All previous versions of the
        sch...
Joins all attributes and finds the
                                 attribute row with the latest
                        ...
YearOfBirth   Customers
                                      1950          20615
                                      19...
The query optimizer will remove table T from the            Support
execution plan of a query if the following two conditi...
The scripts for setting up
                                                         the database, including all
          ...
Ease of Modeling                           Simplified Maintenance
Simple concepts and notation               Ease of tempo...
Upcoming SlideShare
Loading in …5
×

Anchor Modeling ER09 Presentation

2,072 views
1,889 views

Published on

Presentation slides for the Anchor Modelling paper at ER 2009

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,072
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Anchor Modeling ER09 Presentation

  1. 1. AN AGILE MODELING TECHNIQUE USING THE SIXTH NORMAL FORM FOR STRUCTURALLY AND TEMPORALLY EVOLVING DATA Lars Rönnbäck [ER09]
  2. 2. “You can never step into the same river twice.” 2
  3. 3. DW MDM EDW DW TDWI KTH/SU CC WWW DW ER09 2003 2004 2005 2006 2007 2008 2009
  4. 4. Entity Relationship Modeling Sixth Normal Form Temporal Databases
  5. 5. Customer Gender Store CustomerClass Purchase HouseholdOwner Item VisitingFrequencyInterval PriceList Inventory Customer_Address Customer_Household CustomerDateOfBirth Card_Customer CustomerNumber CustomerName Attributes and ties CustomerGender come in four flavors, historized or static combined with knotted
  6. 6. select top 5 * from CU_Customer select top 5 * from GEN_Gender CU_ID GEN_ID GEN_Gender 1 1 Male 2 2 Female 3 4 5 select top 5 * from CUDOB_CustomerDateOfBirth select top 5 * from CUHH_Customer_Household CU_ID CUDOB_CustomerDateOfBirth CU_ID HH_ID HOW_ID CUHH_FromDate 1 1905-03-02 1 1 1 2009-02-13 2 1905-07-02 1 895 0 2009-09-21 3 1908-09-14 2 2 1 2006-10-17 4 1910-02-03 3 3 1 2002-08-20 5 1912-04-01 4 4 1 1993-08-29
  7. 7. 1 2 3 4 5 All previous versions of the schema are present and were never modified, allowing extensions to be made ”online”.
  8. 8. Joins all attributes and finds the attribute row with the latest FromDate earlier or on the given timepoint if historized Joins all attributes and finds the attribute row with the latest FromDate if historized
  9. 9. YearOfBirth Customers 1950 20615 1951 19282 1952 20003 1953 19782 1954 19249 The query execution plan shows that only two tables are touched (the anchor and the selected attribute) despite of the fact that several others are joined into the view we are using.
  10. 10. The query optimizer will remove table T from the Support execution plan of a query if the following two conditions Microsoft SQL Server are fulfilled: Oracle IBM DB2 i. no column from T is explicitly selected PostgreSQL ii. the number of rows in the returned data set is not MariaDB (fork of MySQL) affected by the join with T Teradata (partial)
  11. 11. The scripts for setting up the database, including all views and functions, can be automatically generated from a compact XML description. Pseudo loading code given ”wide” source data: o Check if there already is an associated surrogate key for each natural key o For unknown individuals o Create and associate surrogate keys o Directly insert data into all relevant tables (most tables including the anchor) Data loading templates o For known individuals can be made in which o If this is a delta file, directly insert data into all only the names of the relevant tables o If this is not a delta file, check if the value in tables and the join with the source differs from the latest value in the the natural key have to destination and insert if the data is new be changed. (few tables excluding the anchor)
  12. 12. Ease of Modeling Simplified Maintenance Simple concepts and notation Ease of temporal querying Historization by design Absence of null values Iterative and incremental development Reusability and automation Reduced translation logic Asynchronous arrival of data High Performance High run-time performance Efficient storage Parallelized physical media access www.anchormodeling.com

×