---
type: knowledge
domain: architecture
status: active
last-reviewed: 2026-07-27
---

# 데이터·DB 설계

> 한 줄 정의
> 외주·SI에서 데이터·DB 역할의 설계 결정 목록·판단 기준과, **ERD·테이블정의서·코드정의서·데이터 이관 계획서**로의 납품 연결. 모델링·인덱스·트랜잭션의 기술 원리는 [[데이터 원리]]가 정본.

## 설계 대상과 납품 산출물

| 설계 대상 | 납품 산출물 | 검수에서 판정되는 것 |
|---|---|---|
| 엔티티·관계·제약 | **ERD · 테이블정의서** | 인수 후 유지보수팀이 문서만으로 스키마를 이해하는가 |
| 공통코드 체계 | **코드정의서** | 코드 값의 의미·소유 부서가 발주사와 합의됐는가 |
| 기존 시스템 데이터 이관 | **데이터 이관 계획서** | 이관 범위·정제 책임·검증 방법·리허설 여부 |
| 마이그레이션·롤백 | 이관 계획서 + 운영 적용 절차 | 운영 반영이 재현·복구 가능한가 |

기획 측 입력 템플릿: [[01_ERD·스키마 명세]] · [[02_쿼리·인덱스 계획]] · [[03_마이그레이션·데이터 영향]] · [[04_운영 적용·롤백]]. 데이터 계약의 설계 단계 정본은 [[02_API·데이터 계약]](Tech Lead) — 구현 단계 원본이 [[01_ERD·스키마 명세]], 납품 ERD는 스키마에서 역생성한다.

## 핵심 결정 항목 — 판단 기준

| 결정 | 판단 기준 | 기록 위치 |
|---|---|---|
| 주 저장소 | 관계형 1개가 기본값, 파생 저장소는 특수 질의만 ([[데이터 원리]] 유형표). 발주사 표준 DB가 있으면 그것이 고정 입력 | ADR(이탈 시) |
| 정규화 수준 | 정규화 기본, 비정규화는 **측정된 읽기 병목**에 대한 의식적 결정 + 갱신 경로 문서화 | 테이블정의서 비고 |
| 키 전략 | 대리 키 기본, 자연 키는 발주사 업무 키(사번·주문번호)와의 매핑을 코드정의서에 명시 | ERD·코드정의서 |
| 인덱스 | 실제 쿼리 패턴에서 역산 — 검수 성능 기준(응답 시간)이 있으면 그 쿼리부터 | 쿼리·인덱스 계획 |
| 공통 컬럼 | 생성/수정 시각·(멀티테넌트면) 테넌트 ID·PII 표시를 전 테이블 규칙으로 | 테이블정의서 서두 |
| 데이터 이관 범위 | **"이관은 당연히 포함"이 아니다** — 대상 테이블·건수·정제 책임(원본 오류는 발주사)·검증 기준을 착수 전 계약 확인, 없으면 CR | 이관 계획서 |
| 보존·파기 | 보존 기간·아카이브·파기 절차를 [[05_보안 설계]]의 데이터 분류와 함께 확정 | 이관 계획서·보안 문서 |

## 다른 역할과의 경계

- **백엔드**: 스키마 Owner는 DB, [[01_백엔드 설계]]는 합의자. 스키마 변경 요청은 마이그레이션 영향 평가를 거쳐 반영한다.
- **인프라**: 백업 주기·복구(RTO)는 [[04_인프라 설계]]와 공동 — 백업 정책 없는 이관은 설계 미완.
- **보안**: PII 후보 필드의 1차 식별·표시는 DB가 하고, 분류 등급·조치(암호화·마스킹) 판정은 [[05_보안 설계]]가 최종이다 — 식별 없이 판정 못 하고, 판정 없이 조치 못 한다.
- **AI**: 학습·평가·대화 로그 데이터의 명세와 보존은 [[06_AI·에이전트 설계]]와 데이터 명세로 합의한다.

## 외주 특수 제약 — 데이터 소유권은 발주사

- 데이터의 소유자는 발주사다. 수행사는 수탁 처리자로서 개발·테스트용 사본의 범위·파기 시점을 계약으로 확정하고, **종료 시 사본 파기**를 인수인계서에 남긴다.
- 원본 데이터 품질(중복·결측)의 정제 책임은 분쟁 1순위 — 이관 계획서에 "원본 오류는 발주사 확인 후 처리"를 명시한다.
- 운영 DB 접근은 발주사 절차(계정·망분리)를 따른다 — 접근 지연은 날짜·영향과 함께 기록.

## 안티패턴

- **이관을 견적 없이 떠안기** — "데이터는 넘겨드릴게요" 한 마디로 정제·매핑·검증이 전부 수행사 몫이 되는 것. 계약 문구를 먼저 확인한다.
- **ERD와 실제 스키마의 괴리** — 검수 직전 몰아 그린 ERD는 픽션이다. 최종본은 스키마에서 역생성 ([[외주 개발 산출물]]).
- **코드정의서 없는 매직 값** — 상태 코드 '03'의 의미가 개발자 머릿속에만 있으면 인수인계가 무너진다.
- **리허설 없는 운영 이관** — 연습 안 한 이관은 실패한 이관이다. 롤백 기준(몇 % 오류면 중단)을 사전 합의.

## 관련 문서

- [[00_설계 허브]] · [[00_역할별 설계 지도]] · [[01_백엔드 설계]] · [[05_보안 설계]]
- [[데이터 원리]] · [[데이터-모델-템플릿]] · [[설계 결정과 리뷰]] · [[마이그레이션·전환 설계]]
- [[외주 개발 산출물]] · [[SI 수주와 범위 관리]]
