Data modeling

A few days ago I gave a presentation called “Introduction to data modeling”. It was a great opportunity to highlight the main aspects of a data model and why this one is important in every IT project. Based on the experience that I have in my project, I’ve highlighted ​that one of the most important parts of every IT project lies in the data and how this one is managed, therefore to have a data model is extremely important.

Several tools can be used in order to achieve the goal of managing a good data model and document the database, and those tools might help us to create a data model design, update it, and finally create the database. Nevertheless what I would like to share are the main operations to ensure a good data model, which in my opinion could be summarized into:

– Check the model: to validate the model is a very important task in order to avoid potencial issues or errors on beforehand.

– Validate the model: validate is not the same as verify. To verify might mean to review the model (as in the previous step), which means to ensure that the model is correct (in technical or logical terms), but to validate means to verify or ensure that the model responds to the business rules accordingly (the model could be technically valid, or well constructed, but this does not necessarily means that the business rules were modeled properly and that the requirements were well defined).

– Allow reverse engineering: the data bases are often changed or modified and these updates must be reflected in the data model, which also has to be up to date. Reverse engineering means that the model could be retrieved based on the current data base state.

– To have a good data dictionary: this item (along with the previous one), is related to the documentation of the data model, something that is very important within the data architecture. Having the data documentation up to date, is critical as well as applying the naming conventions. The data dictionary is useful every time we need to interact with the data (for any DML – Data Manipulation Language – operation), while the naming convention helps to maintain the model consistent.

There might be other items to mention, however I would like to share here, those that has the most relevance in my opinion. Data modeling is something that has to be very well understood by every member of the team, because one way or another, all parts of the project are related to its data (that’s for what information systems are, after all), and regardless if we are creating a new data model or working on an existing one, the rules of relational data model are the same, and should be understood in the same way.

Leave a comment

Filed under Architecture

Leave a comment