The data dictionary is a specialized application of the kinds of dictionaries used as references in everyday life. The data dictionary is a reference work of data about data (that is, metadata), one that is compiled by systems analysts to guide them through analysis and design. As a document, the data dictionary collects and coordinates specific data terms, and it confirms what each term means to different people in the organization. The data flow diagrams covered before are an excellent starting point for collecting data dictionary entries.
One important reason for maintaining a data dictionary is to keep clean data. This means that data must be consistent. If you store data about a man’s sex as “M” in one record, “Male” in a second record, and as the number “1” in a third record, the data are not clean. Keeping a data dictionary will help in this regard.
Automated data dictionaries (part of the CASE tools mentioned earlier) are valuable for their capacity to cross-reference data items, thereby allowing necessary program changes to all programs sharing a common element. This feature supplants changing programs on a haphazard basis, or it prevents waiting until the program won’t run because a change has not been implemented across all programs sharing the updated item. Clearly, automated data dictionaries become important for large systems that produce several thousand data elements requiring cataloging and cross-referencing.
Need for Understanding the Data Dictionary
Many database management systems now come equipped with an automated data dictionary. These dictionaries can be either elaborate or simple. Some computerized data dictionaries automatically catalog data items when programming is done; others simply provide a template to prompt the person filling in the dictionary to do so in a uniform manner for every entry.
Despite the existence of automated data dictionaries, understanding what data compose a data dictionary, the conventions used in data dictionaries, and how a data dictionary is developed are issues that remain pertinent for the systems analyst during the systems effort. Understanding the process of compiling a data dictionary can aid the systems analyst in conceptualizing the system and how it works. The upcoming sections allow the systems analyst to see the rationale behind what exists in automated data dictionaries.
In addition to providing documentation and eliminating redundancy, the data dictionary may be used to:
- Validate the data flow diagram for completeness and accuracy.
- Provide a starting point for developing screens and reports.
- Determine the contents of data stored in files.
- Develop the logic for data flow diagram processes.
- Create XML (extensible markup language).