Files
cobol-java-v3/layout/DB定義書.md

14 KiB
Raw Permalink Blame History

DB定義書

変更履歴

No 変更内容 担当者 変更日 承認者 備考
1 新規作成(全8テーブル) AI 2026/06/23 サブシステムA(6) + B(2)
2 SALARYDB 4テーブル追加 AI 2026/07/08 サブシステムC(給与計算)

EMP_MASTER — 社員マスタ

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB EMP_MASTER PK: EMP_ID

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP_ID CHAR 8 8 NOT NULL
2 部署ID DEPT_ID CHAR 4 4 NOT NULL
3 氏名 EMP_NAME VARCHAR 50 50 NOT NULL
4 ステータス STATUS CHAR 1 1 NOT NULL '1'=在籍, '9'=退職

備考

  • サブシステムA: 参照のみ(SELECT)
  • サブシステムB: 使用しない

LEAVE_RECORDS — 休暇申請記録

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB LEAVE_RECORDS PK: APPLICATION_ID

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 申請番号 APPLICATION_ID INTEGER 10 4 NOT NULL 自動採番
2 社員番号 EMP_ID CHAR 8 8 NOT NULL
3 休暇種別 LEAVE_TYPE CHAR 2 2 NOT NULL 01/02/03/04
4 開始日 START_DATE CHAR 8 8 NOT NULL YYYYMMDD
5 開始時刻 START_TIME CHAR 4 4 NOT NULL HHMM
6 終了日 END_DATE CHAR 8 8 NOT NULL YYYYMMDD
7 終了時刻 END_TIME CHAR 4 4 NOT NULL HHMM
8 ステータス STATUS CHAR 1 1 NOT NULL '1'=有効, '9'=取消

備考

  • KIN02UPDがINSERT/DELETEを実行
  • KIN03EXPがSELECT(日付展開用)
  • 取消はDELETE FROM で物理削除

HOLIDAY_CALENDAR — 休日カレンダー

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB HOLIDAY_CALENDAR PK: HOLIDAY_DATE

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 休日日付 HOLIDAY_DATE CHAR 8 8 NOT NULL YYYYMMDD
2 説明 DESCRIPTION VARCHAR 50 50 NULL許可 NULL 例:「建国記念の日」

備考

  • 土日は曜日判定で処理するため、このテーブルには祝日のみ格納
  • KIN03EXP, KIN06CLDがSELECTで参照

SICK_LEAVE_RATE — 病欠控除率

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB SICK_LEAVE_RATE PK: LEAVE_TYPE

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 休暇種別 LEAVE_TYPE CHAR 2 2 NOT NULL '04'固定
2 控除率 DEDUCTION_RATE DECIMAL 3 2 3 NOT NULL 例:0.5050%控除)

備考

  • 全社員共通の設定値
  • 現時点では参照プログラム未実装(設計上定義)

DAILY_RECORDS — 日別勤怠記録

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB DAILY_RECORDS PK: (EMP_ID, TARGET_DATE)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP_ID CHAR 8 8 NOT NULL
2 対象日 TARGET_DATE CHAR 8 8 NOT NULL YYYYMMDD
3 出勤時刻 TIME_IN CHAR 4 4 NOT NULL HHMM, '0000'=打刻なし
4 退勤時刻 TIME_OUT CHAR 4 4 NOT NULL HHMM, '0000'=打刻なし
5 年休時間 ANNUAL_LEAVE_H DECIMAL 6 1 5 NOT NULL 0.1h単位
6 事假時間 PERSONAL_LEAVE_H DECIMAL 6 1 5 NOT NULL 0.1h単位
7 因公特批假時間 OFFICIAL_LEAVE_H DECIMAL 6 1 5 NOT NULL 0.1h単位
8 病欠時間 SICK_LEAVE_H DECIMAL 6 1 5 NOT NULL 0.1h単位
9 未申請欠勤時間 UNAPPROVED_ABSENT_H DECIMAL 6 1 5 NOT NULL 0.1h単位
10 更新日時 UPDATED_AT TIMESTAMP 10 NOT NULL DEFAULT CURRENT_TIMESTAMP

備考

  • KIN08DBUがKIN07DAIの出力ファイルからINSERT
  • 1社員1日=1レコード。出勤日のみ存在。

MONTHLY_ABSENCE — 月次統計

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
勤怠休暇管理DB MONTHLY_ABSENCE PK: (EMP_ID, YEAR_MONTH)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP_ID CHAR 8 8 NOT NULL
2 対象年月 YEAR_MONTH CHAR 6 6 NOT NULL YYYYMM
3 年休合計 ANNUAL_LEAVE_H DECIMAL 6 1 5 NOT NULL
4 事假合計 PERSONAL_LEAVE_H DECIMAL 6 1 5 NOT NULL
5 因公特批假合計 OFFICIAL_LEAVE_H DECIMAL 6 1 5 NOT NULL
6 病欠合計 SICK_LEAVE_H DECIMAL 6 1 5 NOT NULL
7 未申請欠勤合計 UNAPPROVED_ABSENT_H DECIMAL 6 1 5 NOT NULL
8 更新日時 UPDATED_AT TIMESTAMP 10 NOT NULL DEFAULT CURRENT_TIMESTAMP

備考

  • KIN08DBUが月次集計後にUPSERTMERGE
  • サブシステムC(給与計算)への連携元

OVT_APPLICATIONS — 個別加班申請テーブル

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
残業統計管理DB OVT_APPLICATIONS PK: APPL_ID

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 申請番号 APPL_ID CHAR 8 8 NOT NULL YYYYMMDD+SEQ
2 社員番号 EMP_ID CHAR 8 8 NOT NULL
3 申請日 APPL_DATE CHAR 8 8 NOT NULL YYYYMMDD
4 残業種別 OVT_TYPE CHAR 1 1 NOT NULL W=平日, H=休日
5 開始時刻 START_TIME CHAR 4 4 NOT NULL HHMM
6 終了時刻 END_TIME CHAR 4 4 NOT NULL HHMM
7 加班時間 OVT_HOURS DECIMAL 4 1 4 NOT NULL 0.1h単位
8 ステータス STATUS CHAR 1 1 NOT NULL 0=有効, 9=取消
9 更新日時 UPDATED_AT TIMESTAMP 10 NOT NULL

備考

  • ZAN06UPDがINSERT/UPDATEを実行
  • STATUS=9で取消(物理削除はしない)

OVT_MONTHLY — 月次集計テーブル

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
残業統計管理DB OVT_MONTHLY PK: (EMP_ID, YEAR_MONTH, OVT_TYPE)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP_ID CHAR 8 8 NOT NULL
2 対象年月 YEAR_MONTH CHAR 6 6 NOT NULL YYYYMM
3 残業種別 OVT_TYPE CHAR 1 1 NOT NULL W=平日, H=休日
4 加班時間合計 OVT_HOURS DECIMAL 6 1 5 NOT NULL
5 加班回数 OVT_COUNT INTEGER 10 4 NOT NULL
6 更新日時 UPDATED_AT TIMESTAMP 10 NOT NULL

備考

  • ZAN06UPDが月次集計結果をUPSERT

EMP-MASTERSALARYDB — 社員マスタ(給与計算用)

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
給与計算DB EMP-MASTER KYU01REC PK: EMP-ID

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP-ID CHAR 8 8 NOT NULL
2 氏名 EMP-NAME VARCHAR 40 40 NOT NULL
3 部署コード DEPT-CODE CHAR 2 2 NOT NULL
4 地域コード REGION-CODE CHAR 2 2 NOT NULL
5 職種コード CATEGORY-CODE CHAR 3 3 NOT NULL
6 基本給 BASE-SALARY DECIMAL 9 0 5 NOT NULL
7 時給 HOURLY-RATE DECIMAL 7 0 4 NOT NULL
8 扶養人数 DEPENDENT-COUNT SMALLINT 2 NOT NULL
9 ステータス STATUS CHAR 1 1 NOT NULL '0'=在籍, '9'=退職
10 更新日時 UPDATED-AT TIMESTAMP 10 NOT NULL CURRENT TIMESTAMP

備考

  • KYU02REGがINSERT/UPSERTを実行
  • KYU04CALがSELECTで参照

TAX-TABLESALARYDB — 所得税率テーブル

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
給与計算DB TAX-TABLE PK: (TAX-FROM, TAX-TO)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 課税下限 TAX-FROM DECIMAL 9 0 5 NOT NULL
2 課税上限 TAX-TO DECIMAL 9 0 5 NOT NULL
3 税率 TAX-RATE DECIMAL 5 4 3 NOT NULL
4 控除額 DEDUCTION DECIMAL 9 0 5 NOT NULL

備考

  • KYU05DEDがSELECT ... BETWEENで参照
  • 課税所得に対する超過累進税率

INSURANCE-TABLESALARYDB — 社会保険料率テーブル

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
給与計算DB INSURANCE-TABLE PK: (INS-INCOME-FROM, INS-INCOME-TO)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 所得下限 INS-INCOME-FROM DECIMAL 9 0 5 NOT NULL
2 所得上限 INS-INCOME-TO DECIMAL 9 0 5 NOT NULL
3 健康保険料率 INS-HEALTH-RATE DECIMAL 7 6 4 NOT NULL
4 厚生年金保険料率 INS-PENSION-RATE DECIMAL 7 6 4 NOT NULL
5 更新日時 UPDATED-AT TIMESTAMP 10 NOT NULL CURRENT TIMESTAMP

備考

  • KYU05DEDが内部テーブル(SEARCH ALL)に取込んで参照
  • 被保険者負担分のみ

SALARY-RESULTSSALARYDB — 給与計算結果テーブル

Layout(テーブル定義)

DB基本情報

DB名 DB ID COPY ID INDEX
給与計算DB SALARY-RESULTS PK: (EMP-ID, YEAR-MONTH)

カラム定義

No 項目名 項目名(英字名) TYPE 最大長 小数桁 バイト数 NULL DEFAULT PK INDEX1 INDEX2 INDEX3 備考
1 社員番号 EMP-ID CHAR 8 8 NOT NULL
2 対象年月 YEAR-MONTH CHAR 6 6 NOT NULL YYYYMM
3 総支給額 GROSS-PAYMENT DECIMAL 9 0 5 NOT NULL
4 源泉所得税 INCOME-TAX DECIMAL 9 0 5 NOT NULL
5 社会保険料 INSURANCE DECIMAL 9 0 5 NOT NULL
6 住民税 RESIDENT-TAX DECIMAL 9 0 5 NOT NULL
7 差引支給額 NET-PAYMENT DECIMAL 9 0 5 NOT NULL
8 更新日時 UPDATED-AT TIMESTAMP 10 NOT NULL CURRENT TIMESTAMP

備考

  • KYU06UPDがINSERT/UPSERTを実行