Files
qiuqiuqiu 75475b3fa1 Add Subsystem C (KYU01-09): all 9 programs, design docs, resource lists, DDL, COPY, coverage stats
KYU programs for payroll calculation:
  KYU01CVT - CSV conversion
  KYU02REG - attendance registration
  KYU03AGG - aggregation
  KYU04CAL - salary calculation
  KYU05DED - deduction calculation
  KYU06UPD - DB update
  KYU07DIV - division/pay-slip
  KYU08PRI - print output
  KYU09MRG - merge output

Includes:
  - Source programs (9 .cbl)
  - Compiled executables (9 .exe)
  - Detailed design docs (9 + sign-off)
  - Basic design doc (subsystem C overview)
  - Resource lists (9)
  - DDL schema (schema_kyu.sql)
  - COPY book (KYU99REC.cpy)
  - Coverage statistics update
  - DB definition update (STATUS values)
  - Overall system design document
2026-07-09 08:09:59 +08:00

53 lines
1.9 KiB
SQL

-- ============================================================
-- SALARYDB 給与計算データベース 建表文
-- 対象DB2 : LUW
-- 作成日 : 2026-07-01
-- ============================================================
-- テーブル1: EMP-MASTER(社員マスタテーブル)
CREATE TABLE EMP-MASTER (
EMP-ID CHAR(8) NOT NULL,
EMP-NAME VARCHAR(40) NOT NULL,
DEPT-CODE CHAR(2) NOT NULL,
REGION-CODE CHAR(2) NOT NULL,
CATEGORY-CODE CHAR(3) NOT NULL,
BASE-SALARY DECIMAL(9,0) NOT NULL,
HOURLY-RATE DECIMAL(7,0) NOT NULL,
DEPENDENT-COUNT SMALLINT NOT NULL,
STATUS CHAR(1) NOT NULL,
UPDATED-AT TIMESTAMP NOT NULL,
PRIMARY KEY (EMP-ID)
);
-- テーブル2: TAX-TABLE(税率テーブル)
CREATE TABLE TAX-TABLE (
TAX-FROM DECIMAL(9,0) NOT NULL,
TAX-TO DECIMAL(9,0) NOT NULL,
TAX-RATE DECIMAL(5,4) NOT NULL,
DEDUCTION DECIMAL(9,0) NOT NULL,
PRIMARY KEY (TAX-FROM, TAX-TO)
);
-- テーブル3: INSURANCE-TABLE(社会保険料率テーブル)
CREATE TABLE INSURANCE-TABLE (
INS-INCOME-FROM DECIMAL(9,0) NOT NULL,
INS-INCOME-TO DECIMAL(9,0) NOT NULL,
INS-HEALTH-RATE DECIMAL(7,6) NOT NULL,
INS-PENSION-RATE DECIMAL(7,6) NOT NULL,
UPDATED-AT TIMESTAMP NOT NULL,
PRIMARY KEY (INS-INCOME-FROM, INS-INCOME-TO)
);
-- テーブル4: SALARY-RESULTS(給与計算結果テーブル)
CREATE TABLE SALARY-RESULTS (
EMP-ID CHAR(8) NOT NULL,
YEAR-MONTH CHAR(6) NOT NULL,
GROSS-PAYMENT DECIMAL(9,0) NOT NULL,
INCOME-TAX DECIMAL(9,0) NOT NULL,
INSURANCE DECIMAL(9,0) NOT NULL,
RESIDENT-TAX DECIMAL(9,0) NOT NULL,
NET-PAYMENT DECIMAL(9,0) NOT NULL,
UPDATED-AT TIMESTAMP NOT NULL,
PRIMARY KEY (EMP-ID, YEAR-MONTH)
);