# DB Table Catalog ## Purpose 이 문서는 현재 PostgreSQL 테이블을 역할별로 분류한 운영 기준 문서다. 핵심 원칙: - 테이블 수가 많다고 바로 줄이지 않는다. - 먼저 `유지 / 주의 / 원본·추적 / 정리 후보`로 나눈다. - 실제 운영 화면과 저장 흐름에 필요한 것은 유지한다. - 의미가 불분명하거나 중복 역할만 하는 것은 후보로 남겨두고, 실제 삭제는 별도 검증 후 진행한다. ## Summary - 전체 테이블: `26` - 유지: `16` - 주의: `6` - 원본·추적: `4` - 정리 후보: `0` ## 1. 유지 현재 운영 화면, 인증, 이력, 적재 흐름에서 계속 필요하다. - `auth.users` - `auth.sessions` - `auth.login_audit_logs` - `public.members` - `public.member_versions` - `public.history_revisions` - `public.seat_maps` - `public.seat_slots` - `public.seat_positions` - `public.seat_assignment_versions` - `public.integration_import_batches` - `public.integration_projects` - `public.integration_work_logs` - `public.integration_work_log_segments` - `public.integration_vouchers` - `public.integration_binary_sources` 설명: - `members`, `seat_*`는 조직현황/자리배치도 핵심 - `member_versions`, `seat_assignment_versions`, `history_revisions`는 as-of 조회와 이력 비교 핵심 - `integration_*` 표준화 결과는 프로젝트별 분석 / 팀·개인별 분석 핵심 - `integration_binary_sources`는 사업관리대장 같은 바이너리 원본 보관용 - `auth.*`는 로그인과 권한 운영 핵심 ## 2. 주의 현재도 역할은 있지만, 실제 운영에서 얼마나 계속 필요한지 주기적으로 점검해야 한다. - `public.member_overrides` - `public.member_retirements` - `public.member_aliases` - `public.integration_project_aliases` - `public.integration_project_category_mappings` - `public.integration_project_pm_assignments` 설명: - 이 테이블들은 핵심 마스터라기보다 “보정/매핑/예외 처리” 성격이 강하다. - 운영상 필요할 수 있지만, 남용되면 기준 데이터가 흐려진다. - 사용 규칙과 관리 책임을 분명히 해야 한다. ## 3. 원본·추적 원본 적재와 검증을 위해 필요하다. 직접 서비스 화면의 주 출력원이 아니라, 적재 근거와 추적용이다. - `public.integration_raw_organization_rows` - `public.integration_raw_mh_rows` - `public.integration_raw_mh_pm_rows` - `public.integration_raw_payment_rows` 설명: - 원본 파일을 바로 표준화 테이블에만 넣으면, 나중에 적재 오류를 추적하기 어렵다. - raw row 보관은 import 검증과 재현성 측면에서 의미가 있다. - 단, 장기 보관 정책과 용량 관리는 별도 필요하다. ## 4. 정리 후보 현재 기준 정리 후보 테이블은 없다. ## Domain Map ### 인증 - `auth.users` - `auth.sessions` - `auth.login_audit_logs` ### 조직 / 구성원 - `public.members` - `public.member_overrides` - `public.member_retirements` - `public.member_aliases` ### 자리배치도 - `public.seat_maps` - `public.seat_slots` - `public.seat_positions` ### 이력 - `public.history_revisions` - `public.member_versions` - `public.seat_assignment_versions` ### integration 표준화 - `public.integration_import_batches` - `public.integration_projects` - `public.integration_project_aliases` - `public.integration_project_category_mappings` - `public.integration_project_pm_assignments` - `public.integration_work_logs` - `public.integration_work_log_segments` - `public.integration_vouchers` - `public.integration_binary_sources` ### integration raw - `public.integration_raw_organization_rows` - `public.integration_raw_mh_rows` - `public.integration_raw_mh_pm_rows` - `public.integration_raw_payment_rows` ## Product View 운영자가 DB를 볼 때는 물리 테이블 수보다 아래 5개 묶음으로 보는 편이 더 이해하기 쉽다. ### 탭 데이터 - `public.members` - `public.seat_maps` - `public.seat_slots` - `public.seat_positions` - `public.integration_projects` - `public.integration_work_logs` - `public.integration_work_log_segments` - `public.integration_vouchers` - `public.integration_binary_sources` ### 로그인·권한 - `auth.users` - `auth.sessions` - `auth.login_audit_logs` ### 히스토리 - `public.history_revisions` - `public.member_versions` - `public.seat_assignment_versions` ### 로우데이터·적재 - `public.integration_import_batches` - `public.integration_raw_organization_rows` - `public.integration_raw_mh_rows` - `public.integration_raw_mh_pm_rows` - `public.integration_raw_payment_rows` ### 보정·보조 - `public.member_overrides` - `public.member_retirements` - `public.member_aliases` - `public.integration_project_aliases` - `public.integration_project_category_mappings` - `public.integration_project_pm_assignments` ## Operational Guidance ### 바로 줄이지 말아야 하는 것 - `integration_raw_*` - `member_versions` - `seat_assignment_versions` - `auth.*` 이건 지금 구조상 “많아 보여도 필요한 층”이다. ### 먼저 점검할 것 - `member_overrides`, `member_aliases`, `project_aliases`의 실제 운영 빈도 - `seat_maps`의 과거 실험 도면 정리 기준 ### 정리 원칙 1. 테이블을 없애기 전에 실제 읽는 API/화면/스크립트를 확인한다. 2. 원본 추적용 테이블은 운영 출력용 테이블과 구분해서 판단한다. 3. 테이블 삭제보다 먼저 “사용 안 함” 상태를 문서화한다. 4. 삭제는 백업과 검증 절차가 준비된 뒤에만 한다. ## Recommended Next Checks 1. `seat_maps` 과거 DXF 시도본 정리 기준 수립 2. `주의` 그룹 테이블의 입력/수정 주체 명확화 3. `DB 상태` 화면에서 이 분류를 기준으로 계속 설명 유지