Category Archives: Data Modeling

picture denoting insight

IT Reflections

picture by Chamblin1 via Flickr

I’m going to do something different this month and reflect on some observations of the IT industry. My comments will focus on database-related topics. This is a smattering of ideas that is not intended to be comprehensive. I’m hoping that this article will stimulate dialogue. I welcome comments on my opinions as well as your own insights.

Continue reading IT Reflections

Derived Data

Be Careful with Derived Data

picture by Sir.I via Flickr

We often perform database reverse engineering as part of our consulting work. We have found that it’s common for databases to contain derived data. Derived data is data that can be computed from other base data. Often, the storing of derived data is a mistake and it would have been better if developers instead computed on the fly.

Continue reading Be Careful with Derived Data

Revised ERwin model after DBRE

A Database Reverse Engineering Case Study

In a blog last year we discussed database archaeology, which is another name for database reverse engineering. Reverse engineering is the inverse to normal development. We start with an application and work backwards to understand the software and infer its content.

This month we’ll take a further look at database reverse engineering, from the perspective of a simple case study. We’ll reverse engineer the database beneath WordPress and populated with a snapshot of the data for this website. The case study illustrates mechanics and the kinds of insights that reverse engineering can provide.

Continue reading A Database Reverse Engineering Case Study

Runners as a metaphor for agile

Agile Techniques Are Helpful with Databases

picture by Kanban Tool via Flickr

I’ve been practicing agile database techniques for about twenty years now. My use of agile techniques didn’t start as an explicit plan. Rather it evolved over time as I was working on consulting projects. It made sense to look for ways of working faster and better and with greater customer interaction.

I can think of at least three kinds of agile database techniques.

  • For data modeling.
  • For data warehouse development.
  • For database reverse engineering.

Continue reading Agile Techniques Are Helpful with Databases

Focus on Quality

Operational Model Quality

picture by xianrendujia via Flickr

Quality is an underappreciated aspect of data models. The purpose of a model is not just to capture the business requirements, but also to represent them well. A high quality model lessens the complexity of development, reduces the likelihood of bugs, and enhances the ability of a database to evolve. There are both qualitative and quantitative measures of quality.

This is the first of a two-part series. This blog discusses quality for day-to-day operational applications. Next month’s blog will discuss data warehouses.

Continue reading Operational Model Quality