项目表 ( DSN8C10.PROJ )
项目表示例描述了企业当前正在进行的每个项目。 表格每一行包含的项目编号、名称、负责人和日程安排日期。
项目表位于数据库中 DSN8D12A。 因为该表有引用 DEPT 和 EMP 的外键,所以必须先创建这些表及其主键索引。 然后使用以下语句创建 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 | PROJNO | 项目编号(主键) |
| 2 | PROJNAME | 项目名称 |
| 3 | DEPTNO | 负责该项目的部门ID |
| 4 | RESPEMP | 负责该项目的员工ID |
| 5 | PRSTAFF | 预计从 PRSTDATE 到 PRENDATE 期间完成整个项目(包括任何子项目)所需的人员平均数 |
| 6 | PRSTDATE | 预计项目开始日期 |
| 7 | PRENDATE | 预计项目结束日期 |
| 8 | MAJPROJ | 该项目所属的任何项目的ID |
下表显示了项目表的索引:
| 名称 | 专栏 | 索引类型 |
|---|---|---|
| DSN8C10.XPROJ1 | PROJNO | 初级,上升 |
| DSN8C10.XPROJ2 | RESPEMP | 升序 |
与其他表格的关系
该表具有自引用性:MAJPROJ的非空值必须是一个有效的项目编号。 该表是项目活动表的父表,通过列PROJNO上的外键关联。 它依赖于以下表格:
- 部门表通过其DEPTNO上的外键
- 员工表通过其外键连接到RESPEMP