As expected, database vendors have different database
implementation approaches. All database vendors provide
means for exploring and reverse engineering objects
created by database users. In other words, the database
maintains within itself a database of all objects created by
users. This information is usually referred to as the
database system catalog. Such information differs in
format from database vendor to database vendor but is
usually retrievable, more or less easily, using SQL. Note
that comprehensive reverse engineering of any database
schema structure of is a difficult task, and requires expert
knowledge of the database structure and implementation
particularities.