管理の手引き


データに関する業務規則

どの業務でも、 データが特定の制限または規則に従っていなければならない場合があります。 たとえば、従業員番号が固有でなければならない、などです。 DB2 は、このような規則を構成する手段として制約 を提供します。

DB2 は、以下のタイプの制約を提供します。

NOT NULL 制約
NOT NULL 制約は、ヌル値が列に入力されないようにします。

固有制約
固有制約は、 一連の列にある値が固有となり、 表のすべての行が非ヌルであるようにします。 たとえば、部署表での典型的な固有制約では、 部署番号が固有かつ非ヌルでなければなりません。

図 11. 固有制約は重複データを防ぐ


固有制約は重複データを防ぐ

データベース・マネージャーは、 挿入および更新操作中に制約を強制し、データ保全性を保証します。

基本キー制約
それぞれの表は、1 つの基本キーを持つことができます。 基本キーとは、固有制約と同じ特性を持つ、列または列の組み合わせです。 基本キー制約と外部キー制約を使用して、 表間の関係を定義できます。

基本キーは表の行を識別するために使用するため、 固有でなければならず、 追加または削除は少なくなければなりません。 1 つの表は複数の基本キーを持つことはできませんが、 複数の固有キーを持つことはできます。 基本キーはオプションであり、表の作成時または変更時に定義できます。 これらには、データのエクスポート時または再編成時にデータを配列するという益もあります。

次の表で、DEPTNO と EMPNO は、 それぞれ DEPARTMENT 表と EMPLOYEE 表の基本キーです。


表 1. DEPARTMENT 表
DEPTNO (基本キー) DEPTNAME MGRNO
A00 Spiffy Computer Service Division 000010
B01 Planning 000020
C01 Information Center 000030
D11 Manufacturing Systems 000060


表 2. EMPLOYEE 表
EMPNO (基本キー) FIRSTNAME LASTNAME WORKDEPT (外部キー) PHONENO
000010 Christine Haas A00 3978
000030 Sally Kwan C01 4738
000060 Irving Stern D11 6423
000120 Sean O'Connell A00 2167
000140 Heather Nicholls C01 1793
000170 Masatoshi Yoshimura D11 2890

外部キー制約
外部キー制約 (参照保全制約ともいう) により、 表間および表内での必須関係を定義することができます。

たとえば、典型的な外部キー制約は、 従業員表の全従業員が、部署表に定義されているとおりに既存の部署のメンバーでなければならない、 というものです。

この関係を確立するには、 従業員表の部署番号を外部キーとして定義し、 部署表の部署番号を基本キーとして定義できます。

図 12. 外部キー制約および基本キー制約は関係を定義してデータを保護する


外部キー制約および基本キー制約は関係を定義してデータを保護する

検査制約
検査制約は、 表の各行にある 1 つまたは複数の列で許可される値を指定するためのデータベース規則です。

たとえば従業員表では、「ジョブのタイプ (Type of Job)」列を、 「販売 (Sales)」、「管理 (Manager)」、または「事務 (Clerk)」となるように定義できます。 この制約を使用すると、 「ジョブのタイプ (Type of Job)」列にこれ以外の値のあるレコードはすべて無効になり、 拒否されることにより、表で許可されているデータのタイプに関する規則が強制されます。

トリガー をデータベースで使用することもできます。 トリガーは制約よりさらに複雑であり、潜在的により強力です。 トリガーは、指定した基礎表に対する INSERT、UPDATE、 DELETE 文節と一緒に実行される一連のアクション、 またはそれらの文節によってトリガー起動される一連のアクションを定義するものです。 トリガーを使えば、一般的な保全規則や業務規則をサポートできます。 たとえば、トリガーによって、注文に応じる前に顧客のクレジット限度を調べたり、 銀行業務アプリケーションで使用して、 アカウントからの引き出しが顧客の標準的な引き出しパターンに合わなかった場合にアラートを立ち上げたりできます。 このトリガーについての詳細は、アプリケーション開発の手引き を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]