Wednesday, January 24, 2018

Artificial intelligence will create more jobs than it eliminates

In reading the attached article I came to realize few will be prepared for this fundamental shift that Machine Learning and Artificial Intelligence will bring. The stable operators were ill prepared when the automobile became the preferred mode of transportation. The same is true in the IT industry. We are already feeling the effects of moving applications and databases to the cloud. Machine Learning and AI will only add to this disruption. Look to the horizon and prepare for the coming storm.

Information Management - Artificial intelligence will create more jobs than it eliminates

Monday, June 6, 2016

Is Traditional Data Modeling Still Important?

Early in my career database design/visualization tools were in their infancy and very expensive.  Because of this I used paper and pencil to define tables and columns, draw relationships, and worked through the normalization process.  I am a visual person and this helped me work out how the database would meet the requirements of the application that I was building.  In those days we were called programmer/analysts and we did everything including analysis, design, build, and support.  Any flaws in the design were made evident when programming was started.  I soon came to the realization that the design phase was critical in preventing problems in the application.   I also learned that a flexible design (one that would adapt to change) was also important going forward because as everyone knows change is constant.  I will cover flexible design in another blog.

When modeling tools became popular in the CASE tool era they automated the process of designing and building databases.  I threw out my chicken scratch on paper and enter the information into a visual tool that would allow me to design and refine the target implantation and then generate the scripts needed to build the database.  This eliminated the requirement to hand code it the build scripts. 

Data modeling and their tools serve several purposes.
  • They aid in the process of collecting and validating business information requirements.  
  • Relationship rules between data elements (entities) are identified and captured. 
  • Meta data (definitions) about entities and attributes are captured. 
  • The build process, including implementation details, is automated. 
  • Data models serve as a specification, build document, post implementation documentation, and communication tool. 


Data modeling results in a clear representation of the validated business information requirements and provides the ability to quickly create and re-create the physical implementation.  
A data modeler’s approach to designing databases is more holistic in nature.  Meaning that the implementation is not specific to one application (application independence).  This allows the multitude of applications, reports, query, data analysis, and interfaces to independently share the same data.  All of these needs are taken into consideration when the physical implementation is designed by the data modeler/architect.  One of Dr. Edgar F. Codd’s rules for relational databases states that “all data must be accessible” has helped in this area.  Gone is the need to develop complex programs to access data stored in obscure formats. 

Traditional RDBMS systems are still in use today and will not be going anywhere in the near future.  Structured data still has its place and continues to meet the needs of most applications.

So is data modeling still important for traditional RDBMS systems.  I would answer yes to that question.  Planning and design even in an agile environment is always better than hacking something together hoping that it will work.  Though not evident in the beginning, I had a design flaw in a system that I designed early in my career.  It took me several months of hard coding time to remove that flaw.   The design and build model still works today.  Now we just do it in smaller chunks.