Data dictionary

On this page 7

A data dictionary is a structured reference that describes every data element in a database, data warehouse or application: its technical name, data type, length, allowed values, nullability, business meaning, source and owner. In data governance, it is the authoritative record of what each field contains and how it may be used, so that engineers, analysts and auditors interpret the same column in the same way.

Where a business glossary defines concepts in business language and a data catalog helps people find datasets across the organization, the data dictionary works at the level of individual attributes. It answers precise questions such as whether customer_status can be empty, which codes it accepts and which system populates it.

What a data dictionary records

A data dictionary records technical metadata and business metadata side by side for each element. The technical part comes from the schema and describes structure; the business part comes from people and describes meaning, rules and accountability. A useful dictionary needs both, because a correct type definition without a meaning is as ambiguous as a meaning without a type.

The following table lists the attributes a mature dictionary entry usually contains and why each one matters in practice.

AttributeExample valueWhy it matters
Physical namecust_stat_cdLinks the entry to the actual column
Business nameCustomer statusGives a readable label for reports
DefinitionCurrent lifecycle stage of the accountRemoves ambiguity about meaning
Data type and lengthCHAR(2)Guides validation and integration
Allowed valuesAC, SU, CLPrevents undocumented codes
Nullability and defaultNot null, default ACClarifies missing-data handling
Source and lineageCRM account tableShows where values originate
Sensitivity classInternalDrives access and masking rules
Owner or stewardCustomer operationsNames who approves changes
Typical attributes of a data dictionary entry

Entries often add quality rules (for example, an expected completeness above 99 percent), the date of last review and related elements such as the reference table that holds the code descriptions. These additions turn a static list into a working control document.

Active and passive data dictionaries

Data dictionaries differ mainly in how they stay synchronized with the systems they describe. An active dictionary is maintained by the database engine itself and changes automatically whenever the schema changes; the system catalog of a relational database, exposed through INFORMATION_SCHEMA views, is the classic case. A passive dictionary is a separate document or tool that people update, which allows richer business content but drifts unless a process keeps it current.

FormHow it is maintainedStrengthMain weakness
System catalogAutomatically by the databaseAlways technically accurateNo business meaning
Spreadsheet or documentManually by analystsQuick to startDrifts out of date
Schema-as-code commentsIn version-controlled modelsReviewed with each changeHard for business users to read
Governance tool moduleHarvested plus curatedCombines both metadata typesNeeds licensing and stewardship
Common forms of a data dictionary

Most organizations use a hybrid approach: technical metadata is harvested automatically from catalogs and transformation code, and stewards enrich it with definitions, allowed values and sensitivity. The harvest keeps the structure honest, while the curation adds the meaning that no scanner can infer.

The data dictionary is often confused with neighboring artifacts in data governance because they share metadata and are frequently delivered by the same tool. The distinction lies in scope and audience, as the comparison below shows.

ArtifactLevel of detailPrimary audienceCentral question
Data dictionaryColumn or attributeEngineers and analystsWhat exactly is in this field
Business glossaryBusiness conceptBusiness usersWhat does this term mean
Data catalogDataset and assetAll data consumersWhere is the data I need
Data modelEntities and relationshipsArchitectsHow are the data structures connected
Reference data setCode valuesSystems and analystsWhich codes are valid
Data dictionary and neighboring artifacts

In a well-designed setup these artifacts are linked rather than duplicated. A dictionary entry for cust_stat_cd points to the glossary term “customer status”, to the reference data set that lists its codes and to the dataset entry in the catalog. Each artifact then holds one kind of truth, and changes propagate through the links instead of through copy and paste.

Building and maintaining a data dictionary

A data dictionary succeeds when it is built incrementally and owned explicitly. Documenting every column of every system at once rarely works; teams that start with the elements used in critical reports, regulatory submissions or shared interfaces get value early and expand from there.

  1. Harvest the schema from the database catalog or transformation code to create a complete technical skeleton.
  2. Prioritize critical data elements, such as identifiers, financial amounts and personal data, for business enrichment first.
  3. Assign a steward to each subject area who approves definitions and allowed values.
  4. Write definitions that state what the value represents, its unit and its time reference, not merely a restatement of the name.
  5. Embed updates in change management, so a schema change cannot be deployed without a reviewed dictionary entry.
  6. Schedule periodic reviews, typically every six to twelve months for critical elements.

The decisive practice is the fifth step. When the dictionary is updated as part of the same pull request or change ticket that alters the schema, accuracy becomes a side effect of normal work rather than a separate documentation project that competes for time.

SituationRecommended approachReason
Small team, one databaseSchema comments plus generated documentationLow overhead, stays close to code
Analytics platform with many modelsDescriptions in transformation codeDocumentation versioned with logic
Regulated enterpriseGovernance tool with stewardship workflowAudit trail and approvals required
Data shared with partnersPublished dictionary per interfaceExternal users need a stable contract
Choosing a maintenance approach

Common pitfalls with data dictionaries

Most failed data dictionaries fail for organizational reasons, not technical ones. The structure is easy to design; keeping thousands of entries accurate and trusted is the hard part.

  • Circular definitions, such as defining “order date” as “the date of the order”, add no information and erode trust.
  • Stale entries that describe dropped columns or old code values make users stop consulting the dictionary altogether.
  • Missing units and time references cause silent errors, for example mixing net and gross amounts or local and UTC timestamps.
  • No named owner means nobody can approve a change, so disputes about meaning remain unresolved.
  • Duplicated content across the dictionary, glossary and catalog leads to conflicting versions of the same definition.

A practical health indicator is the share of critical elements with a complete, reviewed entry. Tracking that share over time shows whether the dictionary is improving or decaying, which is more meaningful than the raw number of documented columns.

Explained without jargon

A data dictionary is like the legend on a map for a company’s data. A spreadsheet column called “stat” with values such as AC or CL means nothing on its own. The dictionary explains that it is the customer status, that AC means active and CL means closed, that it can never be empty and that the customer operations team decides what it means.

With that legend, everyone reads the data the same way. Without it, two people can look at the same number and reach two different conclusions, and neither of them knows the other one is wrong.

A typical use case

A mid-sized insurer prepares a regulatory report on claims and discovers that two departments calculate “claim amount” differently: one includes the deductible and the other does not. The figures differ by several percent, and nobody can say which one the regulator expects.

The data team builds a data dictionary for the roughly 120 elements that feed the report. Each entry gets a definition with its unit and time basis, the allowed values, the source system and a named steward from the claims department. The steward rules that the reported amount excludes the deductible, and the second calculation is renamed and documented as a separate element.

The dictionary is then tied to the change process, so any new column in the reporting tables requires an approved entry. In the following reporting cycle, reconciliation questions drop sharply, and auditors can trace every figure to a documented definition and an accountable owner.