Project

일반

사용자정보

2025/20.개발산출물/01.DB 설계 » iitp_db_schemas_init-deletion_and_creation_admin.sql

이환희, 2025-12-19 05:01

 
1
-- ## iitp DB Schemas - Initial setup - Creation and Delete if tables exists 
2
-- ## ver 0.0.5 last updated data : 2025.08.18
3
-- ## Only for PostgreSQL
4
-- ## Open API Admin 관리용 Admin 서비스 데이터용 테이블 생성 스크립트 
5
-- ## 
6

    
7

    
8
-- ################################################
9
-- ## ADMIN 시스템 테이블 생성 
10
-- ################################################
11

    
12
-- #### IITP Admin Account(user) 정보 테이블  ####
13

    
14
-- # public.sys_adm_account definition
15

    
16
DROP TABLE IF EXISTS public.sys_adm_account;
17

    
18

    
19
CREATE TABLE public.sys_adm_account (
20
	adm_id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL, -- system id, 고유 식별자 (자동 증가)
21
	login_id VARCHAR(128) NOT NULL,  -- admin login id
22
	password char(60) NOT NULL,	 -- admin login password (bcrypt Hassing)
23
	name VARCHAR(90) NOT NULL, -- admin name
24
	
25
	roles varchar(8) NOT NULL, -- admin role, "sys_admin_roles" comm code 참조
26
	status char(1) DEFAULT 'A'  NOT NULL, -- 데이터 상태,  "data_status" comm code 참조
27
	del_yn char(1) DEFAULT 'N'::bpchar NOT NULL, -- 삭제여부 (Y: 삭제)
28

    
29
	latest_login_at timestamptz, -- latest login time 
30
	
31
	affiliation VARCHAR(60), -- admin 소속
32
	description VARCHAR(600), -- admin 설명
33
	note VARCHAR(600), -- 비고
34
	
35
	created_at timestamptz DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 레코드 생성 시각
36
	updated_at timestamptz DEFAULT CURRENT_TIMESTAMP, -- 레코드 수정 시각
37
	deleted_at timestamptz NULL, -- 삭제 일시 (논리 삭제 시 기록)
38
	created_by varchar(40) NOT NULL, -- 데이터 생성자 (SYS-BACH, SYS-MANUAL, BY-USER, admin name), "sys_work_type" comm code 참조
39
	updated_by varchar(40) NULL, -- 데이터 수정자
40
	deleted_by varchar(40) NULL, -- 데이터 삭제자
41
	
42
	CONSTRAINT pkey_sys_adm_account PRIMARY KEY (adm_id)
43
);
44

    
45
CREATE UNIQUE INDEX uidx_sys_adm_account_login ON public.sys_adm_account USING btree (login_id);
46
CREATE INDEX idx_sys_adm_account_name ON public.sys_adm_account USING btree (name);
47
CREATE INDEX idx_sys_adm_account_role_status ON public.sys_adm_account USING btree (roles, status);
48
COMMENT ON TABLE public.sys_adm_account IS 'IITP Admin Account(user) 정보 테이블';
49

    
50
COMMENT ON COLUMN public.sys_adm_account.adm_id IS ' system id, 고유 식별자 (자동 증가)';
51
COMMENT ON COLUMN public.sys_adm_account.login_id IS 'admin login id';
52
COMMENT ON COLUMN public.sys_adm_account.password IS 'admin login password (bcrypt Hassing), 초기 비번(12345!!!)';
53
COMMENT ON COLUMN public.sys_adm_account.name IS 'admin name';
54

    
55
COMMENT ON COLUMN public.sys_adm_account.roles IS 'admin role, "sys_admin_roles" comm code 참조';
56
COMMENT ON COLUMN public.sys_adm_account.status IS '"data_status" comm code 참조';
57
COMMENT ON COLUMN public.sys_adm_account.del_yn IS '삭제여부 (Y: 삭제)';
58

    
59
COMMENT ON COLUMN public.sys_adm_account.affiliation IS 'admin 소속';
60
COMMENT ON COLUMN public.sys_adm_account.description IS 'admin 설명';
61
COMMENT ON COLUMN public.sys_adm_account.note IS '비고';
62

    
63
COMMENT ON COLUMN public.sys_adm_account.latest_login_at IS '마지막 로그인 시각';
64

    
65
COMMENT ON COLUMN public.sys_adm_account.created_at IS '레코드 생성 시각';
66
COMMENT ON COLUMN public.sys_adm_account.updated_at IS '레코드 수정 시각';
67
COMMENT ON COLUMN public.sys_adm_account.deleted_at IS '삭제 일시 (논리 삭제 시 기록)';
68
COMMENT ON COLUMN public.sys_adm_account.created_by IS '데이터 생성자 (SYS-BACH, SYS-MANUAL, BY-USER, admin name), "sys_work_type" comm code 참조';
69
COMMENT ON COLUMN public.sys_adm_account.updated_by IS '데이터 수정자';
70
COMMENT ON COLUMN public.sys_adm_account.deleted_by IS '데이터 삭제자';
71

    
72

    
73

    
74

    
75
-- #### IITP 공지사항 게시 정보 테이블 ####
76

    
77
-- # public.sys_notice definition
78

    
79
DROP TABLE IF EXISTS public.sys_notice;
80

    
81

    
82
CREATE TABLE sys_notice (
83
    notice_id        int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL, -- 공지사항 고유 ID
84
    title            VARCHAR(300) NOT NULL,                     -- 공지 제목
85
    content          VARCHAR(6000) NOT NULL,                    -- 공지 본문 내용
86
    notice_type      CHAR(1) NOT null DEFAULT 'G' CHECK (notice_type IN ('G', 'S', 'E')), -- 공지 유형 (예: G(general), S(system), E(event))
87
    pinned_yn        CHAR(1) DEFAULT 'N',                     -- 상단 고정 여부 (Y 시 우선 노출)
88
    public_yn        CHAR(1) DEFAULT 'Y',                      -- 공개 여부 (N이면 비공개 또는 관리자 전용)
89
    posted_at        timestamptz DEFAULT CURRENT_TIMESTAMP,       -- 게시 일시
90
    start_dt         DATE,                                      -- 공지 시작일 (노출 시작일)
91
    end_dt           DATE,                                      -- 공지 종료일 (노출 종료일)
92
    created_by       VARCHAR(100),                              -- 작성자
93
    updated_by       VARCHAR(100),                              -- 수정자
94
    created_at       timestamptz DEFAULT CURRENT_TIMESTAMP,       -- 생성 일시
95
    updated_at       timestamptz,                                 -- 수정 일시
96
	
97
	CONSTRAINT pkey_sys_notice PRIMARY KEY (notice_id)
98
);
99

    
100
CREATE INDEX idx_sys_notice_type_dt ON public.sys_notice USING btree (notice_type, start_dt,end_dt);
101

    
102
COMMENT ON TABLE sys_notice IS '공지사항 게시 정보 테이블';
103

    
104
COMMENT ON COLUMN sys_notice.notice_id IS '공지사항 고유 식별자';
105
COMMENT ON COLUMN sys_notice.title IS '공지 제목';
106
COMMENT ON COLUMN sys_notice.content IS '공지 본문 텍스트';
107
COMMENT ON COLUMN sys_notice.notice_type IS '공지 유형 (예: G(general), S(system), E(event))';
108
COMMENT ON COLUMN sys_notice.pinned_yn IS '공지 상단 고정 여부 (Y 시 우선 노출)';
109
COMMENT ON COLUMN sys_notice.public_yn IS '공개 여부 (N이면 비공개 또는 관리자 전용)';
110
COMMENT ON COLUMN sys_notice.posted_at IS '공지 게시 일시';
111
COMMENT ON COLUMN sys_notice.start_dt IS '공지 노출 시작일';
112
COMMENT ON COLUMN sys_notice.end_dt IS '공지 노출 종료일';
113
COMMENT ON COLUMN sys_notice.created_by IS '공지 작성자 ID 또는 이름';
114
COMMENT ON COLUMN sys_notice.updated_by IS '공지 수정자 ID 또는 이름';
115
COMMENT ON COLUMN sys_notice.created_at IS '레코드 생성 시각';
116
COMMENT ON COLUMN sys_notice.updated_at IS '레코드 수정 시각';
117

    
118

    
119

    
120

    
121

    
122
-- #### IITP 자주 묻는 질문(FAQ) 정보 테이블 ####
123

    
124
-- # public.sys_faq definition
125

    
126
DROP TABLE IF EXISTS public.sys_faq;
127

    
128
CREATE TABLE public.sys_faq (
129
    faq_id        int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL, -- system id, 고유 식별자 (자동 증가)
130
    faq_type       VARCHAR(12) NOT NULL,          -- FAQ 유형, "faq_type" comm code 참조
131
    question       VARCHAR(600) NOT NULL,                 -- 질문
132
    answer         VARCHAR(3000) NOT NULL,                 -- 답변
133
    sort_order     INT DEFAULT 0,                 -- 정렬 우선순위
134
	hit_cnt        INT DEFAULT 0,                 -- 조회수
135
    use_yn         CHAR(1) DEFAULT 'Y',           -- 사용 여부 (Y/N)
136
    created_at     timestamptz DEFAULT CURRENT_TIMESTAMP,
137
    updated_at     timestamptz DEFAULT CURRENT_TIMESTAMP,
138
    created_by     varchar(40),
139
    updated_by     varchar(40),
140
	
141
	CONSTRAINT pkey_sys_faq PRIMARY KEY (faq_id)
142
);
143
CREATE INDEX idx_sys_faq_type_sort ON public.sys_faq USING btree (faq_type, sort_order,use_yn);
144

    
145

    
146
COMMENT ON TABLE public.sys_faq IS '자주 묻는 질문(FAQ) 정보 테이블';
147

    
148
COMMENT ON COLUMN public.sys_faq.faq_id      IS 'FAQ 고유 ID';
149
COMMENT ON COLUMN public.sys_faq.faq_type    IS 'FAQ 유형, "faq_type" comm code 참조';
150
COMMENT ON COLUMN public.sys_faq.question    IS 'FAQ 질문';
151
COMMENT ON COLUMN public.sys_faq.answer      IS 'FAQ 답변';
152
COMMENT ON COLUMN public.sys_faq.sort_order  IS '정렬 순서';
153
COMMENT ON COLUMN public.sys_faq.hit_cnt     IS 'FAQ 조회수';
154
COMMENT ON COLUMN public.sys_faq.use_yn      IS '사용 여부 (Y/N))';
155

    
156

    
157
COMMENT ON COLUMN public.sys_faq.created_by  IS '등록자 ID 또는 이름';
158
COMMENT ON COLUMN public.sys_faq.updated_by  IS '수정자 ID 또는 이름';
159
COMMENT ON COLUMN public.sys_faq.created_at  IS '등록 일시';
160
COMMENT ON COLUMN public.sys_faq.updated_at  IS '수정 일시';
161

    
162

    
163

    
164

    
165
-- #### IITP 일반 사용자 QnA 테이블 (질문과 답변 포함) ####
166

    
167
-- # public.sys_qna definition
168

    
169
DROP TABLE IF EXISTS public.sys_qna;
170

    
171
CREATE TABLE public.sys_qna (
172
    qna_id           BIGSERIAL NOT NULL,                            -- 질문 고유 식별자
173
    user_id          int4  NOT NULL,                                   -- 작성자 system ID
174
    qna_type         VARCHAR(32) NOT NULL,                             -- 질문 유형, "qna_type" comm code 참조
175
    title            VARCHAR(600) NOT NULL,                            -- 질문 제목
176
    content          VARCHAR(6000) NOT NULL,                           -- 질문 내용
177
    secret_yn        CHAR(1) DEFAULT 'N',                              -- 비공개 여부 (Y: 비공개, N: 공개)
178
    writer_name      varchar(90),                                     -- 작성자 이름 (선택 입력)
179
    answer_content   VARCHAR(6000),                                   -- 답변 내용
180
    answered_by      varchar(40),                                     -- 답변자 ID 또는 이름
181
	answered_yn      CHAR(1) DEFAULT 'N',                              -- 답변 공개(완료) 여부 (Y: 공개(완료), N: 비공개(미답변))
182
	hit_cnt        INT DEFAULT 0,                 -- 조회수
183
	del_yn char(1) DEFAULT 'N'::bpchar NOT NULL, -- 삭제여부 (Y: 삭제)
184
    answered_at      timestamptz,                                        -- 답변 일시
185
    created_at       timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,     -- 질문 등록일시
186
    updated_at       timestamptz DEFAULT CURRENT_TIMESTAMP,              -- 마지막 수정일시
187
    deleted_at       timestamptz,                                        -- 삭제 일시
188
    created_by       varchar(40),                                     -- 생성자
189
    updated_by       varchar(40),                                     -- 수정자
190
    deleted_by       varchar(40),                                      -- 삭제자
191
	
192
	CONSTRAINT pkey_sys_qna PRIMARY KEY (qna_id)
193
);
194
CREATE INDEX idx_sys_qna_type_screct ON public.sys_qna USING btree (qna_type, secret_yn);
195
CREATE INDEX idx_sys_qna_type_sort ON public.sys_qna USING btree (hit_cnt, created_at);
196

    
197

    
198
COMMENT ON TABLE public.sys_qna IS '일반 사용자 QnA 테이블 (질문과 답변 포함)';
199

    
200
COMMENT ON COLUMN public.sys_qna.qna_id IS 'QnA 고유 식별자 (Primary Key)';
201
COMMENT ON COLUMN public.sys_qna.user_id IS '작성자 system ID ';
202
COMMENT ON COLUMN public.sys_qna.qna_type IS 'QnA 질문 유형, "qna_type" comm code 참조';
203
COMMENT ON COLUMN public.sys_qna.title IS '질문 제목';
204
COMMENT ON COLUMN public.sys_qna.content IS '질문 본문 내용';
205
COMMENT ON COLUMN public.sys_qna.secret_yn IS '비공개 여부 (Y: 비공개, N: 공개)';
206
COMMENT ON COLUMN public.sys_qna.writer_name IS '작성자 이름 (옵션)';
207
COMMENT ON COLUMN public.sys_qna.answer_content IS '답변 내용';
208
COMMENT ON COLUMN public.sys_qna.answered_by IS '답변 작성자 ID 또는 이름';
209
COMMENT ON COLUMN public.sys_qna.answered_yn IS '답변 공개(완료) 여부 (Y: 공개(완료), N: 비공개(미답변))';
210
COMMENT ON COLUMN public.sys_qna.hit_cnt     IS 'QnA 조회수';
211
COMMENT ON COLUMN public.sys_qna.del_yn IS '삭제여부 (Y: 삭제)';
212
COMMENT ON COLUMN public.sys_qna.answered_at IS '답변 등록 일시';
213
COMMENT ON COLUMN public.sys_qna.created_at IS '질문 등록 일시';
214
COMMENT ON COLUMN public.sys_qna.updated_at IS '질문 수정 일시';
215
COMMENT ON COLUMN public.sys_qna.deleted_at IS '삭제 일시 (soft delete)';
216
COMMENT ON COLUMN public.sys_qna.created_by IS '생성자 ID';
217
COMMENT ON COLUMN public.sys_qna.updated_by IS '수정자 ID';
218
COMMENT ON COLUMN public.sys_qna.deleted_by IS '삭제자 ID';
219

    
220

    
221

    
222

    
223

    
224

    
225

    
226
-- ################################################
227
-- ## 시스템 로그 기록 
228
-- ################################################
229

    
230

    
231

    
232
-- #### IITP 사용자 access(login/logout) 이력 테이블 ####
233

    
234
-- # public.sys_log_user_access definition
235

    
236
DROP TABLE IF EXISTS public.sys_log_user_access;
237

    
238
CREATE TABLE public.sys_log_user_access (
239
    log_id          BIGSERIAL NOT NULL,                            -- 로그 고유 ID
240
    user_id         int4 NOT NULL,                                  -- 사용자 ID
241
	user_type       CHAR(1) NOT NULL CHECK (user_type IN ('U', 'A')), -- 사용자 유형
242
    log_type        VARCHAR(16) NOT NULL CHECK (log_type IN ('LOGIN', 'LOGOUT', 'LOGOUT-T-EXP')), -- 수행한 액션 종류 (예: LOGIN, LOGOUT, LOGOUT-T-EXP)
243
    act_result      CHAR(1) NOT NULL CHECK (act_result IN ('S', 'F')),  -- 액션 결과 ( S, F)
244
    err_code       VARCHAR(10),                                      -- 실패 시 에러 코드
245
	err_msg        VARCHAR(200),                                             -- 실패 시 에러 메시지
246
    ip_addr      VARCHAR(50),                                      -- 요청 IP 주소	
247
	user_agent    VARCHAR(512),                           -- 사용자 디바이스 정보 (브라우저 등)
248
	access_tm     timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,     -- access 시각
249
	created_at       timestamptz DEFAULT CURRENT_TIMESTAMP,
250
	
251
	CONSTRAINT pkey_sys_log_user_access PRIMARY KEY (log_id)
252
);
253
CREATE INDEX idx_sys_log_user_access_user_type ON public.sys_log_user_access USING btree (user_id, user_type,log_type);
254

    
255

    
256
COMMENT ON TABLE public.sys_log_user_access IS '사용자 access(login/logout) 이력 테이블';
257

    
258
COMMENT ON COLUMN public.sys_log_user_access.log_id IS '로그 고유 ID';
259
COMMENT ON COLUMN public.sys_log_user_access.user_id IS '사용자 ID';
260
COMMENT ON COLUMN public.sys_log_user_access.user_type IS '사용자 유형(U:User, A:Admin)';
261

    
262
COMMENT ON COLUMN public.sys_log_user_access.log_type IS '수행한 액션 (예: LOGIN, LOGOUT,LOGOUT-T-EXP)';
263
COMMENT ON COLUMN public.sys_log_user_access.act_result IS '성공 여부( S:성공, F:실패)';
264
COMMENT ON COLUMN public.sys_log_user_access.err_code IS '에러 발생 시 코드';
265
COMMENT ON COLUMN public.sys_log_user_access.err_msg IS '에러 발생 시 상세 메시지';
266
COMMENT ON COLUMN public.sys_log_user_access.ip_addr IS '요청을 보낸 클라이언트 IP';
267
COMMENT ON COLUMN public.sys_log_user_access.user_agent IS '사용자 디바이스 정보 (브라우저 등)';
268
COMMENT ON COLUMN public.sys_log_user_access.access_tm IS 'access 시각';
269
COMMENT ON COLUMN public.sys_log_user_access.created_at IS '등록 일시';
270

    
271

    
272

    
273

    
274
-- #### IITP 어드민/사용자 데이터 변경 이력 테이블 ####
275

    
276
-- # public.sys_log_change_his definition
277

    
278
DROP TABLE IF EXISTS public.sys_log_change_his;
279

    
280
CREATE TABLE sys_log_change_his (
281
    log_id           BIGSERIAL PRIMARY KEY,
282
    
283
    actor_type       CHAR(1)      NOT NULL CHECK (actor_type IN ('U', 'A')),  -- 사용자 유형
284
    actor_id         BIGINT       NOT NULL, -- user_id or admin_id depending on actor_type
285

    
286
    action_type      VARCHAR(36)  NOT NULL, -- 변경 타입 (예: 'DEL_ACCOUNT', 'EDIT_ACCOUNT')
287
    target_type      VARCHAR(64),          --  변경 대상 타입(예: 'USER_PROFILE', 'ADMIN_MENU', 'ROLE', etc.)
288
    target_id        BIGINT,                -- 대상 ID
289

    
290
    act_result      CHAR(1) NOT NULL CHECK (act_result IN ('S', 'F')),  -- 액션 결과 ( S, F)
291
    chg_summary     JSONB,                 -- 주요 변경 내용 요약, 예: {"bf": {...}, "af: {...}}
292
    
293
	err_code       VARCHAR(10),           -- 실패 시 에러 코드
294
	err_msg        VARCHAR(200),              -- 실패 시 에러 메시지
295
	
296
    ip_addr        VARCHAR(50),                 -- 요청 IP 주소
297
    user_agent    VARCHAR(512),               -- 사용자 디바이스 정보 (브라우저 등)
298

    
299
	act_tm         timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,     -- action 시각
300
    created_at     timestamptz DEFAULT CURRENT_TIMESTAMP
301
);
302
CREATE INDEX idx_sys_log_change_his_act_type_id ON public.sys_log_change_his USING btree (actor_type, actor_id, action_type);
303
CREATE INDEX idx_sys_log_change_his_tgt_type_id ON public.sys_log_change_his USING btree (target_type, target_id);
304

    
305

    
306
COMMENT ON TABLE public.sys_log_change_his IS '어드민/사용자 데이터 변경 이력 테이블';
307

    
308
COMMENT ON COLUMN public.sys_log_change_his.log_id IS '로그 고유 ID';
309
COMMENT ON COLUMN public.sys_log_change_his.actor_type IS '사사용자 유형(U:User, A:Admin)';
310
COMMENT ON COLUMN public.sys_log_change_his.actor_id IS 'user_id or admin_id depending on actor_type';
311

    
312
COMMENT ON COLUMN public.sys_log_change_his.action_type IS '변경 타입 (예: DEL_ACCOUNT, EDIT_ACCOUNT)';
313
COMMENT ON COLUMN public.sys_log_change_his.target_type IS '변경 대상 타입 (예: USR_PROFILE, ADM_MENU, ROLE, etc.)';
314
COMMENT ON COLUMN public.sys_log_change_his.target_id IS '대상 ID';
315

    
316
COMMENT ON COLUMN public.sys_log_change_his.act_result IS '성공 여부( S:성공, F:실패)';
317
COMMENT ON COLUMN public.sys_log_change_his.chg_summary IS '주요 변경 내용 요약, 예: {"bf": {...}, "af: {...}}';
318

    
319
COMMENT ON COLUMN public.sys_log_change_his.err_code IS '에러 발생 시 코드';
320
COMMENT ON COLUMN public.sys_log_change_his.err_msg IS '에러 발생 시 상세 메시지';
321
COMMENT ON COLUMN public.sys_log_change_his.ip_addr IS '요청을 보낸 클라이언트 IP';
322
COMMENT ON COLUMN public.sys_log_change_his.user_agent IS '사용자 디바이스 정보 (브라우저 등)';
323
COMMENT ON COLUMN public.sys_log_change_his.act_tm IS 'action 시각';
324
COMMENT ON COLUMN public.sys_log_change_his.created_at IS '등록 일시';
325

    
326

    
327

    
328

    
329

    
330

    
331

    
332

    
333

    
334
-- ################################################
335
-- ## 통계 데이터 수집 기록 
336
-- ################################################
337

    
338
-- #### KOSIS 통계 데이터 수집 기록 ####
339

    
340
-- # public.sys_ext_api_info definition
341

    
342
-- Drop table if table exists
343

    
344
CREATE TABLE public.sys_log_stats_intg_his (
345
	log_id int8 GENERATED BY DEFAULT AS identity
346
	
347
	intg_tbl_id VARCHAR(50) NOT NULL, -- 데이터 동합할 내부 db table id
348
	stat_tbl_id varchar(40) NOT NULL, -- 원데이터 통계 id
349
	action_type varchar(24) NOT NULL, -- action type "log_his_stat_act_type" comm code 참조
350
	
351
	ret_yn char(1) NOT NULL, -- action 실패 여부
352
	err_code char(6),   -- 실패시 에러 코드
353
	err_msg varchar(300),   -- 실패시 에러 메시지
354
	
355
	created_at timestamptz DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 레코드 생성 시각
356
	created_by varchar(40) NULL, -- 데이터 생성자 (SYS-BACH, SYS-MANUAL, BY-USER, admin name), "sys_work_type" comm code 참조
357
	
358
	CONSTRAINT pkey_log_his_stats_intg PRIMARY KEY (log_id)
359
	};
360
	
361
	
362
	
363
	COMMENT ON COLUMN public.log_his_stats_intg.created_at IS '레코드 생성 시각';
364
	COMMENT ON COLUMN public.log_his_stats_intg.created_by IS '데이터 생성자 (SYS-BACH, SYS-MANUAL, BY-USER, admin name), "sys_work_type" comm code 참조';
(4-4/11)