DDLスキーマ定義追加(schema_zan.sql, schema_kin.sql)
This commit is contained in:
@@ -10,6 +10,7 @@ production/
|
|||||||
├── sub/ # 共通サブプログラム
|
├── sub/ # 共通サブプログラム
|
||||||
├── cpy/ # COPY書式ファイル(レコード定義・連絡領域)
|
├── cpy/ # COPY書式ファイル(レコード定義・連絡領域)
|
||||||
├── bin/ # 実行ファイル(.exe)+サブプログラムDLL(.dll)
|
├── bin/ # 実行ファイル(.exe)+サブプログラムDLL(.dll)
|
||||||
|
├── ddl/ # DB2スキーマ定義(DDL)
|
||||||
├── design/ # サブシステム全体設計書
|
├── design/ # サブシステム全体設計書
|
||||||
├── 詳細設計書/ # 詳細設計ドキュメント
|
├── 詳細設計書/ # 詳細設計ドキュメント
|
||||||
└── 使用資源一覧/ # 使用資源一覧(COPY・CALL・I/Oファイル・DBテーブル)
|
└── 使用資源一覧/ # 使用資源一覧(COPY・CALL・I/Oファイル・DBテーブル)
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
-- =============================================================================
|
||||||
|
-- 勤怠休暇管理システム(サブシステムA)DBスキーマ
|
||||||
|
-- 対象DB2: DB2 for z/OS
|
||||||
|
-- ローカル開発: SQLite(型宣言はDB2準拠、SQLiteが許容する範囲で記述)
|
||||||
|
-- =============================================================================
|
||||||
|
|
||||||
|
-- 1. EMP_MASTER(社員マスタ)
|
||||||
|
-- 全社員の基本情報。サブシステムAでは参照のみ。
|
||||||
|
CREATE TABLE EMP_MASTER (
|
||||||
|
EMP_ID CHAR(8) NOT NULL PRIMARY KEY,
|
||||||
|
DEPT_ID CHAR(4) NOT NULL,
|
||||||
|
EMP_NAME VARCHAR(50) NOT NULL,
|
||||||
|
STATUS CHAR(1) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO EMP_MASTER VALUES ('EMP00001', 'D001', '山田太郎', '1');
|
||||||
|
INSERT INTO EMP_MASTER VALUES ('EMP00002', 'D002', '鈴木花子', '1');
|
||||||
|
INSERT INTO EMP_MASTER VALUES ('EMP00009', 'D003', '佐藤健一', '9');
|
||||||
|
INSERT INTO EMP_MASTER VALUES ('EMP00010', 'D001', '田中実', '1');
|
||||||
|
|
||||||
|
-- 2. LEAVE_RECORDS(休暇申請記録)
|
||||||
|
-- 休暇申請の生データ。取消はDELETEで物理削除。
|
||||||
|
CREATE TABLE LEAVE_RECORDS (
|
||||||
|
APPLICATION_ID INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
EMP_ID CHAR(8) NOT NULL,
|
||||||
|
LEAVE_TYPE CHAR(2) NOT NULL,
|
||||||
|
START_DATE CHAR(8) NOT NULL,
|
||||||
|
START_TIME CHAR(4) NOT NULL,
|
||||||
|
END_DATE CHAR(8) NOT NULL,
|
||||||
|
END_TIME CHAR(4) NOT NULL,
|
||||||
|
STATUS CHAR(1) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO LEAVE_RECORDS VALUES (1, 'EMP00001', '01', '20260615', '0900', '20260616', '1800', '1');
|
||||||
|
INSERT INTO LEAVE_RECORDS VALUES (2, 'EMP00002', '02', '20260617', '0900', '20260617', '1200', '1');
|
||||||
|
INSERT INTO LEAVE_RECORDS VALUES (3, 'EMP00001', '04', '20260620', '0900', '20260620', '1800', '9');
|
||||||
|
|
||||||
|
-- 3. HOLIDAY_CALENDAR(休日カレンダー)
|
||||||
|
-- 祝日のみ列挙。土日は曜日判定で処理。
|
||||||
|
CREATE TABLE HOLIDAY_CALENDAR (
|
||||||
|
HOLIDAY_DATE CHAR(8) NOT NULL PRIMARY KEY,
|
||||||
|
DESCRIPTION VARCHAR(50)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260101', '元日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260112', '成人の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260211', '建国記念の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260320', '春分の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260429', '昭和の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260503', '憲法記念日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260504', 'みどりの日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260505', 'こどもの日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260720', '海の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260811', '山の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260921', '敬老の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260922', '国民の休日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20260923', '秋分の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20261012', '体育の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20261103', '文化の日');
|
||||||
|
INSERT INTO HOLIDAY_CALENDAR VALUES ('20261123', '勤労感謝の日');
|
||||||
|
|
||||||
|
-- 4. SICK_LEAVE_RATE(病欠控除率)
|
||||||
|
-- 全社員共通の病欠控除率。
|
||||||
|
CREATE TABLE SICK_LEAVE_RATE (
|
||||||
|
LEAVE_TYPE CHAR(2) NOT NULL PRIMARY KEY,
|
||||||
|
DEDUCTION_RATE DECIMAL(3,2) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 5. DAILY_RECORDS(日別勤怠記録)
|
||||||
|
-- 1社員1日の勤怠情報。出勤日のみレコード存在。
|
||||||
|
CREATE TABLE DAILY_RECORDS (
|
||||||
|
EMP_ID CHAR(8) NOT NULL,
|
||||||
|
TARGET_DATE CHAR(8) NOT NULL,
|
||||||
|
TIME_IN CHAR(4) NOT NULL,
|
||||||
|
TIME_OUT CHAR(4) NOT NULL,
|
||||||
|
ANNUAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
PERSONAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
OFFICIAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
SICK_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
UNAPPROVED_ABSENT_H DECIMAL(6,1) NOT NULL,
|
||||||
|
UPDATED_AT TIMESTAMP NOT NULL,
|
||||||
|
PRIMARY KEY (EMP_ID, TARGET_DATE)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 6. MONTHLY_ABSENCE(月次統計)
|
||||||
|
-- DAILY_RECORDSの月次集計サマリ。
|
||||||
|
CREATE TABLE MONTHLY_ABSENCE (
|
||||||
|
EMP_ID CHAR(8) NOT NULL,
|
||||||
|
YEAR_MONTH CHAR(6) NOT NULL,
|
||||||
|
ANNUAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
PERSONAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
OFFICIAL_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
SICK_LEAVE_H DECIMAL(6,1) NOT NULL,
|
||||||
|
UNAPPROVED_ABSENT_H DECIMAL(6,1) NOT NULL,
|
||||||
|
UPDATED_AT TIMESTAMP NOT NULL,
|
||||||
|
PRIMARY KEY (EMP_ID, YEAR_MONTH)
|
||||||
|
);
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
-- =============================================================================
|
||||||
|
-- 残業統計管理システム(サブシステム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)
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user