ページの先頭行へ戻る
Symfoware Server V12.2.0 RDB運用ガイド(データベース定義編)
FUJITSU Software

2.6.1 スキーマ定義

スキーマ定義では、スキーマ名の定義、スキーマの注釈定義およびスキーマを構成する以下の要素の定義を行います。

スキーマ名の定義は、CREATE SCHEMA文を使用して行います。

在庫管理データベースのスキーマ定義の例を以下に示します。在庫管理DBに対して、スキーマのSTOCKSとそれに属する在庫表などを定義するものとします。

在庫管理DBのスキーマを定義

CREATE SCHEMA  STOCKS    COMMENT '在庫管理業務用'
                 ↑                ↑
            スキーマ名          注釈定義

CREATE SEQUENCE 順序1 …                                      (1)

CREATE TABLE 在庫表   (製品番号…, …  PRIMARY KEY(製品番号))  (2)
CREATE TABLE   …
   :

CREATE VIEW  大量在庫表(品番,数量) AS SELECT  …               (3)
CREATE VIEW    …
   :

CREATE TRIGGER  在庫表トリガ …                                (4)
   :

CREATE PROCEDURE PROC001 …                                    (5)
  BEGIN
   :
  END

CREATE FUNCTION SUER001 …                                     (6)

(1) 順序定義

(2) 表定義

(3) ビュー定義

(4) トリガ定義

(5) プロシジャルーチン定義

rdbexecsqlコマンドを使用する場合:

プロシジャルーチン定義は同一の定義ファイルに記述することができます。

rdbddlexコマンドを使用する場合:

プロシジャルーチン定義は同一の定義ファイルに記述することができません。
プロシジャルーチン定義は別の定義ファイルに記述し、rdbddlexコマンドにxオプションを指定して定義します。

(6) ファンクションルーチン定義

rdbexecsqlコマンドを使用する場合:

ファンクションルーチン定義は同一の定義ファイルに記述することができます。

rdbddlexコマンドを使用する場合:

ファンクションルーチン定義は同一の定義ファイルに記述することができません。
ファンクションルーチン定義は別の定義ファイルに記述し、rdbddlexコマンドで定義します(xオプションは指定しません)。

スキーマ名

スキーマ名には、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。

スキーマ名は、データベース内で一意です。

スキーマ名は、SQL文において順序、実表およびビュー表を指定する場合に、順序および表名を修飾する名前として使用します。また、インデックス定義においてインデックスを指定する場合にも、表名を修飾する名前として使用します。

スキーマの注釈定義

スキーマに対して、文字列または各国語文字列で注釈を指定することができます。最大256バイトの文字列を指定することができます。文字列と各国語文字列の両方を注釈として指定することもできます。注釈が不要な場合は、指定を省略します。以下に例を示します。

スキーマ“STOCKS”に注釈を指定

CREATE SCHEMA  STOCKS    COMMENT '在庫管理業務用'
                                    ↑
                                   注釈定義