1. Introduction

According to Wikipedia:

A data dictionary, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format.

In other words, a 'data dictionary' describes the structure and attributes of data 'items' to be used within a software application (usually a database).

A data dictionary includes the names and descriptions of the tables and the fields contained in each table. It also documents information about the data type, field length and other things such as validation.

The main purpose of the data dictionary is to provide metadata, or information about data.  Technically, it is a database about a database. 

There is no one set standard in terms of layout or the level of detail to which a data dictionary should be written.

Software development teams need a comprehensive data dictionary to refer to during the development and maintainance of a new database. This is so that they are all working using the same data formats when reading or writing data.