SID and Database Design

Share |

Was back in the US again this past week teaching near Denver.  Celebrated Cinco de Mayo at a great little Mexican restaurant in Lakewood, Colorado, where I enjoyed Puerco Adobado, marinated pork in spices.  Here’re the links to the restaurant and a recipe in case you want to try a true taste of Mexico...

http://tapatiomexican.com/index.html

http://www.astray.com/recipes/?show=Chuletas%20de%20puerco%20adobados

The recipe calls for pounding the port flat, which is something to consider when implementing the SID from a database perspective.  As a technology-neutral information model, the “I” component of the SID has never been intended to be implemented as-is.   Parts of the SID include multi-level class hierarchies that are not necessarily suitable for one-to-one SID entity to database table implementation.  There are three options (at least) that are open to database designers.  From a visual perspective, you can think of collapsing a hierarchy:

1.       From the top down – collapsing all super-classes into the lowest level classes

2.       From the bottom up – collapsing all sub-classes into the highest level super-class

3.       From the top and bottom to some intermediate class – hopefully the visual is apparent.

There are considerations that should be taken into account for each option, some of which are included here.  There are certainly others.  Option one results in duplication of attributes; therefore, if the properties of the attribute change, care must be taken to ensure they are change across all the tables.  Option 2 results in many attributes and associations that were “required” in a subclass to become “optional” in the super-class.  The conditions under which the attributes and associations are still required must be carefully documented.  Considerations associated with the third option include those of both option 1 and 2.

The SID is a non-redundant decomposition of information, meaning that many entities, such as Individual Name and Location, are only modeled once.  This ensures consistency of how these entities are represented in the model.  This does not mean they have to be implemented this way.  For example, it is not required to implement a single set of database tables that contains address information.  It is certainly acceptable to include address information as part of a Customer database or a Resource Inventory database.

As a final, but certainly not the last consideration is how to implement the “Characteristics” included in the SID.  First, the specification part of the model should be cached in some way to ensure acceptable performance.  And, although Characteristics are duplicated across a number of domains (this practice will no longer be continued in the SID), a single set of shareable tables can certainly be implemented.  The Characteristic model that is contained in the Root Business Entity ABE in the Common Business Entity domain can be used as a “template” for this.  If there is a concern about performance, an implementation could include a set of tables for each domain, shareable by entities where Characteristics are used by entities within a domain.

I’ll be off to Management World Nice next week, hopefully, I’ll have time to blog from there!  The topic most likely will be a follow up on this one that talks about how implementation changes introduced in database design and API design can conform to the SID


Posted 05-10-2010 1:28 AM by John Reilly

Comments

TM Forum Training wrote Model, Database, and API Conformance to the SID
on 05-23-2010 10:08 PM

Back from the hugely successful Nice Management World conference, sitting here thinking about Pizza Coco

TM Forum Training wrote Model, Database, and API Conformance to the SID
on 05-24-2010 10:20 AM

Back from the hugely successful Nice Management World conference, sitting here thinking about Pizza Coco

Salini Joseph wrote re: SID and Database Design
on 05-17-2011 12:18 AM

I am new to SID.

Can you please Explain in detail how to proceed with database design?

John Reilly wrote re: SID and Database Design
on 05-17-2011 11:01 AM

Howdy, Joseph...did the blog not help?  First you would need to import the SID into a UML tool and then follow some of the advice provided in the blog.  Then use whatever technique you employ today to transform the UML model to a database model.

We welcome your feedback! To comment on this blog post please either Log-In or Register to the TM Forum Community

Paid Advertisement
About TM Forum
Introduction, History, Board, Management Team...
Membership
How to Join, Benefits, Member List...
Community
Community Home, Groups & Teams, Blogs...
Conferences
Event Calendar, Management World, Supported Events...
Training & Webcasts
Upcoming Training Courses, Upcoming Webinars, Podcasts, On-Demand Webcasts...
Initiatives
Cable, Enabling Cloud Services, Government and Defense...
Best Practices & Standards
Frameworx, Business Process Framework (eTOM), Information Framework (SID)...
Resources
Document Library, Case Studies, White Papers
Research & Publications
Business Benchmarking, Newsletters, Insights Research...
Copyright © 1988-2012, TeleManagement Forum. All Rights Reserved
Contact Us
Careers with TM Forum
News Room
Privacy Policy
Terms of Use
Sitemap