A data dictionary is a database for system developers. It logs all of the data structures used by an application. Sophisticated data dictionaries integrate application generators that use the data logged in the dictionary to automate some of the program production tasks. The data dictionary communicates with the DBMS, the program library, applications, and the information security system.
A data dictionary can also be organized with one primary data dictionary and secondary data dictionaries. The main data dictionary supplies a foundation of data definitions and central control, and the secondary data dictionaries facilitate separate development projects as backup to the primary dictionary, and function as a partition between the development and test databases.