- Add SHA01CVT-SHA10S10: all 10 programs, COPY books (13), binaries, design docs, resource usage lists, DDL schema_sha.sql - Add KYU01REC-KYU06REC COPY books (previously missing from git) - Fix design-code inconsistencies detected in audit: - SHA07KBR: remove dead SHACHKAC COPY (SUB04CHK never called) - SHA02MNC: 2020TYPSOR paragraph -> inline EVALUATE; SUB04CHK = PARM val - SHA05TWN: REVISED-TYPE values 'C'/'N' -> 'A'(定期決定)/'B'(月変) - SHA03MNP: 2010CALCSOR/2020WRTSOR -> inline implementation - SHA04TWO: remove GRADE-HISTORY from DB table list (not accessed) - SHA06TWM: add SALARYDB.EMP-MASTER to DB table list - SHA10S10: fix error file W99OUTFIL, 10+1 file count - Fix comment column alignment (Area A col 7) in SHA07KBR, SHA08SRT - Update KYU source/design docs: BOM removal, classification comment cleanup - Update README: Subsystem D added, program count 39
71 lines
2.8 KiB
SQL
71 lines
2.8 KiB
SQL
-- =============================================================================
|
|
-- 社会保険管理システム(サブシステムD)DBスキーマ
|
|
-- 対象DB2: DB2 for z/OS(区切り識別子使用)
|
|
-- ローカル開発: SQLite(型宣言はDB2準拠、SQLiteが許容する範囲で記述)
|
|
-- DB名称: INSURANCEDB
|
|
-- 注: テーブル名・カラム名は全角ハイフンを含むため二重引用符で囲む
|
|
-- =============================================================================
|
|
|
|
-- 1. INSURED-MASTER(被保険者マスタ)
|
|
CREATE TABLE "INSURED-MASTER" (
|
|
"EMP-ID" CHAR(8) NOT NULL,
|
|
"INSURED-NO" CHAR(10) NOT NULL,
|
|
"OFFICE-NO" CHAR(4) NOT NULL,
|
|
"INSURER-CODE" CHAR(4) NOT NULL,
|
|
"HEALTH-INS-TYPE" CHAR(1) NOT NULL,
|
|
"PENSION-TYPE" CHAR(1) NOT NULL,
|
|
"BASE-MONTHLY" DECIMAL(9,0) NOT NULL,
|
|
"GRADE-CODE" CHAR(2) NOT NULL,
|
|
"STATUS" CHAR(1) NOT NULL,
|
|
"UPDATED-AT" TIMESTAMP NOT NULL,
|
|
PRIMARY KEY ("EMP-ID")
|
|
);
|
|
|
|
-- 2. INSURANCE-RATES(保険料率テーブル)
|
|
CREATE TABLE "INSURANCE-RATES" (
|
|
"GRADE-CODE" CHAR(2) NOT NULL,
|
|
"MONTHLY-FROM" DECIMAL(9,0) NOT NULL,
|
|
"MONTHLY-TO" DECIMAL(9,0) NOT NULL,
|
|
"HEALTH-RATE" DECIMAL(7,6) NOT NULL,
|
|
"PENSION-RATE" DECIMAL(7,6) NOT NULL,
|
|
"EFFECTIVE-FROM" CHAR(6) NOT NULL,
|
|
"EFFECTIVE-TO" CHAR(6) NOT NULL,
|
|
"UPDATED-AT" TIMESTAMP NOT NULL,
|
|
PRIMARY KEY ("GRADE-CODE", "EFFECTIVE-FROM", "EFFECTIVE-TO")
|
|
);
|
|
|
|
-- 3. GRADE-HISTORY(標準報酬等級履歴)
|
|
CREATE TABLE "GRADE-HISTORY" (
|
|
"EMP-ID" CHAR(8) NOT NULL,
|
|
"YEAR-MONTH" CHAR(6) NOT NULL,
|
|
"GRADE-CODE" CHAR(2) NOT NULL,
|
|
"MONTHLY-AMOUNT" DECIMAL(9,0) NOT NULL,
|
|
"CHANGE-TYPE" CHAR(1) NOT NULL,
|
|
"PREV-GRADE" CHAR(2) NOT NULL,
|
|
"UPDATED-AT" TIMESTAMP NOT NULL,
|
|
PRIMARY KEY ("EMP-ID", "YEAR-MONTH")
|
|
);
|
|
|
|
-- 4. QUALIFICATION-CHANGES(資格異動テーブル)
|
|
CREATE TABLE "QUALIFICATION-CHANGES" (
|
|
"CHG-ID" INTEGER NOT NULL,
|
|
"EMP-ID" CHAR(8) NOT NULL,
|
|
"CHG-DATE" CHAR(8) NOT NULL,
|
|
"CHG-TYPE" CHAR(2) NOT NULL,
|
|
"INSURER-CODE" CHAR(4) NOT NULL,
|
|
"PREV-INSURER" CHAR(4) NOT NULL,
|
|
"REASON" VARCHAR(100) NOT NULL,
|
|
"UPDATED-AT" TIMESTAMP NOT NULL,
|
|
PRIMARY KEY ("CHG-ID")
|
|
);
|
|
|
|
-- 5. INSURER-MASTER(保険者マスタ)
|
|
CREATE TABLE "INSURER-MASTER" (
|
|
"INSURER-CODE" CHAR(4) NOT NULL,
|
|
"INSURER-NAME" VARCHAR(60) NOT NULL,
|
|
"PREF-CODE" CHAR(2) NOT NULL,
|
|
"INSURER-TYPE" CHAR(1) NOT NULL,
|
|
"UPDATED-AT" TIMESTAMP NOT NULL,
|
|
PRIMARY KEY ("INSURER-CODE")
|
|
);
|