プロジェクト表 (DSN8A10.PROJ)

サンプルのプロジェクト表は、その企業で現在進行中の各プロジェクトを記述しています。 この表の各行に入るデータには、プロジェクト番号、名称、担当者、および日程などがあります。

プロジェクト表は、データベース DSN8D10A にあります。この表には、DEPTEMP を参照する外部キーがあるので、この表とその主キーの索引を最初に作成する必要があります。その後、以下のステートメントを使用して PROJ を作成します。

汎用プログラミング・インターフェース情報の開始
CREATE TABLE DSN8A10.PROJ
               (PROJNO   CHAR(6) PRIMARY KEY NOT NULL,
                PROJNAME VARCHAR(24)    NOT NULL WITH DEFAULT
                  'PROJECT NAME UNDEFINED',
                DEPTNO   CHAR(3)        NOT NULL REFERENCES
                  DSN8A10.DEPT ON DELETE RESTRICT,
                RESPEMP  CHAR(6)        NOT NULL REFERENCES
                  DSN8A10.EMP ON DELETE RESTRICT,
                PRSTAFF  DECIMAL(5, 2)          ,
                PRSTDATE DATE                   ,
                PRENDATE DATE                   ,
                MAJPROJ  CHAR(6))
        IN DSN8D10A.DSN8S10P
        CCSID EBCDIC;

このプロジェクト表は自己参照なので、その制約に関する外部キーを、 あとで以下のステートメントを使用して追加する必要があります。

ALTER TABLE DSN8A10.PROJ
      FOREIGN KEY RPP (MAJPROJ) REFERENCES DSN8A10.PROJ
              ON DELETE CASCADE;
汎用プログラミング・インターフェース情報の終了

プロジェクト表の内容

下表には、 プロジェクト表の列の内容を記載してあります。

表 1. プロジェクト表の列
列名 説明
1 PROJNO プロジェクト ID (主キー)
2 PROJNAME プロジェクト名
3 DEPTNO プロジェクトを担当する部門の ID
4 RESPEMP プロジェクト担当従業員の ID
5 PRSTAFF あらゆるサブプロジェクトを含め、プロジェクト全体を達成するために、 PRSTDATE から PRENDATE までに必要な平均プロジェクト人員の概算 (平均人数)
6 PRSTDATE プロジェクトの開始予定日
7 PRENDATE プロジェクトの終了予定日
8 MAJPROJ 対象プロジェクトがその一部となる主要プロジェクトがあれば、その ID

下表には、プロジェクト表の索引を記載してあります。

表 2. プロジェクト表の索引
名前 索引のタイプ
DSN8A10.XPROJ1 PROJNO 基本、昇順
DSN8A10.XPROJ2 RESPEMP 昇順

他の表との関係

この表は自己参照です。 MAJPROJ の非ヌル値は有効なプロジェクト番号でなければなりません。この表はプロジェクト活動表の親表であり、列 PROJNO の外部キーを経由します。 また、以下の表の従属表です。

  • DEPTNO の外部キーを経由する部門表
  • RESPEMP の外部キーを経由する従業員表