Click to learn more about author Michael Blaha.
This will be the last blog I write for DATAVERSITY® as I am dealing with health issues. I have cancer but am fortunate to be receiving excellent medical care. With treatment my prognosis is good, but this affects my free time. Hence this will be my last blog.
First of all, I would like to thank you, my readers, for considering my blogs. It has been an honor to have a forum for publishing ideas and I appreciate the feedback I’ve received over the years. Also thank you to the folks at DATAVERSITY. Cumulatively, I’ve published nearly three years’ worth. Let’s revisit some of the topics.
Blogs Motivated by Consulting Experiences
Many of my early blogs were motivated by consulting experiences. Notably, it has been amazing to me how many organizations give vendors wide latitude with outsourcing. As the blog “Specify the Data Model and the Database Design” explains, clients should impose their own data models. The vendor must comply with the model and go through an approved process to make changes. This is a typical engineering practice.
Data models not only apply to databases but also apply to other data formats, as the blog “Why Doesn’t SOA Use Data Models?” explains. SOA provides a nice messaging format and the data model provides the big picture perspective that guides SOA content.
In general, I believe referential integrity is underutilized. The performance impact is generally small. The quality impact can be large. Given the complexity of software, any boost to quality is a huge win. Years ago, most developers seldom used referential integrity. I’m seeing more widespread use now. This is good.
Database Reverse Engineering
I often reverse engineer databases. There are many reasons. Sometimes I salvage ideas for consideration in new models. Reverse engineering can also be helpful for assessing database quality as an indicator of software quality. I had several blogs summarizing errors that I had found over the years, such as “More Database Design Errors – Confusion with Many-to-Many Relationships” that were popular with readers.
The two blogs on database grading present actual criteria that I’ve developed over the years. Business executives find it helpful to have a grade and supporting rationale.
The folks at DATAVERSITY tell me that the blog on “Debugging Complex SQL Queries” was especially popular. I must confess, that as an author, I am a poor judge of what is popular. I think the software community too often uses SQL in a degraded form and do not take advantage of its potential. With complex SQL comes the need to debug, hence the blog.
UML Related Blogs
Early in my career I worked at the GE Research Center in Schenectady NY for eight years. While there I was part of a team that developed an object-oriented notation that we used for both programming and databases. This notation was a precursor to the UML. In several blogs I explored ideas about how the UML relates to database models.
I continue to believe that the promise of databases is only just beginning. There is so much potential with conventional SQL alone, with operational databases and data warehouses. Big Data only enriches this picture.
With databases, it is important to construct quality data models. I have presented one approach to doing so based on the UML and conventional database notations such as IE. Other authors have different approaches that are also valuable. The bottom line is to think deeply about a problem, how to represent it, and devise a thoughtful solution.