dinsdag 21 februari 2012

Anchor modeling (Part I)

Introduction
One of the datawarehouse concepts anchor modeling, is an interesting approach. In the past i've written some blogposts about creating some Datavault models based on AdventureworksLT database and i would like to implement an Anchor model based on this small database. So, in the coming months you can expect some more blogposts about this modeling technique. But before i'll do this i'll go deeper into the fundamentals of Anchor modeling. Most of the information in this blogpost can be found on www.anchormodeling.com.

Background
Founders of the Anchor modeling are Olle Regardt and Lars Ronnback. Anchor Modeling is an agile database modeling technique suited for information that change over time both in structure and content. It provides a graphical notation used for conceptual modeling similar to that of Entity-Relationship modeling, with extensions for working with temporal data. The modeling technique is based around four modeling constructs: the anchor, attribute, tie and knot, each capturing different aspects of the domain being modeled. The resulting models can be translated to physical database designs using formalized rules. When such a translation is done the tables in the relational database will mostly be in the sixth normal form (Wikipedia)

Anchor Modeling has four basic modeling concepts:
  • Anchors. Anchors are used to model entities and events. This table only contains a surrogatekey. this table is comparable with the hub of the datavault model. But here is no need for a business key in the Anchor table in contrast with the datavault model.
  • Attributes.  
  • Ties. Ties model the relationships between anchors and this seems to be comparable with the Link table in Datavault.
  • Knots. Knots are used to model shared properties, such as states or gender..
Attributes and ties can be historized when changes in the information they model need to be kept.

Below an example of a model as used by the modeler:



Name convention
Below an explanation of the basic symbols that is used in Anchor modeling:
  •  This is the symbol for the Anchor. The naming convention is two letter mnemonic + Descriptor. For instance PE_Person, AD_Address or LO_Location.

  • This is the symbol for a Knot and the naming convention here is   three letter mnemonic + descriptor. Examples are GEN_Gender, STA_STATE, COU_Country

  • And this is the symbol for Attribute. Inherited Anchor mnemonic +  three letter mnemonic +  Inherited Anchor descriptor + descriptor. Examples are PE_SUR_Person_Surname.

  •  This is a symbol for Tie.   Two letter mnemonic  +  Anchor Descriptor +  Two letter mnemonic +   Anchor Descriptor

These are the basic symbols used by the modeler tool of www.anchormodeling.com.

Conclusion
It's too soon to draw some conclusions about the anchor modeling technique. This is modeling technique is currently under investigation by me. 

Greetz,
Hennie

Geen opmerkingen:

Een reactie plaatsen