Database catalog

From ArticleWorld


A database catalog is a system area within a database environment that contains descriptions about the structure of the database. Every database management system (DBMS) must provide a catalog function. Because the catalog contains descriptions about database objects, it is also known as a data dictionary. However, the term data dictionary may be used to refer to more general software utilities that exist outside the database.

Contents of a catalog

In the case of a relational database management system, the catalog stores the details about the external, conceptual and internal schemas. All the corresponding mappings, i.e. external-conceptual and conceptual-internal, are also stored. This information includes details about tables, columns (with their respective data types), constraint descriptions of each column (whether it is unique, allows NULLs, is a primary or foreign key, etc), views, stored SQL code and indexes. The catalog also stores information about database performance statistics, security, privileges and ownership. The details contained in the catalog are often referred to as "metadata" or "descriptor information".

In relational database management systems, the catalog itself is usually stored in the form of tables with relationships between them. These tables can be queried and updated by DBMS software or DBA administrators. This querying is done using the query language of the DBMS, such as SQL.

Use

The information stored in a catalog is very essential for the database system to perform correctly and efficiently. The optimizer uses catalog information about objects such as indexes to help it decide the best possible way to implement a request. Similarly, the security subsystem uses catalog information to decide which users to give to access to what data and what security constraints to implement. Catalogs are also used by other internal software such as transaction processors and report generators.

Although the catalog is mainly used by software contained in the DBMS, users are allowed to access the data stored in it in the same way as they access their own data.