Search This Blog

Friday, September 9, 2011

AX2012 Table Inheritance And Type Hierarchies

One of the huge, underlying changes from a architecture, and really database design point of view for Microsoft Dynamics AX 2012 is the use of Type or Table Hierarchies.

This is actually extending upon the type hierarchy system that already existed within Dynamics AX, however to a whole new level!

Looking at the AOT as a new add-in for Microsoft Dynamics AX 2012. Select Table right click -Addins->typehierarchies browser- which will show the heierarchies of that table.

With this concept, OO Design is being forced onto Relational data. I know, I know, that statement seems like it would be an oxymoron. I mean how can relation data truly be and live with OO attributes, design concepts, and adhere to such rules that govern things like: inheritance & polymorphism?

The answer to that is super normalization! That is what is taking place with Microsoft Dynamics AX 2012 and type hierarchies for Table objects.

Because Microsoft Dynamics AX 2012 manages it's relation database, through a meta layer, then through the combining of these two concepts, such things as inheritance and polymorphism can be applied.

So with this, we now have new attributes of tables, called: concrete or abstract, as well as if a table inherts from another table or not.

In doing this 'extending from' at a table level, the table that extends from an abstract table, inherits the fields and methods of the super or base table being inherited from.

This new approach along, plus just adhereing to BP, means that you should *never* access to the database of an Microsoft Dynamics AX 2012 instance directly. So many reasons why, and with Microsoft Dynamics AX 2012, so many more reasons will exists.

And this is true today actually, should not have direct access to the DB of an AX instance, however it's still done today in certain cases.

No comments:

Post a Comment

Thanks for visiting my blog,
I will reply for your comment within 48 hours.