HR 인사정보 연동 가이드

개요
Works 인사 정보를 사내 시스템과 연동하기 위한 DB 정보입니다.
주요 용도: VPN 계정 사용자 확인, Git/Redmine 계정 연동, HRM(인사관리 시스템) 연동 등 사내 시스템에 최신 조직/인사 정보를 제공합니다.
공개 문서 안내
이 문서에는 접속 계정, 비밀번호, 서버 IP 등 기밀 접속 정보가 포함되어 있지 않습니다. 실제 접속 정보와 권한은 담당자 승인 후 별도로 안내됩니다.
사용 신청 필수!
데이터를 사용하기 위해서는 반드시 관리자에게 VIEW 테이블 사용을 신청해야 합니다. 임의 접근은 불가능합니다.

DB 접속 정보

항목 내용
접속 IP [HR DB 서버 IP] (담당자에게 문의)
유형 MariaDB 10.5.27
DB Name HR
제공 VIEW v_active_users (활성 사용자 상세 정보)
v_user_contacts (활성 사용자 연락처 중심 정보)
v_integration_users (Git/Redmine 사용자 연동 권장 VIEW)
v_integration_departments (Git/Redmine 부서/그룹 연동 권장 VIEW)
v_department_hierarchy (부서 계층 상세 VIEW)

권장 사용 VIEW

Git/Redmine 등 계정 연동 시스템은 v_integration_usersv_integration_departments 사용을 권장합니다.
원본 사용자 데이터에는 여러 Works 도메인 또는 중복 계정으로 인해 같은 사용자가 여러 행으로 나타날 수 있습니다. v_integration_users는 활성 사용자 중 이메일 기준으로 1명 1행만 남기도록 정리한 연동 전용 VIEW입니다. 부서 정보는 유지보수를 쉽게 하기 위해 현재 부서와 상위 부서만 가진 부모 참조형 구조로 제공합니다. 전체 경로나 단계별 부서명은 표시/검증용 v_department_hierarchy에서만 조회하세요.
부서 표준화 기준
부서 연동 기준은 내부 표준 테이블 hr_departments에 저장됩니다. 외부 시스템은 직접 가공하지 말고 v_integration_departmentsv_integration_users를 조회하세요.
VIEW명 용도 사용 기준
v_integration_users Git/Redmine 계정 연동 계정 생성/갱신처럼 사용자 고유성이 중요한 연동에 사용합니다. username, mail 중복이 없고 부서 계층 컬럼이 포함되어 있습니다.
v_integration_departments Git/Redmine 부서/그룹 연동 부서/그룹 목록을 만들 때 사용합니다. department_id, department_name, parent_department_id 중심의 부모 참조형 구조입니다.
v_department_hierarchy 부서 계층 상세 조회 관리 화면과 동일한 기준으로 최상위부터 현재 부서까지의 계층을 제공합니다. 통계/검증용으로 사용합니다.
v_active_users 활성 사용자 상세 조회 활성 사용자 전체 목록이 필요할 때 사용합니다. 도메인 중복이 있을 수 있으므로 계정 자동 생성 원천으로는 권장하지 않습니다.
v_user_contacts 연락처 중심 조회 이메일, 휴대폰, 내선 등 연락처성 정보 조회에 사용합니다. 도메인 중복이 있을 수 있습니다.

VIEW 컬럼 정보

1. v_integration_users (Git/Redmine 연동 권장)

활성 사용자를 이메일 기준으로 중복 제거하고, 부서 계층을 함께 붙인 계정 연동 전용 VIEW입니다.

컬럼명 데이터 타입 설명
username VARCHAR Git/Redmine 로그인 후보 값. 이메일의 @ 앞부분을 소문자로 변환한 값입니다.
login_id VARCHAR(128) Works 로그인 ID를 소문자로 정규화한 값입니다.
external_id VARCHAR(64) 외부 시스템에서 사용자 매칭 키로 사용할 수 있는 HR 사용자 ID입니다.
user_id VARCHAR(64) Works 사용자 고유 ID입니다.
domain_id VARCHAR(16) Works 도메인 ID입니다.
mail VARCHAR(255) Redmine 연동용 이메일 컬럼입니다.
email VARCHAR(255) 사용자 이메일 주소입니다.
user_name VARCHAR(50) 사용자 이름입니다.
display_name VARCHAR(255) 표시 이름입니다. 비어 있으면 user_name을 사용합니다.
redmine_firstname VARCHAR(255) Redmine firstname 매핑 후보 값입니다.
redmine_lastname VARCHAR(50) Redmine lastname 매핑 후보 값입니다.
department, dept_org_id VARCHAR 원본 사용자 테이블의 부서명 및 조직 ID입니다. 부서 연동은 아래 계층 컬럼 사용을 권장합니다.
department_name, department_slug VARCHAR 현재 소속 부서명과 GitLab/Redmine 경로 후보 값입니다.
parent_department_id, parent_department_name VARCHAR 상위 부서 ID와 이름입니다. 최상위 조직은 비어 있을 수 있습니다.
root_department_id, root_department_name, site_name VARCHAR 최상위 조직 구분 값입니다. 회사 내 최상위 조직이 여러 개이므로 함께 저장하세요.
job_title, position VARCHAR 직무/직책 및 직급 정보입니다. 시스템에 따라 비어 있을 수 있습니다.
mobile, telephone VARCHAR 휴대폰 번호 및 내선 번호입니다. 필요한 업무 범위에서만 사용하세요.
status VARCHAR(32) 사용자 상태입니다. 이 VIEW는 활성 사용자만 포함합니다.
external_key VARCHAR(128) 외부 시스템 연동용 키입니다.
created_at, updated_at DATETIME 생성 및 수정 일시입니다. 증분 동기화 시 updated_at을 활용할 수 있습니다.

2. v_integration_departments (Git/Redmine 부서/그룹 연동 권장)

활성 부서를 부모 참조형으로 제공하는 부서/그룹 연동 전용 VIEW입니다. GitLab 그룹/서브그룹 생성과 Redmine 부서 매핑의 기준으로 사용합니다.

컬럼명 데이터 타입 설명
department_idVARCHAR(64)부서 고유 ID입니다. 외부 시스템 매칭 키로 사용합니다.
department_nameVARCHAR(255)현재 부서명입니다.
department_slugVARCHAR현재 부서명 기반 시스템 경로 후보 값입니다.
parent_department_idVARCHAR(64)상위 부서 ID입니다. 최상위 조직은 비어 있습니다.
parent_department_nameVARCHAR(255)상위 부서명입니다.
parent_department_slugVARCHAR(255)상위 부서의 시스템 경로 후보 값입니다.
root_department_id, root_department_nameVARCHAR최상위 조직 ID와 이름입니다.
site_nameVARCHAR(255)최상위 조직명 별칭입니다. Git/Redmine 그룹의 최상위 구분으로 사용할 수 있습니다.
source_org_unit_idVARCHAR(64)원본 org_units.org_unit_id입니다. 원본 추적과 사용자 매핑에 사용합니다.
source_parent_org_unit_idVARCHAR(64)원본 상위 조직 ID입니다.
direct_active_user_countINT해당 부서에 직접 소속된 활성 사용자 수입니다. 하위 부서 인원은 포함하지 않습니다.
domain_id, external_key, source_statusVARCHAR원본 도메인, 외부 연동 키, 원본 조직 상태입니다.
active, sort_order, updated_at, synced_at기타연동 사용 여부, 정렬 순서, 수정/동기화 일시입니다.

3. v_department_hierarchy (부서 계층 상세)

전체 경로, 경로 slug, 단계별 부서명, leaf 여부 등 사람이 보기 좋은 계층 정보를 제공합니다. 외부 시스템 연동 기준은 v_integration_departments를 우선 사용하세요.

4. v_active_users (활성 사용자 상세 정보)

활성 사용자 전체를 조회하는 VIEW입니다. 도메인별 중복 사용자가 있을 수 있으므로 고유 계정 연동에는 v_integration_users를 사용하세요.

컬럼명 데이터 타입 설명
idBIGINT(20)내부 식별자입니다.
user_idVARCHAR(64)Works 사용자 고유 ID입니다.
domain_idVARCHAR(16)Works 도메인 ID입니다.
login_idVARCHAR(128)사용자 로그인 계정입니다.
user_nameVARCHAR(50)사용자 이름입니다.
display_nameVARCHAR(255)표시 이름입니다.
emailVARCHAR(255)사용자 이메일 주소입니다.
department, dept_org_idVARCHAR부서명 및 조직 ID입니다.
job_title, positionVARCHAR직무/직책 및 직급 정보입니다.
mobile, telephoneVARCHAR휴대폰 번호 및 내선 번호입니다.
statusVARCHAR(32)사용자 상태입니다.
external_keyVARCHAR(128)외부 시스템 연동용 키입니다.
created_at, updated_atDATETIME생성 및 수정 일시입니다.
activeTINYINT(1)활성화 여부입니다. 이 VIEW는 active = 1 데이터만 포함합니다.

5. v_user_contacts (활성 사용자 연락처 정보)

활성 사용자의 연락처와 기본 프로필을 조회하는 VIEW입니다.

컬럼명 데이터 타입 설명
user_idVARCHAR(64)Works 사용자 고유 ID입니다.
domain_idVARCHAR(16)Works 도메인 ID입니다.
login_idVARCHAR(128)사용자 로그인 계정입니다.
user_nameVARCHAR(50)사용자 이름입니다.
display_nameVARCHAR(255)표시 이름입니다.
emailVARCHAR(255)사용자 이메일 주소입니다.
mobile, telephoneVARCHAR휴대폰 번호 및 내선 번호입니다.
department, dept_org_idVARCHAR부서명 및 조직 ID입니다.
job_title, positionVARCHAR직무/직책 및 직급 정보입니다.
statusVARCHAR(32)사용자 상태입니다.
external_keyVARCHAR(128)외부 시스템 연동용 키입니다.
created_at, updated_atDATETIME생성 및 수정 일시입니다.
activeTINYINT(1)활성화 여부입니다. 이 VIEW는 active = 1 데이터만 포함합니다.

원본 테이블 참고 정보

1. org_units (조직 정보)

조직/부서 구조를 관리하는 테이블입니다.

컬럼명 데이터 타입 설명
org_unit_id VARCHAR(64) 조직의 고유 ID (Primary Key)
domain_id VARCHAR(16) Works 도메인 ID
name VARCHAR(255) 부서 또는 팀 이름 (예: IT Infra팀)
parent_org_id VARCHAR(64) 상위 조직의 org_unit_id
path TEXT 조직의 전체 경로 (계층 구조)
external_key VARCHAR(128) 외부 시스템 연동용 키 (API 연동)
order_index INT(11) 조직 정렬 순서
status VARCHAR(32) 조직 상태
created_at DATETIME 생성 일시
updated_at DATETIME 수정 일시
active TINYINT(1) 활성화 여부 (1: 활성, 0: 비활성)

2. users (사용자 정보)

직원 정보를 관리하는 핵심 테이블입니다.

컬럼명 데이터 타입 설명
id BIGINT(20) Auto Increment Primary Key
user_id VARCHAR(64) 사용자의 고유 ID (Unique)
domain_id VARCHAR(16) Works 도메인 ID
login_id VARCHAR(128) 사용자 로그인 계정
user_name VARCHAR(50) 사용자 이름
department VARCHAR(100) 부서명
display_name VARCHAR(255) Works에 표시되는 사용자 이름 (예: 홍길동)
email VARCHAR(255) 사용자 이메일 주소
dept_org_id VARCHAR(64) 사용자가 속한 조직의 org_unit_id
job_title VARCHAR(128) 직무/직책
position VARCHAR(128) 사용자의 직급 (예: 선임, 책임, 수석)
mobile VARCHAR(32) 휴대폰 번호
telephone VARCHAR(32) 사내 내선 번호
status VARCHAR(32) 사용자 상태
external_key VARCHAR(128) 외부 시스템 연동용 키 (API 연동)
created_at DATETIME 생성 일시
updated_at DATETIME 수정 일시
active TINYINT(1) 계정 활성화 여부 (1: 활성, 0: 비활성)

사용 예시

부서/그룹 목록 조회

SELECT department_id, department_name, department_slug,
parent_department_id, parent_department_name, site_name
FROM v_integration_departments
ORDER BY site_name, parent_department_name, department_name;

활성 사용자 목록 조회

SELECT user_id, login_id, user_name, display_name, email, position, dept_org_id
FROM v_active_users
ORDER BY user_name;

Git/Redmine 연동용 사용자 조회

SELECT username, mail, redmine_firstname, redmine_lastname,
department_id, department_name, parent_department_id,
site_name, external_id, updated_at
FROM v_integration_users
ORDER BY username;

Git/Redmine 그룹 경로 후보 조회

SELECT department_id, department_name, department_slug, parent_department_id
FROM v_integration_departments
ORDER BY parent_department_id, department_slug;

증분 동기화 대상 조회

SELECT username, mail, external_id, department_id, updated_at
FROM v_integration_users
WHERE updated_at >= 'YYYY-MM-DD HH:MM:SS'
ORDER BY updated_at;

사용자와 소속 부서 JOIN 조회

SELECT u.user_name, u.display_name, u.position,
d.department_name, d.parent_department_name, d.site_name
FROM v_active_users u
LEFT JOIN v_integration_departments d ON u.dept_org_id = d.source_org_unit_id
ORDER BY d.site_name, d.parent_department_name, d.department_name, u.display_name;

주의사항

문의

DB 접근 권한 신청 및 기술 지원은 IT Infra팀 또는 DB 관리자에게 문의해 주세요.

최종 업데이트: 2026-05-15 | HR Database v2.3