# 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.50(50%控除) | ### 備考 - 全社員共通の設定値 - 現時点では参照プログラム未実装(設計上定義) --- # 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が月次集計後にUPSERT(MERGE) - サブシステム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-MASTER(SALARYDB) — 社員マスタ(給与計算用) ## 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-TABLE(SALARYDB) — 所得税率テーブル ## 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-TABLE(SALARYDB) — 社会保険料率テーブル ## 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-RESULTS(SALARYDB) — 給与計算結果テーブル ## 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を実行