What is a Data Dictionary?

A Data Dictionary, also called a Data Definition Matrix, provides detailed information about the business data, such as standard definitions of data elements, their meanings, and allowable values. While a conceptual or logical Entity Relationship Diagram will focus on the high-level business concepts, a Data Dictionary will provide more detail about each attribute of a business concept.

Essentially, a data dictionary provides a tool that enables you to communicate business stakeholder requirements in such a way that your technical team can more easily design a relational database or data structure to meet those requirements. It helps avoid project mishaps such as requiring information in a field that a business stakeholder can’t reasonably be expected to provide, or expecting the wrong type of information in a field.

What’s more, if you’ve been wondering what to do with long lists of fields inside use cases or other requirements documents, you’ll be happy to learn that they have an ideal home in a data dictionary.

Alternatively, if you’ve been creating spreadsheets to organize data-related information, you might be surprised to learn that you’ve been creating a form of a Data Dictionary. For a long time, I simply referred to these types of specifications as “content specs” or a “data matrix,” only to discover I’d been creating Data Dictionaries for over 10 years of project work.

(By the way, we cover data dictionaries in more detail in Data Modeling for Business Analysts – a virtual class covering the most critical data modeling techniques you need to know.)

The Key Elements of a Data Dictionary

A Data Dictionary provides information about each attribute, also referred to as fields, of a data model. An attribute is a place in the database that holds information. For example, if we were to create a Data Dictionary representing the articles here on Bridging the Gap, we’d potentially have attributes for article title, article author, article category, and the article content itself.

A Data Dictionary is typically organized in a spreadsheet format. Each attribute is listed as a row in the spreadsheet and each column labels an element of information that is useful to know about the attribute.

Let’s look at the most common elements included in a data dictionary.

  • Attribute Name – A unique identifier, typically expressed in business language, that labels each attribute.
  • Optional/Required – Indicates whether information is required in an attribute before a record can be saved.
  • Attribute Type – Defines what type of data is allowable in a field. Common types include text, numeric, date/time, enumerated list, look-ups, booleans, and unique identifiers.

While these are the core elements of a data dictionary, it’s not uncommon to document additional information about each element, which may include the source of the information, the table or concept in which the attribute is contained, the physical database field name, the field length, and any default values.

Example of a Data Dictionary

You are probably wondering how all of this comes together.

Here’s a look at a simplified example data dictionary that contains the attribute from our Bridging the Gap article example, along with critical information about each attribute.

Data-Dictionary-Example

 

As you can see, a data dictionary defines critical information about each attribute in a business-focused way. It also organizes information that might otherwise be scattered across multiple different documents and specs, making it easier for your database developer to design or update a database that meets business requirements.

>>Learn More About Data Modeling

We’ve published a 10-article series on getting started with data modeling, where we are covering the most frequently asked questions business analysts have about applying data modeling techniques.

Click here to check out the articles

And also be sure to check out Data Modeling for Business Analysts, a virtual course where you’ll learn a structured approach for incorporating data modeling into your software development projects, even if you don’t have technical skills.

Stay informed about new articles and course offerings.

(You'll get a free step-by-step BA career planning course too).

Click here to learn more