Sunday, May 25, 2014

How Does the Database Influence the Data Modeling Approach? | LinkedIn Group: Data Modeling

Follow the LinkedIn discussion

My comment

Based on the 4 primary steps suggested by Rémy [Fannader] (even considering that each of us may have slightly different convictions how to exactly mark off these steps against each other), the answer should be:
  • Conceptual: not influenced by the target database 
  • Normalized logical: not influenced by the target database
  • Denormalized logical: only influenced by the architecture / type of concepts that the database supports (doesn't support), e.g. nested table, materialized view
  • Physical: completely influenced by the target database, e.g. physical names, database-specific storage parameters.
On an additional note: To follow the above 4-level procedure effectively and efficiently, it is indispensable to use a professional data modeling tool that not only, but particularly allows to
  • Define, keep and maintain the above development levels
  • Propagate (cascade) applicable modifications to the next level(s)
  • Generate the DDL from the physical level. 

Wednesday, May 7, 2014

How to Identify Parent / Child Role of an Entity in a Data Model Diagram Using "Information Engineering" Notation | LinkedIn Group: Data Modeling

Follow the LinkedIn discussion

My comment

Presuming that many-to-many relationships have been resolved as (binary) one-to-many relationships, there are two ways to communicate / express relationships, as 
  • One-to-many relationships (or optional-one-to-one)
and/or
  • Parent-child relationships [Child entity is the side of the relationship where the foreign key (constraint) will be added.]
However, provided that the integrity of the model has been positively verified, these two ways are synchronized, i.e. the role of the parent entity and of the child entity in a given one-to-many (or optional-one-to-mandatory-one) relationship can be derived following the rule "a mother can have many children, but a child has a maximum of one mother". 

The exception to this rule is an optional-one-to-optional-one relationship which needs further specification about the parent or child role of the participating entities.

For this latter case (or an interim state where the integrity of the model has not been verified yet), an Entity-Relationship diagram in Information Engineering notation only expresses the multiplicities of a relationship, but does not offer any "standard" indication about the parent / child role of an entity in a relationship.


Therefore, I suggest to use a data modeling tool that allows you to e.g. additionally display the name of the child direction close to the respective side of the relationship connector.


Once the model is verified and ready to generate foreign keys, the latter ones will graphically identify the child role of an entity in a relationship.