项目表 DSN8C10.PROJ

项目表示例描述了企业当前正在进行的每个项目。 表格每一行包含的项目编号、名称、负责人和日程安排日期。

项目表位于数据库中 DSN8D12A。 因为该表有引用 DEPTEMP 的外键,所以必须先创建这些表及其主键索引。 然后使用以下语句创建 PROJ

开始通用编程接口信息。
CREATE TABLE DSN8C10.PROJ
               (PROJNO   CHAR(6) PRIMARY KEY NOT NULL,
                PROJNAME VARCHAR(24)    NOT NULL WITH DEFAULT
                  'PROJECT NAME UNDEFINED',
                DEPTNO   CHAR(3)        NOT NULL REFERENCES
                  DSN8C10.DEPT ON DELETE RESTRICT,
                RESPEMP  CHAR(6)        NOT NULL REFERENCES
                  DSN8C10.EMP ON DELETE RESTRICT,
                PRSTAFF  DECIMAL(5, 2)          ,
                PRSTDATE DATE                   ,
                PRENDATE DATE                   ,
                MAJPROJ  CHAR(6))
        IN DSN8D12A.DSN8S12P
        CCSID EBCDIC;

因为项目表是自参照的,所以必须在稍后添加该约束的外键,语句如下:

ALTER TABLE DSN8C10.PROJ
      FOREIGN KEY RPP (MAJPROJ) REFERENCES DSN8C10.PROJ
              ON DELETE CASCADE;
通用编程接口信息结束。

项目表内容

下表显示了项目表格各列的内容。

表 1. 项目表格的列
列名 描述
1 PROJNO 项目编号(主键)
2 PROJNAME 项目名称
3 DEPTNO 负责该项目的部门ID
4 RESPEMP 负责该项目的员工ID
5 PRSTAFF 预计从 PRSTDATE 到 PRENDATE 期间完成整个项目(包括任何子项目)所需的人员平均数
6 PRSTDATE 预计项目开始日期
7 PRENDATE 预计项目结束日期
8 MAJPROJ 该项目所属的任何项目的ID

下表显示了项目表的索引:

表 2. 项目表索引
名称 专栏 索引类型
DSN8C10.XPROJ1 PROJNO 初级,上升
DSN8C10.XPROJ2 RESPEMP 升序

与其他表格的关系

该表具有自引用性:MAJPROJ的非空值必须是一个有效的项目编号。 该表是项目活动表的父表,通过列PROJNO上的外键关联。 它依赖于以下表格:

  • 部门表通过其DEPTNO上的外键
  • 员工表通过其外键连接到RESPEMP