CREATE SCHEMA statement

The CREATE SCHEMA statement creates a schema, which is a way to logically group objects in a single collection and to provide a unique namespace for objects.

Syntax

CREATE SCHEMA
{ 
    [ schemaName AUTHORIZATION userName ] |
    [ schemaName ] | 
    [ AUTHORIZATION userName ]
}

A schema name cannot exceed 128 characters. Schema names must be unique within the database.

A schema name cannot start with the prefix SYS (after case normalization). Use of the prefix SYS raises a SQLException.

The CREATE SCHEMA statement is subject to access control when the derby.database.sqlAuthorization property is set to true for the database or system. Only the database owner can create a schema with a name different from the current user name, and only the the database owner can specify
AUTHORIZATION userName
with a user name other than the current user name.
Note: Although the SQL standard allows you to specify any authorizationIdentifier as an AUTHORIZATION argument, Derby allows you to specify only a user, not a role.

CREATE SCHEMA examples

To create a schema for airline-related tables and give the authorization ID anita access to all of the objects that use the schema, use the following syntax:
CREATE SCHEMA FLIGHTS AUTHORIZATION anita 
To create a schema employee-related tables, use the following syntax:
CREATE SCHEMA EMP 
To create a schema that uses the same name as the authorization ID takumi, use the following syntax:
CREATE SCHEMA AUTHORIZATION takumi 
To create a table called availability in the EMP and FLIGHTS schemas, use the following syntax:
CREATE TABLE FLIGHTS.AVAILABILITY
	(FLIGHT_ID CHAR(6) NOT NULL, SEGMENT_NUMBER INT NOT NULL,
	FLIGHT_DATE DATE NOT NULL, ECONOMY_SEATS_TAKEN INT,
	BUSINESS_SEATS_TAKEN INT, FIRSTCLASS_SEATS_TAKEN INT, 
	CONSTRAINT FLT_AVAIL_PK
	PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER, FLIGHT_DATE)) 
CREATE TABLE EMP.AVAILABILITY
	(HOTEL_ID INT NOT NULL, BOOKING_DATE DATE NOT NULL, ROOMS_TAKEN INT,
	CONSTRAINT HOTELAVAIL_PK PRIMARY KEY (HOTEL_ID, BOOKING_DATE))
Related reference
CREATE DERBY AGGREGATE statement
CREATE FUNCTION statement
CREATE INDEX statement
CREATE PROCEDURE statement
CREATE ROLE statement
CREATE SEQUENCE statement
CREATE SYNONYM statement
CREATE TABLE statement
CREATE TRIGGER statement
CREATE TYPE statement
CREATE VIEW statement