プロジェクト表 (DSN8A10.PROJ)
サンプルのプロジェクト表は、その企業で現在進行中の各プロジェクトを記述しています。 この表の各行に入るデータには、プロジェクト番号、名称、担当者、および日程などがあります。
プロジェクト表は、データベース DSN8D10A にあります。この表には、DEPT と EMP を参照する外部キーがあるので、この表とその主キーの索引を最初に作成する必要があります。その後、以下のステートメントを使用して 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 | PROJNO | プロジェクト ID (主キー) |
2 | PROJNAME | プロジェクト名 |
3 | DEPTNO | プロジェクトを担当する部門の ID |
4 | RESPEMP | プロジェクト担当従業員の ID |
5 | PRSTAFF | あらゆるサブプロジェクトを含め、プロジェクト全体を達成するために、 PRSTDATE から PRENDATE までに必要な平均プロジェクト人員の概算 (平均人数) |
6 | PRSTDATE | プロジェクトの開始予定日 |
7 | PRENDATE | プロジェクトの終了予定日 |
8 | MAJPROJ | 対象プロジェクトがその一部となる主要プロジェクトがあれば、その ID |
下表には、プロジェクト表の索引を記載してあります。
名前 | 列 | 索引のタイプ |
---|---|---|
DSN8A10.XPROJ1 | PROJNO | 基本、昇順 |
DSN8A10.XPROJ2 | RESPEMP | 昇順 |
他の表との関係
この表は自己参照です。 MAJPROJ の非ヌル値は有効なプロジェクト番号でなければなりません。この表はプロジェクト活動表の親表であり、列 PROJNO の外部キーを経由します。 また、以下の表の従属表です。
- DEPTNO の外部キーを経由する部門表
- RESPEMP の外部キーを経由する従業員表