Skip to content

Background

webbhm edited this page May 12, 2021 · 8 revisions

My career in data modeling has spanned disciplines from aerospace (McDonnell-Douglas Aircraft), finance (A.G. Edwards brokerage), genomics and agriculture (Monsanto Corporation). Most of my time was with relational databases (Oracle), but I have also been involved with data warehouse design and No-SQL databases (Hadoop and Couch). I have very much enjoyed branching off into Ontology and related subjects.

The biggest influence on my thinking was a project to study efficacy across an entire research pipeline from discovery of new genetic material, through genomics and cloning, to field trials and production. This involved cleaning up data from disparate legacy systems into a standard format that supported a range of analytics and discovery. This was done in a productive collaboration with a group which was using Business Process Modeling for developing new systems.

Design and Patterns

Besides the traditional discipline of relational data modeling (Normalizing), the two big influences on my design philosophy have been Peter Coad's modeling patterns, and insights from Business Process Modeling. You will also find similarities with Data Warehouse star modeling. All of these sources see the 'heart' of the model being an activity (something associated with a data). Associated with this data are the 'who', 'what', 'where', 'when' (the date) and status of the activity.

  • Who is the participant and/or the subject. The participant is the person or thing performing the event (sensor taking a measurement), and the subject is what they are measuring (air, water, plant, etc.).
  • What is the attribute being measured, and the measurement value. It can also refer to the type of activity being performed (Environmental Measurment, Agronomic Activity, Phenotype Measurment, etc).
  • Where is the location of the activity
  • Status is a hierarchy of fields providing different levels of detail. Status indicates if the activity in process, finished or was canceled. Status qualifier indicates if the activity was a success or failure. Status qualifier reason is a list of why this activity failed. Comments can provide free text information not captured in the other fields.
Clone this wiki locally