Data Modeling Concepts Every DBA Should Know

Organizations often force the DBA to take on the job of data modeling. Unfortunately, that does not mean that the DBAs are always well-trained in data modeling, nor does it mean that DBAs are best suited to take on the task of data modeling. Oh, don’t get me wrong… some DBAs are great at data modeling… but many are not.

Data administration (DA) separates the business aspects of data resource management from the technology used to manage data. When the DA function exists in an organization, it is more closely aligned with the actual business users of data. The DA group is responsible for understanding the business lexicon and translating it into a logical data model.

That said, many organizations lump DA and DBA together into a DBA group. As such, the DA tasks usually suffer. One of these tasks is data modeling. You must learn to discover the entire truth of the data needs of your business. You cannot simply ask one user or rely upon a single expert because his or her scope of experience will not be comprehensive. The goal of a data model is to record the data requirements of a business process. The scope of the data model for each line of business must be comprehensive. If an enterprise data model exists for the organization, then each individual line of the business data model must be verified against the overall enterprise data model for correctness. An enterprise data model is a single data model that comprehensively describes the data needs of the entire organization. Managing and maintaining an enterprise data model is fraught with many non-database-related distractions such as corporate politics and ROI that is hard to quantify.

Data modeling begins as a conceptual venture. The first objective of conceptual data modeling is to understand the requirements. A data model, in and of itself, is of limited value. Of course, a data model delivers value by enhancing communication and understanding, and it can be argued that these are quite valuable. But the primary value of a data model is its ability to be used as a blueprint to build a physical database. When databases are built from a well-designed data model, the resulting structures provide increased value to the organization. The value derived from the data model exhibits itself in the form of minimized redundancy, maximized data integrity, increased stability, better data sharing, increased consistency, more timely access to data, and better usability. These qualities are achieved because the data model clearly outlines the data resource requirements and relationships in a clear, concise manner. Building databases from a data model will result in a better database implementation because you will have a better understanding of the data to be stored in your databases.

A data model can clarify data patterns and potential uses for data that would remain hidden without the data blueprint provided by the data model. Discovery of such patterns can change the way your business operates and can potentially lead to a competitive advantage and increased revenue for your organization.

Data modeling requires a different mindset than requirements gathering for application development and process-oriented tasks. It is important to think “what” is of interest instead of “how” tasks are accomplished.

  • Think conceptual — focus on business issues and terms.
  • Think structure — how something is done is not important for data modeling. The things that processes are being done to are what is important to data modeling.
  • Think relationship — the way that things are related to one another is important because relationships map the data model blueprint.

As you create your data models, you are developing the lexicon of your organization’s business. If DBAs are doing the modeling, the most frequent slip-up is thinking physical too early in the process — this makes some sense because the DBA will be called upon to turn that logical model into a physical database eventually. But skipping to the physical implementation too soon is a surefire way to misinterpret business needs, miss critical requirements, and create a less than optimal database for your business.

If you are a DBA with data modeling responsibilities I recommend that you find your way to a class, or at least pick up a few good books on the topic. The following books are quite good: Data Modeling Essentials by Graeme Simsion (Morgan Kaufmann, 2004); Mastering Data Modeling: A User-Driven Approach by John Carlis and Joseph Maguire (Addison-Wesley, 2001).

And do not skimp on the data modeling portion of your development projects. After all, understanding your data is the most important thing in the “information age”… right?

Advertisements

About craig@craigsmullins.com

I'm a strategist, researcher, and consultant with nearly three decades of experience in all facets of database systems development.
This entry was posted in data modeling, DBA and tagged . Bookmark the permalink.

6 Responses to Data Modeling Concepts Every DBA Should Know

  1. Hi Craig,
    Thanks for this great article on Data Modeling. I agree that a very common slip-up is to get to the “physical” too early in the data modeling process. A related issue is the danger when working with subject-matter experts to “hard-code” current processes into the model, as opposed to more generic business issues, concepts, and relationships. This, of course, may cause issues later on when processes change and the data model is not sufficiently robust to accommodate process changes. Do you have any suggestions to prevent entrenching current processes into the data model?
    Thanks,
    Trevor

  2. Pingback: Tweets that mention Data Modeling Concepts Every DBA Should Know | Data and Technology Today -- Topsy.com

  3. You are right sir. http://www.learndatamodeling.com may helps programmers, dbas and freshers.

    Regards.
    Antony

  4. Claire says:

    Excellent blog post. I certainly appreciate this website. Keep it up!

  5. Gold watches says:

    First of all I want to say excellent blog! I had a quick question that I’d like to ask if you do not mind. I was interested to find out how you center yourself and clear your head prior to writing.
    I have had a difficult time clearing my mind in getting my ideas out there. I do take pleasure in writing however it just seems like the first 10 to 15 minutes tend to be lost simply just trying to figure out how to begin. Any suggestions or tips?
    Cheers!

  6. Take a look at the blog post here that I wrote on writing practices –> https://datatechnologytoday.wordpress.com/2014/06/30/on-writing/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s