핵심 인사이트 (3줄 요약)

  1. 본질: DB 설계는 **개념 설계(ERD, DBMS 독립) → 논리 설계(정규화, 릴레이션 스키마) → 물리 설계(인덱스·역정규화·파티셔닝)**의 3단계로 진행되며, 각 단계는 추상화 수준이 다르고 산출물이 명확히 구분된다.
  2. 가치: 개념 설계를 건너뛰고 바로 테이블을 만드는 것은 "설계도 없이 건물을 짓는 것"과 같으며, 요구 변경 시 전체 DB를 재구축해야 하는 재앙을 초래한다.
  3. 판단 포인트: 기술사 시험에서는 3단계 각각의 산출물·핵심 활동·변환 규칙을 정확히 구분하여 서술해야 하며, 논리→물리 전환 시 성능 최적화(역정규화·인덱스) 판단 근거를 제시하는 것이 핵심이다.

Ⅰ. 개요 및 필요성

┌───────────────────────────────────────────────────────┐
│    DB 설계 3단계 흐름도                                │
├───────────────────────────────────────────────────────┤
│  [요구 분석]                                          │
│      │  "고객이 주문하고, 상품을 배송한다"             │
│      ▼                                                │
│  [1단계: 개념 설계]                                   │
│      산출물: ERD (엔터티·속성·관계)                    │
│      DBMS 독립, 비즈니스 관점                          │
│      │                                                │
│      ▼                                                │
│  [2단계: 논리 설계]                                   │
│      산출물: 릴레이션 스키마 (테이블·PK·FK)            │
│      정규화 (3NF/BCNF), DBMS 유형 결정                │
│      │                                                │
│      ▼                                                │
│  [3단계: 물리 설계]                                   │
│      산출물: 물리 테이블·인덱스·역정규화·파티셔닝      │
│      성능 최적화, 특정 DBMS 종속                      │
└───────────────────────────────────────────────────────┘
  • 📢 섹션 요약 비유: 개념 설계는 건물의 조감도(어떤 방이 있는지), 논리 설계는 평면도(방 크기·문 위치), 물리 설계는 시공 도면(콘크리트 두께·배관 위치)이다.

Ⅱ. 아키텍처 및 핵심 원리

3단계 비교표

단계관점산출물핵심 활동DBMS 종속
개념비즈니스ERD엔터티·관계 식별독립
논리데이터 구조릴레이션 스키마정규화, PK/FK 정의유형 결정
물리성능DDL, 인덱스역정규화, 파티셔닝종속

개념→논리 변환 규칙

ERD 요소릴레이션 변환
엔터티테이블
속성컬럼
1:N 관계FK (N쪽에 추가)
M:N 관계교차 테이블 (연결 엔터티)
식별자PK
  • 📢 섹션 요약 비유: ERD→릴레이션 변환은 한국어→영어 번역이다. 같은 의미(비즈니스 규칙)를 다른 형식(테이블 구조)으로 옮기는 것이다.

Ⅲ. 비교 및 연결

비교개념 설계논리 설계물리 설계
질문"무엇을 저장?""어떤 구조로?""어떻게 빠르게?"
도구ERD 도구정규화 알고리즘DBMS 전용 DDL
변경 비용낮음중간높음

Ⅳ. 실무 적용 및 기술사 판단

기술사 답안 구성 포인트

  1. 개념 설계: 비즈니스 규칙에서 엔터티·관계를 도출하는 과정.
  2. 논리 설계: ERD→릴레이션 변환 + 정규화(FD 분석 → 3NF/BCNF).
  3. 물리 설계: 성능 측정 → 병목 식별 → 역정규화/인덱스 판단.

안티패턴

  • 개념 설계 생략: 바로 CREATE TABLE → 요구 변경 시 전체 재구축.

Ⅴ. 기대효과 및 결론

3단계 설계를 충실히 따르면 요구 변경에 유연하고, 성능 최적화가 체계적이며, 유지보수가 용이한 DB를 구축할 수 있다. 최근에는 ERD를 코드로 관리하는 Schema-as-Code(Prisma, DBdiagram.io)가 DevOps 파이프라인에 통합되고 있다.


📌 관련 개념 맵

개념연결 포인트
ERD개념 설계의 핵심 산출물
정규화논리 설계의 핵심 활동
역정규화물리 설계의 성능 최적화 기법
인덱스물리 설계의 조회 성능 향상 도구
파티셔닝물리 설계의 대용량 테이블 관리

📈 관련 키워드 및 발전 흐름도

[ER 모델 (Chen, 1976) — 개념 설계 체계 확립]
    │
    ▼
[정규화 이론 (Codd, 1970s) — 논리 설계 수학적 기반]
    │
    ▼
[물리 설계 패턴 (1990s) — 인덱스·역정규화·파티셔닝]
    │
    ▼
[Schema-as-Code (2020s) — Prisma·DBdiagram.io]
    │
    ▼
[현재: AI 기반 스키마 추천 — 요구사항에서 ERD 자동 생성]

👶 어린이를 위한 3줄 비유 설명

  1. 개념 설계는 "이 집에는 거실·부엌·침실이 필요해!"라고 큰 그림을 그리는 거예요.
  2. 논리 설계는 "거실은 5×5m, 부엌은 3×3m"처럼 정확한 크기를 정하는 거예요.
  3. 물리 설계는 "벽 두께 20cm, 수도관 위치는 여기"처럼 실제로 짓는 방법을 정하는 거랍니다!