-- =============================================================================
-- 残業統計管理システム（サブシステムB）DBスキーマ
-- 対象DB2: DB2 for z/OS
-- ローカル開発: SQLite（型宣言はDB2準拠、SQLiteが許容する範囲で記述）
-- =============================================================================

-- 1. OVT_APPLICATIONS（個別加班申請テーブル）
-- 1件＝1回の残業申請。STATUS=9で取消。
CREATE TABLE OVT_APPLICATIONS (
    APPL_ID     CHAR(8)      NOT NULL PRIMARY KEY,
    EMP_ID      CHAR(8)      NOT NULL,
    APPL_DATE   CHAR(8)      NOT NULL,
    OVT_TYPE    CHAR(1)      NOT NULL,
    START_TIME  CHAR(4)      NOT NULL,
    END_TIME    CHAR(4)      NOT NULL,
    OVT_HOURS   DECIMAL(4,1) NOT NULL,
    STATUS      CHAR(1)      NOT NULL,
    UPDATED_AT  TIMESTAMP    NOT NULL
);

-- 2. OVT_MONTHLY（月次集計テーブル）
-- 社員別・年月別・種別別の残業時間集計。
CREATE TABLE OVT_MONTHLY (
    EMP_ID      CHAR(8)      NOT NULL,
    YEAR_MONTH  CHAR(6)      NOT NULL,
    OVT_TYPE    CHAR(1)      NOT NULL,
    OVT_HOURS   DECIMAL(6,1) NOT NULL,
    OVT_COUNT   INTEGER      NOT NULL,
    UPDATED_AT  TIMESTAMP    NOT NULL,
    PRIMARY KEY (EMP_ID, YEAR_MONTH, OVT_TYPE)
);
