A schema consists of metadata definitions such as tables, views,
domains, constraints, collating sequences, indexes, storage maps,
triggers, and the privileges for each of these.
You name schemas in CREATE SCHEMA or CREATE DATABASE statements.
You can also use schema names to qualify the names of other
database elements such as tables, views, and columns.
NOTE
In syntax diagrams, the schema-name syntax element refers to
either the qualified or unqualified form of the name given
to the schema in the CREATE statement. That is, in syntax
diagrams, the schema-name is always defined as:
schema-name =
--+---------------------------------------------+
+------> <catalog-name> --------------+->. ---+
+-> " -> <alias>.<catalog-name> ->" --+ |
| +-----------------------------------------+
| +--------------> <name-of-schema> ------+->
+-> " -> <alias>.<name-of-schema> ->" ------+
By default, each database that you create has only one schema.
CREATE DATABASE tells how to create a multischema database.
The alias RDB$DBHANDLE represents the schema when you refer
to definitions in a single-schema database or definitions in a
multischema database without multischema naming enabled.
When you refer to definitions in a multischema database, you must
follow multischema naming rules unless you disable multischema
naming. In multischema naming:
o You must qualify definition names using the name of the schema
that contains them. You cannot refer to a table and a view
or two objects of the same type (such as two tables) with the
same name unless they belong to different schemas.
o You may additionally qualify the names of objects in a
multischema database with the alias and the catalog name.
Whenever you qualify the object name with a catalog name,
you must also specify the schema name, unless you want to use
the default schema. Remember that the catalog name and alias
combination or the schema name and alias combination must be
enclosed within double quotation marks.
o If you prefer, you can qualify an object name in a multischema
database with just an alias, provided you have set the default
catalog and schema to the ones that you want to contain the
object. Enclose the alias and object name pair within double
quotation marks and separate them with a period.
If you omit the schema name when referring to objects in a
multischema database, SQL uses a schema with the same name as
the user identifier of the invoker as the default schema. You can
use the SET SCHEMA statement to change the default schema.