侍エンジニア塾
Home » 未分類 » DDL(Data Definition Language)

DDL(Data Definition Language)

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.

rentry(PS4レンタル) rentry(スイッチレンタル) rentry rentry(VRレンタル)