SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
AN AGILE MODELING TECHNIQUE USING THE SIXTH NORMAL FORM
     FOR STRUCTURALLY AND TEMPORALLY EVOLVING DATA
                      Lars Rönnbäck
                          [ER09]
“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         2009
Entity
            Relationship
            Modeling



                           Sixth
                           Normal
                           Form




 Temporal
Databases
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
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
1   2                                  3

4                         5




        All previous versions of the
        schema are present and
        were never modified,
        allowing extensions to be
        made ”online”.
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
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.
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)
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)
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

Mais conteúdo relacionado

Semelhante a Anchor Modeling ER09 Presentation

SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 OverviewDavid Chou
 
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...Michael M David
 
D3 meetup (Backbone and D3)
D3 meetup (Backbone and D3)D3 meetup (Backbone and D3)
D3 meetup (Backbone and D3)Alpine Data
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Michael Rys
 
Meetup cassandra for_java_cql
Meetup cassandra for_java_cqlMeetup cassandra for_java_cql
Meetup cassandra for_java_cqlzznate
 
Cassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingCassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingVassilis Bekiaris
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorialAxmed Mo.
 
EclipseCon 2021 NoSQL Endgame
EclipseCon 2021 NoSQL EndgameEclipseCon 2021 NoSQL Endgame
EclipseCon 2021 NoSQL EndgameThodoris Bais
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturesDave Stokes
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed Indiarsnarayanan
 
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...Citus Data
 
NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandrarantav
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersMichael Rys
 
#Free #Demo from #SQLSchool #Training #Institute
#Free #Demo from #SQLSchool #Training #Institute#Free #Demo from #SQLSchool #Training #Institute
#Free #Demo from #SQLSchool #Training #InstituteSequelGate
 

Semelhante a Anchor Modeling ER09 Presentation (20)

SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 Overview
 
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
 
SQLFire Webinar
SQLFire WebinarSQLFire Webinar
SQLFire Webinar
 
D3 meetup (Backbone and D3)
D3 meetup (Backbone and D3)D3 meetup (Backbone and D3)
D3 meetup (Backbone and D3)
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)
 
Ef code first
Ef code firstEf code first
Ef code first
 
Meetup cassandra for_java_cql
Meetup cassandra for_java_cqlMeetup cassandra for_java_cql
Meetup cassandra for_java_cql
 
Cassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingCassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series Modeling
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorial
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorial
 
EclipseCon 2021 NoSQL Endgame
EclipseCon 2021 NoSQL EndgameEclipseCon 2021 NoSQL Endgame
EclipseCon 2021 NoSQL Endgame
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven Features
 
Ef code first
Ef code firstEf code first
Ef code first
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed India
 
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...
Data Modeling, Normalization, and De-Normalization | PostgresOpen 2019 | Dimi...
 
NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandra
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for Developers
 
#Free #Demo from #SQLSchool #Training #Institute
#Free #Demo from #SQLSchool #Training #Institute#Free #Demo from #SQLSchool #Training #Institute
#Free #Demo from #SQLSchool #Training #Institute
 

Mais de pajo01

Practice Research
Practice ResearchPractice Research
Practice Researchpajo01
 
Unified Service Theory and Perspectives on Services
Unified Service Theory and Perspectives on ServicesUnified Service Theory and Perspectives on Services
Unified Service Theory and Perspectives on Servicespajo01
 
BPM in crisis
BPM in crisisBPM in crisis
BPM in crisispajo01
 
Tharaka phd presentation2010
Tharaka phd presentation2010Tharaka phd presentation2010
Tharaka phd presentation2010pajo01
 
Mturi licentiate presentation
Mturi licentiate presentationMturi licentiate presentation
Mturi licentiate presentationpajo01
 
Göran Goldkuhl on Practice Research
Göran Goldkuhl on Practice ResearchGöran Goldkuhl on Practice Research
Göran Goldkuhl on Practice Researchpajo01
 
2:a generationens sociala medier
2:a generationens sociala medier2:a generationens sociala medier
2:a generationens sociala medierpajo01
 
Enterprise2
Enterprise2Enterprise2
Enterprise2pajo01
 
Social Media KTH X
Social Media KTH XSocial Media KTH X
Social Media KTH Xpajo01
 
Design Science Introduction
Design Science IntroductionDesign Science Introduction
Design Science Introductionpajo01
 
Tenta I S1dec08
Tenta I S1dec08Tenta I S1dec08
Tenta I S1dec08pajo01
 
I S1 Lesson3 Solution Sketch
I S1 Lesson3 Solution SketchI S1 Lesson3 Solution Sketch
I S1 Lesson3 Solution Sketchpajo01
 
Processes I S1 H T08
Processes I S1 H T08Processes I S1 H T08
Processes I S1 H T08pajo01
 
K K I S109
K K I S109K K I S109
K K I S109pajo01
 
I S1 Lesson2 Solution Sketch
I S1 Lesson2 Solution SketchI S1 Lesson2 Solution Sketch
I S1 Lesson2 Solution Sketchpajo01
 
Tenta I S1okt09 New
Tenta I S1okt09 NewTenta I S1okt09 New
Tenta I S1okt09 Newpajo01
 
Value Encounters by Hans Weigand
Value Encounters by Hans WeigandValue Encounters by Hans Weigand
Value Encounters by Hans Weigandpajo01
 

Mais de pajo01 (17)

Practice Research
Practice ResearchPractice Research
Practice Research
 
Unified Service Theory and Perspectives on Services
Unified Service Theory and Perspectives on ServicesUnified Service Theory and Perspectives on Services
Unified Service Theory and Perspectives on Services
 
BPM in crisis
BPM in crisisBPM in crisis
BPM in crisis
 
Tharaka phd presentation2010
Tharaka phd presentation2010Tharaka phd presentation2010
Tharaka phd presentation2010
 
Mturi licentiate presentation
Mturi licentiate presentationMturi licentiate presentation
Mturi licentiate presentation
 
Göran Goldkuhl on Practice Research
Göran Goldkuhl on Practice ResearchGöran Goldkuhl on Practice Research
Göran Goldkuhl on Practice Research
 
2:a generationens sociala medier
2:a generationens sociala medier2:a generationens sociala medier
2:a generationens sociala medier
 
Enterprise2
Enterprise2Enterprise2
Enterprise2
 
Social Media KTH X
Social Media KTH XSocial Media KTH X
Social Media KTH X
 
Design Science Introduction
Design Science IntroductionDesign Science Introduction
Design Science Introduction
 
Tenta I S1dec08
Tenta I S1dec08Tenta I S1dec08
Tenta I S1dec08
 
I S1 Lesson3 Solution Sketch
I S1 Lesson3 Solution SketchI S1 Lesson3 Solution Sketch
I S1 Lesson3 Solution Sketch
 
Processes I S1 H T08
Processes I S1 H T08Processes I S1 H T08
Processes I S1 H T08
 
K K I S109
K K I S109K K I S109
K K I S109
 
I S1 Lesson2 Solution Sketch
I S1 Lesson2 Solution SketchI S1 Lesson2 Solution Sketch
I S1 Lesson2 Solution Sketch
 
Tenta I S1okt09 New
Tenta I S1okt09 NewTenta I S1okt09 New
Tenta I S1okt09 New
 
Value Encounters by Hans Weigand
Value Encounters by Hans WeigandValue Encounters by Hans Weigand
Value Encounters by Hans Weigand
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

Anchor Modeling ER09 Presentation

  • 1. AN AGILE MODELING TECHNIQUE USING THE SIXTH NORMAL FORM FOR STRUCTURALLY AND TEMPORALLY EVOLVING DATA Lars Rönnbäck [ER09]
  • 2. “You can never step into the same river twice.” 2
  • 3. DW MDM EDW DW TDWI KTH/SU CC WWW DW ER09 2003 2004 2005 2006 2007 2008 2009
  • 4. Entity Relationship Modeling Sixth Normal Form Temporal Databases
  • 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. 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. 1 2 3 4 5 All previous versions of the schema are present and were never modified, allowing extensions to be made ”online”.
  • 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. 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. 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. 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. 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