in SQL environment, both catalog and schema are abstract concepts, which are mainly used to solve naming conflicts.
a database system contains multiple catalog, each containing multiple schemas, each containing multiple database objects (tables, views, fields, etc.)
such as the fully qualified name of the database object table can be expressed as: Catalog name. Schema name. Table Name
The SQL standard does not require that the fully qualified name of each database object be unique, like a domain name, and that each IP address can have multiple domain names if you like.
from the point of view of implementation, the various database systems support and implementation of the catalog and schema vary widely, the simpler and most commonly implemented way is to use the database name as the catalog name, using the user name as the schema name, see the following table:
Suppliers |
Catalog Support |
Schema Support |
Oracle |
Not supported |
Oracle User ID |
Mysql |
Not supported |
Database name |
MS SQL Server |
Database name |
the object belongs to the main name, and the 2005 version begins to change |
DB2 |
when specifying a database object, the Catalog section omits |
Catalog owner name |
Sybase |
Database name |
The database belongs to the main name |
Informix |
Not supported |
Don't need |
Pointbase |
Not supported |
Database name |
Introduction to Database-----Catalog and Schema