# CREATE SCHEMA 文

スキーマにより情報を論理的に一つの集合に分類すること、および、一意な名前空間を提供する事ができます。

#### 構文

    CREATE SCHEMA { [ スキーマ名 AUTHORIZATION ユーザ名 ] | [ スキーマ名 ] |
    [ AUTHORIZATION ユーザ名 ] }

CREATE SCHEMA 文によりスキーマを作成することができます。スキーマ名は128文字を超えてはなりません。スキーマ名はデータベースの内で一意で無ければなりません。

CREATE SCHEMA文はデータベースないしシステムにおいて、`derby.database.sqlAuthorization`が`true`となっている場合、アクセス制御の対象となります。データベース所有者だけが現在のユーザ名とは異なる名前のスキーマを作成することができます。またデータベース所有者だけが現在のユーザ名とは異なる

    AUTHORIZATION user-name

を指定できます。 `derby.database.sqlAuthorization`属性についてのより詳細な情報は、Derbyのチューニングを参照してください。

#### CREATE SCHEMAの例

飛行機に関連した表をおくスキーマを作成して、`anita`という認証識別子にスキーマの全ての情報を操作する権限を与えるには次のようにします。

    CREATE SCHEMA FLIGHTS AUTHORIZATION anita

従業員に関連した表をおくスキーマを作成するには次のようにします。

    CREATE SCHEMA EMP

`takumi`というスキーマ名がそのまま認証識別子であるスキーマを作成するには次のようにします。

    CREATE SCHEMA AUTHORIZATION takumi

`EMP`と`FLIGHTS`の各スキーマに`availability`という表を作成するには次のようにします。

    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))

Parent topic: CREATE 文
Related reference
CREATE FUNCTION 文
CREATE INDEX 文
CREATE PROCEDURE 文
CREATE SYNONYM 文
CREATE TABLE 文
CREATE TRIGGER 文
CREATE VIEW 文