Data Dictionary in relational databases

I could argue that all database management systems (DBMS) have a thing called data dictionary. It is a set of views or tables that provide access to metadata about database schema - list of tables, columns, keys, etc. They are located in special system schema or are available implicitly in all schemas.

Standard SQL data dictionary

SQL-92 standard (for relational / SQL databases) specifies data dictionary called information schema. This standard defines tables data dictionary provides ..

Proprietary data dictionary

Most popular databases provide also their proprietary data dictionary, often referred to as System Catalog (or system views, system tables or simply catalog).

Typical data in DBMS data dictionary

Schema

  • Tables
  • Columns
  • Constraints
  • Foreign keys
  • Indexes
  • Sequences

Programs

  • Views
  • User defined functions
  • Stored procedures
  • Triggers

Security

  • Users
  • User groups
  • Privileges

Physical implementation

  • Partitions
  • Files
  • Backups

Storage

  • Size of tables and indexes in KBs
  • Number of rows in tables

Auditing

  • Sessions
  • Connection history
  • Query history