DDL(Data Definition Language)言語に関する解説
DDL(Data Definition Language)言語はDML(Data Manipulation Language)、DCL(Data Control Language)と並ぶデータベース言語の一つです。データベースオブジェクトを作成・変更・削除する重要な言語です
DDL(Data Definition Language)言語とは
DDLはデータベースのオブジェクトを定義する(Data Definition Language)言語です。その中でも代表的なのがテーブルを作成するCREATE文です
CREATE TABLE文の例
以下は基本的なCREATE TABLE文の例です
CREATE TABLEは予約語で、テーブル(表)を作成するという意味です
テーブル名はこれから作成するテーブル(表)の名前です
列1、列2・・・はこれから作成するテーブルを構成する項目(カラム、属性とも言います)を記述します
列の後ろにデータ型(タイプ)を記述します。この例ではCHAR型(文字型の固定長)です
CREATE TABLE文のパラメータ
Oracleでは、CREATE TABLE文には以下のパラメータがあります
TABLESPACE
TABLESPACEはそのテーブル(表)を格納する表領域を指定します。指定しない場合はそのスキーマ(ユーザーの表領域に格納されます
PCTFREE
PCTFREEは更新等のために確保される空き領域割合を指定します。ディフォルトは10%です
PCTUSED
PCTUSEDは空き使用領域の割合を指定します。ディフォルトは40%です
INITIAL
INITIALはセグメントに割り当てる初期エクステントのサイズを指定します
NEXT
NEXTは増分エクステントのサイズを指定します
MINEXTENTS
MINEXTENTSは最小エクステントの数を指定します
MAXEXTENTS
MAXEXTENTSは最大エクステントの数を指定します。 UNLIMITEDを指定すると無制限になります
PCTINCREASE
PCTINCREASEはエクステントの拡大率を指定します
エクステントはブロックを格納する単位です。データが増加し、エクステント内に格納しきれなくなると、次のエクステントが作成されます。エクステントの管理はOracleに任せるほうがいいでしょう
BUFFER_POOL
BUFFER_POOLはデータブロックが格納されるバッファプールを指定します。
DEFAULT
DEFAULTは標準バッファキャッシュです
KEEP
KEEPはKEEPバッファキャッシュです
RECYCLE
RECYCLEはRECYCLEバッファキャッシュです
通常はDEFAULTの標準バッファキャッシュです
FREELISTS
FREELISTSは空きリストの数を指定します。空きリストの競合が発生している場合にこの値を大きくするといいでしょう
LOGGING | NOLOGGING
LOGGING | NOLOGGINGは更新後ログであるREDOへの書き込みをするかしないかを指定します
LOGGINGは表の記憶特性をREDOログに記録する(デフォルト)
NOLOGGINGは表の記憶特性をREDOログに記録しない
通常はデフォルトLOGGINGです
CACHE | NOCACHE
CACHE | NOCACHEはメモリ(ベースバッファキャッシュ)にそのテーブル(表)を常駐させるか、させないかを指定します
CACHEは表をデータベースバッファキャッシュにキャッシュさせる
NOCACHEは表をデータベースバッファキャッシュにキャッシュさせない(デフォルト)
通常はメモリを圧迫するので、特殊なテーブル(表)、例えば頻繁に使用する小さなマスタテーブル等以外はデフォルトのNOCACHEにします
One thought on “DDL(Data Definition Language)”-
ピンバック: テーブル定義書 – データベース研究室
Comments are closed.