Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Changing structure
Changing constraints
r e n ot
w e a
,
But e yet!
ther
What is a
Data Warehouse?
Integrates information from many sources
tim ion
adherence
er at
changes
e
ov rad
g
de
25%
55%
Entity-Relationship
one- Modeling
to-
one
Temporal Database
Emulation
History
Best Paper Award
@ ER09
Maria Petia
Lars Olle
Paul Wohed
Rnnbck Regardt Bergholtz research
Johannesson
DW
consulting
SU DW DKE GSE
DW MDM EDW DW TDWI WWW ER09 TOOL AMW
03 04 05 06 07 08 09 10 11
Philosophy
Make modeling free from assumptions
Changing structure
full support (through extensions) [non-destructive schema evolution]
Changing constraints
minimal support [only primary and foreign keys]
Changing interpretation
achievable [explicitly modeled]
Changing origins
restricted support [using metadata]
Changing reliability
restricted support [using metadata]
io n i n g Domain
Posit odeling
c h o rM driven
An
modeling
filled = primary
asynchronous insert
Note tha
t UPDAT
<#42, Sommare, 1982-03-01> never al
lowed or
E is
in an a needed
nchor d
atabase
Point-in-time perspective
Shows information as it was on the given timepoint
Interval perspective
Shows information changes that happened within the
given interval
Natural perspective
Converts natural to surrogate identities
(for composite identities these may span over several anchors)
Table elimination
A table T can be removed from the
execution plan if:
p e c ti v es
r a l p ers
e te m po ts f r o m
Th b e n ef i
a l l
regain
6NF!
Indexing
All primary indexes are clustered indexes
(index organized tables) which use no extra
space
clustered
index on
identity +
historization
!"
#
#
Example
model
Chang
es becom
of the e e exten
xisting sions
schema
"#
"$#
!
" #
"#
Schema
all previous versions of the schema are
evolution available as subsets of the current schema
Tracking changes
_Schema
Table containing the schema in XML format
and when it was activated
_Evolution
Table-valued function comparing the schema
valid at the given timepoint with the current
database tables
Modeling anchors
Guideline 1: Use anchors for modeling core
entities and transactions.
relational implementation:
anchor
Modeling attributes
Guideline 2a: Use a historized attribute if
versioning of attribute values are of
importance, otherwise use a static attribute.
relational implementation:
historized static
attribute attribute
Modeling attributes
Guideline 2b: Use a knotted static attribute
if attribute values represent categories or
can take on only a fixed small set of values,
otherwise use a static attribute.
relational implementation:
relational implementation:
relational implementation:
relational implementation:
relational implementation:
Online (HTML5)
Free to use
In the Cloud
O!
XML Interchange Format DEM
OLTP-like requirements
Insert trigger on the latest view where
an identity is created if not provided
DW/OLAP-like requirements
Stored procedure generating the given
number of identities
@ a n c h o r m odeling .com
ail: lars.r o n n b a c k
E-m
LinkedIn Groups:
Anchor Modeling
Temporal Data Modeling
Temporal Data