Home » 未分類 » DDL

DDL

DDLはデータを定義する(Data Definition Language)言語です

その中でも代表的なのがテーブルを作成するCREATE文です

以下は基本的なCREATE TABLE文の例です

CREATE TABLEは予約語ですテーブル(表)を作成するという意味です

テーブル名はこれから作成するテーブル(表)の名前です

列1、列2・・・はこれから作成するテーブルを構成する項目(カラム、属性とも言います)を記述します

列の後ろにデータ型(タイプ)を記述します。この例ではCHAR型(文字型の固定長)です

Oracleでは、CREATE TABLE文には以下のパラメータがあります

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TABLESPACEはそのテーブル(表)を格納する表領域を指定します。指定しない場合はそのスキーマ(ユーザーの表領域に格納されます

PCTFREEは更新等のために確保される空き領域割合を指定します。ディフォルトは10%です

PCTUSEDは空き使用領域の割合を指定します。ディフォルトは40%です

INITIALはセグメントに割り当てる初期エクステントのサイズを指定します

NEXTは増分エクステントのサイズを指定します

MINEXTENTSは最小エクステントの数を指定します

MAXEXTENTSは最大エクステントの数を指定します。 UNLIMITEDを指定すると無制限になります

PCTINCREASEはエクステントの拡大率を指定します

エクステントはブロックを格納する単位です。データが増加し、エクステント内に格納しきれなくなると、次のエクステントが作成されます。エクステントの管理はOracleに任せるほうがいいでしょう

BUFFER_POOLはデータブロックが格納されるバッファプールを指定します。

DEFAULT:標準バッファキャッシュ

KEEP:KEEPバッファキャッシュ

RECYCLE:RECYCLEバッファキャッシュ

通常はDEFAULTの標準バッファキャッシュです

FREELISTSは空きリストの数を指定します。空きリストの競合が発生している場合にこの値を大きくするといいでしょう

LOGGING | NOLOGGINGは更新後ログであるREDOへの書き込みをするかしないかを指定します

LOGGING:表の記憶特性をREDOログに記録する(デフォルト)

NOLOGGING:表の記憶特性をREDOログに記録しない

通常はデフォルトLOGGINGです

CACHE | NOCACHEはメモリ(ベースバッファキャッシュ)にそのテーブル(表)を常駐させるか、させないかを指定します

CACHE:表をデータベースバッファキャッシュにキャッシュさせる

NOCACHE:表をデータベースバッファキャッシュにキャッシュさせない(デフォルト)

通常はメモリを圧迫するので、特殊なテーブル(表)、例えば頻繁に使用する小さなマスタテーブル等以外はデフォルトのNOCACHEにします