-- ============================================================
-- 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)
);
