A data dictionary contains metadata that describes the entities, attributes, data types, sizes, validation rules, and keys of data stored in a database. It is produced during database modeling and does not store actual data. The example shows a data dictionary for a school database that would store information about pupils and tutor classes, including each pupil's name and tutor class.