데브코스 TIL/데이터 파이프라인, Airflow

Primary Key Uniqueness 보장하기

예니ㅣ 2023. 12. 14. 11:08

강의

Primary Key Uniqueness

"Primary Key"는 테이블에서 하나의 레코드를 유일하게 지칭할 수 있는 필드 입니다.

관계형 데이터베이스 시스템이 Primary Key의 값이 중복 존재하는 것을 막아줍니다.

빅데이터 기반 데이터 웨어하우스는 Primary Key Uniqueness를 보장하지 않습니다.

 

Primary Key 유지 방법

  • ROW_NUMBER : 최근 정보 우선 선택
  • 스테이징 테이블 이용 : 최신 레코드 우선 선택
-- weather_forecast 예시 이용

INSERT INTO Yen.weather_forecast
SELECT date, temp, min_temp, max_temp, created_date
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY date ORDER BY created_date DESC) seq
    FROM t
)
WHERE seq = 1;