refs #730: map carrier access groups to RDS performance

This commit is contained in:
devmrko
2026-07-24 14:43:45 +09:00
parent cdb2c37ae3
commit 9bed75f0c0
3 changed files with 312 additions and 1 deletions

View File

@@ -95,6 +95,36 @@ View comment에 기록한다.
각 View는 원격 소문자 컬럼을 Oracle의 일반 대문자 식별자로 명시적으로 alias한다. 따라서
후속 SQL과 Select AI metadata에서는 큰따옴표 없이 안정적으로 사용할 수 있다.
### 5.4 기존 접근 그룹을 이용한 직원별 선사 배정
직원별 담당 선사는 신규 업무 테이블을 만들지 않고 기존 백오피스 접근 그룹 모델을
재사용한다.
| 기존 객체 | 선사 배정에서의 역할 |
|---|---|
| `HMM_HR_EMPLOYEES` | 직원, 팀장, 팀 관계 |
| `HMM_ACCESS_GROUPS` | `CARRIER_C001`부터 `CARRIER_C008`까지 선사 접근 그룹 |
| `HMM_ACCESS_GROUP_MEMBERS` | 직원과 담당 선사의 연결 |
| `HMM_CARRIER_ASSIGNMENTS_V` | 기존 세 테이블을 Select AI가 사용하기 쉬운 형태로 정규화 |
`HMM_CARRIER_ASSIGNMENTS_V.CARRIER_CODE`는 그룹 코드에서 `CARRIER_` 접두어를 제거해
만들며, PostgreSQL 기반 `HMM_RDS_*_V.CARRIER_CODE`와 조인한다. 이 구조를 사용하면 기존
백오피스의 접근 그룹 화면에서 담당자 변경이 가능하고 별도 관리 화면이나 중복 테이블이
필요하지 않다.
`HMM_ACCESS_PERMISSION_RULES`는 행 접근 정책을 정의하는 보안 메타데이터이므로 담당 선사
원장으로 사용하지 않는다.
Select AI가 이 관계를 추론에만 의존하지 않도록 네 View의 table comment와
`CARRIER_CODE` column comment 양쪽에 상대 객체명과 조인 키를 기록한다.
- `HMM_CARRIER_ASSIGNMENTS_V.CARRIER_CODE`
`HMM_RDS_CARRIERS_V.CARRIER_CODE`
- `HMM_CARRIER_ASSIGNMENTS_V.CARRIER_CODE`
`HMM_RDS_CARRIER_PERF_V.CARRIER_CODE`
- `HMM_CARRIER_ASSIGNMENTS_V.CARRIER_CODE`
`HMM_RDS_CARRIER_LATEST_V.CARRIER_CODE`
## 6. 녹화용 실행 파일
| 순서 | 파일 | 화면에서 확인할 결과 |
@@ -107,6 +137,8 @@ View comment에 기록한다.
| 5 | `78_hmm_rds_pg_05_views.sql` | Oracle 로컬 View 3개 |
| 6 | `79_hmm_rds_pg_06_verify.sql` | `8 / 144 / 8`, 위험도 3종 |
| 재촬영 전 | `80_hmm_rds_pg_99_cleanup.sql` | View, DB Link, Credential만 제거 |
| 7 | `81_hmm_carrier_access_groups.sql` | 선사 그룹 8건, 구성원 8건, federation 조인 8건 |
| 8 | `82_hmm_federation_relationship_comments.sql` | 양쪽 View의 명시적 조인 관계 metadata |
## 7. 성공 기준
@@ -116,6 +148,8 @@ View comment에 기록한다.
- 원격 직접 조회가 선사 8건과 실적 144건을 반환한다.
- 로컬 View 3개가 `VALID` 상태다.
- 최신 View가 8건을 반환하고 `GREEN`, `AMBER`, `RED`가 모두 존재한다.
- `CARRIER_%` 접근 그룹 8개와 직원-그룹 구성원 8건이 존재한다.
- `HMM_CARRIER_ASSIGNMENTS_V``HMM_RDS_CARRIER_LATEST_V`의 조인이 8건을 반환한다.
- Credential password가 SQL 파일, Git diff, 화면 출력에 남지 않는다.
## 8. 실패 시 판별
@@ -132,6 +166,7 @@ View comment에 기록한다.
## 9. 제외 범위
- 이번 단계에서는 ADB 직원선사 담당 배정 테이블 및 VPD 정책을 만들지 않는다.
- 별도 직원-선사 담당 테이블은 만들지 않고 기존 접근 그룹 객체를 재사용한다.
- 선사별 VPD 정책 적용은 후속 단계에서 수행한다.
- Select AI profile과 MCP tool 등록은 로컬 View 검증 후 후속 단계에서 수행한다.
- 실제 실행은 녹화를 진행하는 사용자가 SQL Worksheet에서 수행한다.