선분 이력 모델 (Slowly Changing Dimension Type 2, SCD Type 2)

선분 이력 모델 (Slowly Changing Dimension Type 2, SCD Type 2)

선분 이력 모델(Temporal Data Model, SCD Type 2)은 데이터가 변경될 때마다 새로운 행을 추가하여 이전 데이터를 보존하면서 변경 이력을 관리하는 데이터 모델입니다. 📌 선분 이력 모델이란? ✅ 주로 사용되는 곳: 1️⃣ 선분 이력 모델의 테이블 구조 ID NAME ADDRESS START_DATE END_DATE IS_CURRENT 1 Alice New York 2023-01-01 2023-06-30 N 2 Alice Los Angeles 2023-07-01 9999-12-31 … Read more

ROW_NUMBER() OVER 문법

ROW_NUMBER() OVER 문법

Oracle의 ROW_NUMBER() OVER는 결과 집합의 각 행에 대해 정렬 기준을 기반으로 고유한 번호를 부여하는 윈도우 함수(Window Function) 입니다. 📌 기본 문법 ROW_NUMBER() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명) 1. 기본 사용법 (전체 데이터에 대해 순번 매기기) ROW_NUMBER()를 사용하면 전체 데이터에서 정렬된 순서대로 행 번호를 부여할 수 있습니다. ✅ 직원 테이블에서 급여순으로 순번 매기기 SELECT … Read more

TOP N 쿼리

TOP N 쿼리

TOP N 쿼리란? TOP N 쿼리는 주어진 조건에 따라 상위 N개의 행(Row)만 조회하는 SQL 쿼리를 의미합니다.예를 들어, 급여가 가장 높은 직원 5명을 조회하거나, 가장 많이 판매된 상품 10개를 조회하는 경우가 이에 해당합니다. 1. Oracle 12c 이상: FETCH FIRST N ROWS ONLY 사용 (권장) Oracle 12c부터는 SQL 표준인 FETCH FIRST N ROWS ONLY 구문을 지원하여 간단하게 … Read more

ROW Limiting(행 제한)

ROW Limiting(행 제한)

쿼리 성능 향상을 위해 필수적인 기법인 Row Limiting은 SQL 쿼리에서 특정 개수의 행(Row)만 조회하도록 제한하는 기법을 의미합니다. 주로 부분범위처리를 할때 사용합니다. 예전엔 where절에 rownum 조건으로 제한하곤 했는데, 오라클 12C 이상 버전부터 새로운 기능이 추가되어 기본적인 사항부터 차근차근 한번 알아보고자 합니다. Oracle에서 Row Limiting(행 제한)을 설정하는 방법은 Oracle 버전에 따라 다르게 적용됩니다. 최신 버전(Oracle 12c 이상)에서는 … Read more