What is a Data Dictionary?
A data dictionary is a central source of information about the data in your organization, business or enterprise. It contains an inventory of all of the elements used in your organization’s databases, file systems and applications. It’s also an important reference for database administrators (DBAs), application developers and IT managers.
Components of a Data Dictionary
Your company data dictionary should describe the structure and meaning of your organization's data, including:
Data elements: Each record's attributes are described in a data dictionary. Attributes are the properties that describe each record. Examples of record properties in a database could include: first name, last name, email address, phone number or annual income.
File structures: Data files are organized into records (rows) and fields (columns). The database administrator (DBA) is responsible for defining the database organization so that developers can create programs to access it. A file structure is one of the key elements included in a data dictionary because it describes how to access the data in a database or file system.
Entity definitions: Entities are used to model real-world objects, such as employees and customers. In database modelling terms, an entity is a table that stores information about something tangible — for example, a table named Employees would contain records about people who work at your company.
What is the purpose?
The purpose of a data dictionary is to standardize technical terminology to be used by technical people and business people alike. For example, a data dictionary should include naming conventions that ensure that all occurrences of a particular word or phrase have the same meaning.
Another use for a data dictionary is as an "audit trail" so that it's possible to know who accessed or changed what in the database. This can help determine whether any unauthorized changes were made.
A defining feature of a data dictionary is its ability to cross reference between different variables and data elements. A data dictionary in a database example would be wanting to know more about a specific variable, then using the cross referencing system to find more information about that variable. Simple data discovery starts with good organization. A data dictionary is a list of key terms and metrics with definitions; a business glossary. Although this seems like a simple exercise, it’s very difficult to align business departments with the same definitions.
Some companies have been keeping their data dictionary in Google Sheets or Confluence document, or not keeping one at all. Now, any team can easily define their metrics and see which tables each metrics references easily in Secoda. Here's an example of a data dictionary in Secoda:
The benefits of keeping data information in a central tool are more efficient, transparent and creating more self sufficient teams. As teams continue to embrace remote work, data discovery tools are crucial to helping teams get on the same page when they aren’t in the same place. By getting on top of this knowledge capture early and often, teams can avoid the pain of having to spend weeks documenting their data when it's out of control.
Using a Data Dictionary
A ride-sharing company shared an example of the difficulties related to data definitions. At this company, it was very difficult to get aligned on the same metrics for “number of rides a week”. Why?
- The data team defines the “number of rides per week” as the total number of rides that were completed between Jan. 1, 2020, 12:00 AM → Jan. 7, 2020, 11:59 PM.
- The marketing team defines the “number of rides per week” as the total number of rides that were started between Jan. 1, 2020, 12:00 AM → Jan. 7, 2020, 11:59 PM.
- The sales team defines “number of rides per week” as the total number of riders that paid for a ride Jan. 1, 2020, 7:00 AM → Jan. 8, 2020, 6:59 AM
All data-driven organizations experience this problem as they begin to grow their data and people. And although it sounds like a simple problem, which might require a meeting to solve, aligning the business and data to remove confusion can be an extremely profound problem. That's why a data dictionary can be one of the most valuable tools that a data team can create to deliver results.
A data dictionary provides information about:
The contents of a database
The meaning of items in the database
The interrelationships between items in the database
It is an essential tool for database users and administrators because it allows them to understand what the content and organization of a database means and how to use it.
As a repository for metadata, a data dictionary can help create and maintain high standards for an organization's databases by providing a single source where all definitions are stored, managed and documented. It also helps reduce redundancy by providing users with one place to look for information rather than having to search through various documentation or query individual databases.
How to create a Data Dictionary?
While it can be helpful to developers, the main reason for having a data dictionary is to provide documentation for end users so they have an easy-to-understand record of all the information available in their database, including fields, tables and reports. It's crucial that the dictionary is updated frequently and reviewed by stakeholders on a regular basis to ensure organization-wide alignment.
The data dictionary defines each field (1) by name, (2) by type of data it holds (such as numbers or characters), and (3) by its location in the file. It also indicates what other fields are related to it. For example, the data dictionary might tell the DBMS that a certain field contains employee numbers and that these numbers relate to other fields containing employee names, addresses, phone numbers, job classifications, pay rates, and so on.
In addition to relating one field to another within a file, the data dictionary also relates one file to another. For example, it might tell the DBMS that an employee's name in one file is related to his or her payroll number in another file.
Creating a data dictionary can be done easily within Secoda, and act as a source of truth between your data and the dictionary itself, or like we previously mentioned, can be recorded on Google Sheets or Confluence documents.