データベースの作成

Db2 データベースを定義するときには、表、関連付けられた索引、およびそれらが格納される表スペースについて、最終的なコレクションを指定します。

新しい 1 セットのオブジェクトとして新たにデータベースを定義するか、あるいは既存データベースを使用するかどうかを決める場合、以下の内容を考慮してください。

  • データベース全体を、1 つの単位として開始したり停止したりすることができます。 データベース内のすべてのオブジェクトの状況を表示するには、そのデータベースの名前だけを 指定した 1 つのコマンドを使用できます。 したがって、関連する 1 セットの表は同一データベースに入れてください。 (それらの表の索引はどれも同じデータベースに保持されます。)
  • 処理並行性とメモリー使用を改善したい場合、単一のデータベースにある表の個数を比較的少なく (最大 20 個の表) してください。 例えば、表の数が少ない場合、Db2はより短い時間で再編成を実行します。
  • データベースを複数に分割して保有すると、データ定義が並行して実行可能となり、制御ブロック用のスペースが少なくて済みます。

データベースを作成するには、CREATE DATABASE ステートメントを使用します。 データベースの名前は、非修飾の ID (最大 8 文字まで) を付けます。 Db2 データベース名は、他の Db2 データベース名と同じにしてはいけません。

データベースの暗黙的な作成

CREATE TABLE ステートメントで IN 節を指定しない場合、 Db2 は暗黙的にデータベースを作成します。

データベースの名前は DSNXXXXXです。ここで、 XXXXX はシーケンスの次の 5 桁の数字です。以下に例を示します:

DSN00001, DSN00002, DSN00003, ...

ただし、CREATE TABLESACE ステートメントで IN 節を指定しない場合、表スペースはデータベース DSNDB04 に作成されます。

汎用プログラミングインターフェース情報の開始。下記の例は、有効なデータベース名を示します。
オブジェクト (Object)
名前
DATABASE
MYDB
以下の CREATE DATABASE ステートメントにより、データベース MYDB が作成されます。
CREATE DATABASE MYDB
  STOGROUP MYSTOGRP
  BUFFERPOOL BP8K4
  INDEXBP BP4;

上記サンプルに記載した STOGROUP、BUFFERPOOL、および INDEXBP 文節では、デフォルト値を設定します。 これらのデフォルト値を、表スペースまたは索引スペースの定義時にオーバーライドできます。 汎用プログラミングインターフェース情報の終了。