# DB定義書 ## 変更履歴 | No | 変更内容 | 担当者 | 変更日 | 承認者 | 備考 | |----|---------|--------|--------|--------|------| | 1 | 新規作成(全8テーブル) | AI | 2026/06/23 | | サブシステムA(6) + B(2) | --- # 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