본문 바로가기

IT/DB

데이터베이스 fact 테이블, dimension 테이블 뜻

728x90
반응형

 

 

데이터베이스에서 Fact 테이블Dimension 테이블데이터 웨어하우스(Data Warehouse)에서 자주 사용되는 개념입니다.


✅ 1. Fact 테이블 (사실 테이블)

"측정값(수치 데이터)"을 저장하는 테이블
일반적으로 트랜잭션 데이터(판매, 클릭 수, 매출 등) 를 포함

📌 특징

  • 주로 숫자 데이터(측정값, 집계 대상) 를 저장
  • Dimension 테이블의 키(FK)를 포함하여 관계를 형성
  • 대량의 데이터를 저장하는 경우가 많음

 

📌 예제 (판매 데이터)

주문ID 고객ID 제품ID 판매액 수량 날짜ID
1001 C001 P001 50,000 2 20240301
1002 C002 P003 120,000 1 20240302
1003 C003 P002 80,000 4 20240303

 

📌 Fact 테이블의 핵심 데이터:
✅ 판매액, 수량 → 숫자로 측정 가능한 측정값 (Measure)
✅ 고객ID, 제품ID, 날짜ID → Dimension 테이블을 참조하는 외래키 (FK)


 

✅ 2. Dimension 테이블 (차원 테이블)

"설명(속성 정보)"을 저장하는 테이블
예: 고객 정보, 제품 정보, 시간 정보 등

📌 특징

  • Fact 테이블의 수치 데이터(Measure)와 연결
  • 보통 텍스트 또는 범주형 데이터(이름, 지역, 카테고리 등) 저장
  • 크기가 상대적으로 작으며, Fact 테이블보다 변화가 적음

 

📌 예제 (고객 정보)

고객ID 고객명 성별 지역
C001 홍길동 서울
C002 김영희 부산
C003 이철수 대전

📌 Dimension 테이블의 핵심 데이터:
✅ 고객명, 성별, 지역 → 고객을 설명하는 속성(Attribute)


🚀 Fact 테이블 vs. Dimension 테이블 비교


 

구분 Fact 테이블 Dimension 테이블
주요 데이터 수치 데이터 (매출, 주문 수량 등) 설명 데이터 (제품명, 고객명 등)
키(FK 포함 여부) 외래키(FK) 포함 기본키(PK) 사용
데이터 크기 크고 많음 (트랜잭션 데이터) 상대적으로 작음 (설명 데이터)
예시 주문, 매출, 클릭 데이터 고객 정보, 제품 정보, 날짜 정보

✅ 3. Fact & Dimension 테이블 관계도 (스타 스키마)

아래와 같은 스타 스키마(Star Schema) 구조를 가지는 경우가 많습니다.

[고객 테이블] [제품 테이블] [날짜 테이블] \ | / \ | / [🔹Fact 테이블🔹]
 
 

Fact 테이블(중앙) → 트랜잭션 데이터 저장
Dimension 테이블(주변) → 속성 정보 제공

 

👉 결론:

  • Fact 테이블은 숫자로 분석할 데이터를 저장 (매출, 수량 등)
  • Dimension 테이블은 Fact 테이블의 데이터를 설명하는 속성 (고객, 제품, 시간 등)
  • 데이터 분석(OLAP, BI 도구)에서 Fact 테이블의 데이터를 Dimension 테이블 기준으로 그룹화 및 집계하여 사용

📊 쉽게 말해, "Fact 테이블 = 수치, Dimension 테이블 = 설명"

300x250
반응형