Data Dictionary
Definition
A Data Dictionary is a centralized repository/catalog that defines and describes every data element (data flow, data store, process) that appears in the DFD — providing precise details about names, meanings, types, and structures of data.
Purpose
- Removes ambiguity about what each data element in the DFD actually means
- Serves as a reference for all stakeholders (analysts, designers, developers, testers)
- Ensures consistency — the same data element is defined and used the same way everywhere
Typical Contents of a Data Dictionary Entry
| Field | Description |
|---|---|
| Name | The data element's name (e.g., "CustomerID") |
| Alias | Other names it might be known by |
| Description | What the data represents |
| Type/Format | Data type (integer, string, date) and format (e.g., YYYY-MM-DD) |
| Length/Range | Valid size or range of values |
| Where used | Which processes/data flows/data stores use it |
Notation for Composite Data (common conventions)
| Symbol | Meaning |
|---|---|
= |
Is composed of |
+ |
And (combines elements) |
[ | ] |
Either/or (selection) |
{ } |
Repetition (iteration, 0 or more times) |
( ) |
Optional element |
**...** |
Comment |
Example
CustomerOrder = CustomerID + OrderDate + {OrderItem} + TotalAmount
OrderItem = ProductID + Quantity + UnitPrice
Gender = [ "Male" | "Female" | "Other" ]
Relationship to DFD
The DFD shows what data flows where; the Data Dictionary defines precisely what that data is — they are used together, the DFD giving the "map" and the Data Dictionary giving the "glossary."
Benefits
- Eliminates confusion/inconsistency across large teams
- Supports database schema design later
- Useful reference during testing (to know valid data ranges/types)
Exam tip: Be ready to construct a small data dictionary entry (with =, +, {}, [|] notation) for a given data element from a DFD scenario — a common practical question paired with DFD.