스타 스키마
위키백과 ― 우리 모두의 백과사전.
데이터 모델 |
---|
흔한 모델 |
기타 모델 |
결합형 |
스타 스키마(영어: star schema) (조인 스키마(영어: join schema라고도 불리기도 한다.)는 데이터 웨어하우스 스키마 중 가장 단순한 종류의 스키마인데, 한 개의 사실 테이블과 주 키 및 각 차원과 추가적인 사실들로 이루어진 스키마이다. 스타 스키마라는 이름은 스키마 다이어그램이 마치 "별표(star)" 모양이라 해서 붙여진 이름이다.
스타 스키마를 이용하면, 전통적인 관계형 데이터베이스를 활용하여 다차원 데이터베이스(MDDB) 기능을 할 수 있다. 거의 모든 분야에서 관계형 데이터베이스가 가장 일반적인 데이터 관리 시스템이기 때문에, 관계형 데이터베이스를 사용하여 다-차원 뷰를 구현한다는 점은 매우 매력적이다. 설사, 특정한 MDDB가 이용되더라도, 그것의 원천(sources)은 보통 관계형 데이터베이스가 되게 된다.
스타 스키마를 쓰는 이유 중 다른 하나는 스타 스키마를 이해하기 쉽다는 것이다. 스타 스키마의 사실 테이블은 보통 제 3 정규형인데 반해, 차원 테이블(dimensional tables)들은 보통 비정규화(de-normalized)된 제 2 정규형이다. 차원 테이블(dimensional table)을 정규화 한다면, 차원 테이블들은 눈꽃송이(영어: snowflake 스노플레이크) 모양으로 보일 것이다. (스노플레이크 스키마 참조) 그리고 제 3 정규형의 문제점들이 생길 것이다. 즉, 복잡한 쿼리를 날려야 할 것이고, 비즈니스 유저들은 데이터의 의미들을 잘 이해 못하게 될 것이다. 비록, 최신예 DBMS 기술과 하드웨어의 지원을 받아 쿼리 퍼포먼스는 향상될 수 있다해도, 높은 차수로 정규화된 테이블들은 리포팅(reporting)을 어렵게 하고 애플리케이션을 복잡하게 만들 뿐일 것이다.
[편집] SQL 예제
SELECT sum (f_sales.units_sold) FROM f_sales, d_customer, d_time, d_store, d_product WHERE f_sales.customer_id = d_customer.customer_id AND f_sales.date_id = d_time.date_id AND f_sales.store_id = d_store.store_id AND f_sales.product_id = d_product.product_id AND d_time.year_id = 1997 AND d_product.category_id = 'tv' GROUP BY d_product.brand, d_store.country_iso_id
[편집] 같이 보기
- 스노플레이크 스키마
[편집] 바깥 고리
- ((영어)) Designing the Star Schema Database by Craig Utley
- ((영어)) Star Schema for Retail Sales
- ((영어)) Stars: A Pattern Language for Query Optimized Schema
- ((영어)) Star schema optimizations
![]() |
이 문서는 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |