Data Dictionary in DBMS
Till now, we learned and understood about relations and its representation. In the relational database system, it maintains all information of a relation or table, from its schema to the applied constraints. All the metadata is stored. In general, metadata refers to the data about data. So, storing the relational schemas and other metadata about the relations in a structure is known as Data Dictionary or System Catalog.
A data dictionary is like the A-Z dictionary of the relational database system holding all information of each relation in the database.
The types of information a system must store are:
With this, the system also keeps the following data based on users of the system:
In addition to this, the system may also store some statistical and descriptive data about the relations, such as:
A system may also store the storage organization, whether sequential, hash, or heap. It also notes the location where each relation is stored:
At last, it also stores the information regarding each index of all the relations:
All the above information or metadata is stored in a data dictionary. The data dictionary also maintains updated information whenever they occur in the relations. Such metadata constitutes a miniature database. Some systems store the metadata in the form of a relation in the database itself. The system designers design the way of representation of the data dictionary. Also, a data dictionary stores the data in a non-formalized manner. It does not use any normal form so as to fastly access the data stored in the dictionary.
For example, in the data dictionary, it uses underline below the value to represent that the following field contains a primary key.
So, whenever the database system requires fetching records from a relation, it firstly finds in the relation of data dictionary about the location and storage organization of the relation. After confirming the details, it finally retrieves the required record from the database.