スキーマ定義では、スキーマ名の定義、スキーマの注釈定義およびスキーマを構成する以下の要素の定義を行います。
順序
実表
ビュー表
トリガ
プロシジャルーチン
ファンクションルーチン
スキーマ名の定義は、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) プロシジャルーチン定義
プロシジャルーチン定義は同一の定義ファイルに記述することができます。
プロシジャルーチン定義は同一の定義ファイルに記述することができません。
プロシジャルーチン定義は別の定義ファイルに記述し、rdbddlexコマンドにxオプションを指定して定義します。
(6) ファンクションルーチン定義
ファンクションルーチン定義は同一の定義ファイルに記述することができます。
ファンクションルーチン定義は同一の定義ファイルに記述することができません。
ファンクションルーチン定義は別の定義ファイルに記述し、rdbddlexコマンドで定義します(xオプションは指定しません)。
スキーマ名には、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。
スキーマ名は、データベース内で一意です。
スキーマ名は、SQL文において順序、実表およびビュー表を指定する場合に、順序および表名を修飾する名前として使用します。また、インデックス定義においてインデックスを指定する場合にも、表名を修飾する名前として使用します。
スキーマに対して、文字列または各国語文字列で注釈を指定することができます。最大256バイトの文字列を指定することができます。文字列と各国語文字列の両方を注釈として指定することもできます。注釈が不要な場合は、指定を省略します。以下に例を示します。
スキーマ“STOCKS”に注釈を指定
CREATE SCHEMA STOCKS COMMENT '在庫管理業務用'
↑
注釈定義