There are a number of advantages of using Data Dictionary in computer system analysis and design. The advantages are: consistency, clarity; reusability; completeness; increase in sharing and integration; and ease of use for the developer. To elaborate on one important advantage, completeness, using Data Dictionary for the advantage of completeness helps the data programmer to know when data is clear, complete, and well defined. It does so by informing as to what completeness is defined as in any instance in question and by detailing the steps that are necessary to take to achieve completeness.
[For more detail about Data dictionary, see Data Dictionary and Normalization by Priya Janakiraman; Techno Wave Inc.]
The data dictionary was created as a programming tool to address the problem of managing large datasets over long periods of time. For major software projects, such as airline reservation systems, military C3I applications, or banking systems, which might involve hundreds of programmers, designers, and support staff, data integrity is a huge issue. Any particular piece of data may be created, updated, or accessed by multiple users. Especially as software is updated or new types of application are created, it's important that all stakeholders are making the same assumptions about what each piece of data contains, what its format is, and who has permission to update it under which circumstances. By using a data dictionary, designers have a central point of control and documentation for making changes and updates to data sets and structures. It also helps programmers working on updating or replacing legacy systems figure out the basic data structures of the systems they are renovating and the definitions of individual variables. Also, it allows easy development of new or ad hoc queries using SQL.