40분
실습: SCD Type 2 구현하기
Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
실습: SCD Type 2 구현하기
데이터 모델링 > Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
학습 목표
SCD Type 2 테이블을 설계한다 등급 변경 시 UPDATE/INSERT 쿼리를 작성한다
SCD Type 2 구현 실습
고객 등급이 변경될 때 이력을 남기는 시스템을 구현합니다.
시나리오
- 김철수 고객이 2022-01-01에 VIP로 가입
- 2024-01-01에 등급이 '일반'으로 변경
- 2024-06-01에 다시 'VIP'로 변경
문제 1: SCD Type 2 테이블 설계
valid_from, valid_to, is_current 컬럼을 포함한 테이블을 만드세요.
문제 2: 초기 데이터 삽입
김철수 고객의 최초 레코드를 삽입하세요.
문제 3: 등급 변경 처리
2024-01-01에 등급이 '일반'으로 변경되는 상황을 처리하세요.
- 기존 행 종료 (valid_to 업데이트)
- 새 행 추가
문제 4: 과거 시점 조회
2023-06-15 시점의 김철수 등급을 조회하세요.
문제 5: 등급 변경 프로시저
등급 변경을 자동화하는 프로시저를 작성하세요.
에디터 로딩 중...
힌트 보기
- • valid_to 업데이트 시: change_date - INTERVAL '1 day'
- • is_current로 현재 버전 빠르게 조회
- • BETWEEN으로 특정 시점 조회
- • 프로시저에서 RAISE NOTICE로 디버깅 가능
정답 보기
에디터 로딩 중...