입력 데이터

문제
반정규화 기법에 대한 설명으로 옳지 않은 것은 무엇인가?
보기
  1. 선택지 1 파생 컬럼을 추가하여 계산 비용이 큰 연산을 사전에 처리함으로써 조회 성능을 개선할 수 있다.
  2. 선택지2 집계 결과를 별도의 통계 테이블로 저장하여 반복적인 계산을 줄일 수 있다.
  3. 선택지3 함수 종속성을 기준으로 이상 현상을 제거하기 위해 테이블을 분해하는 것은 반정규화 기법이다.
  4. 선택지 4 조인 비용을 줄이기 위해 중복 관계를 추가하는 방법이 사용될 수 있다.
정답
3
해설
정답은 3번입니다. 데이터 모델링에서 반정규화(Denormalization)는 정규화된 모델의 조회 성능을 높이기 위해 의도적으로 중복을 허용하거나 구조를 재조합하는 기법입니다. 반면, 데이터의 일관성을 높이고 중복을 제거하기 위해 테이블을 쪼개는 행위는 정규화의 영역입니다. 수험생은 이 두 개념이 지향하는 목적(성능 vs 무결성)과 수단(통합 vs 분해)이 정반대임을 명확히 구분해야 합니다. 1. 파생 컬럼을 추가하여 계산 비용이 큰 연산을 사전에 처리함으로써 조회 성능을 개선할 수 있다. : 이는 반정규화의 대표적인 기법 중 하나인 '중복 컬럼 추가'에 해당합니다. 매번 쿼리 실행 시 합계나 평균을 계산하는 대신, 그 결과값을 미리 컬럼으로 저장해 두면 연산 부하를 획기적으로 줄여 조회 속도를 높일 수 있으므로 옳은 설명입니다. 2. 집계 결과를 별도의 통계 테이블로 저장하여 반복적인 계산을 줄일 수 있다. : 대량의 로우(Row)를 가진 테이블을 매번 그룹화(Group By)하여 조회하는 것은 시스템에 큰 부담을 줍니다. 이를 방지하기 위해 일별, 월별 합계 등을 별도의 테이블로 관리하는 '통계 테이블 생성'은 성능 향상을 위한 전형적인 반정규화 전략입니다. 3. 함수 종속성을 기준으로 이상 현상을 제거하기 위해 테이블을 분해하는 것은 반정규화 기법이다. : 이 문장은 정규화(Normalization)에 대한 정확한 정의입니다. 함수적 종속성에 따라 테이블을 분해하여 삽입, 삭제, 수정 이상 현상을 막는 과정은 데이터의 무결성을 위한 정규화 단계이며, 반정규화는 오히려 이렇게 분해된 테이블을 성능을 위해 다시 합치거나 중복을 만드는 것이므로 옳지 않습니다. 4. 조인 비용을 줄이기 위해 중복 관계를 추가하는 방법이 사용될 수 있다. : 여러 단계를 거쳐 조인해야 하는 복잡한 경로를 단축하기 위해, 직접적인 관계가 없는 엔터티 사이에 외래키를 추가하여 관계를 맺어주는 '중복 관계 추가' 역시 조인 횟수를 줄여 성능을 개선하는 유효한 반정규화 기법입니다. 정답은 3번입니다. 반정규화는 성능을 위해 구조를 통합하고 중복을 허용하는 과정인 반면, 3번 선지에서 설명하는 '이상 현상 제거를 위한 테이블 분해'는 정규화의 핵심 개념입니다. 따라서 반정규화 기법을 묻는 질문에서 정규화의 정의를 제시한 3번이 오답이 됩니다. 따라서, 정답은 '3. 함수 종속성을 기준으로 이상 현상을 제거하기 위해 테이블을 분해하는 것은 반정규화 기법이다.' 입니다.
12286번

1차 문제 검수

SQD 데이터 모델링의 이해 데이터 모델과 SQL 관계와 조인의 이해
문제
보기
선택지1
선택지2
선택지3
선택지4
정답
키워드
키워드
해설
비기봇 해설