관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
비정규화 과정 0 0 464

by 구루비스터디 비정규화 Denormalization [2018.02.23]


1. 함수 종속을 적용해 정규화

  • 일반적인 정규화 단계이며 모델링을 수행하는 단계


2. 성능 문제 발생 요건 도출

  • 비정규화를 고려하기 시작하는 단계. 정규형으로 처리하면 성능에 문제가 되는 요건이 도출된 것
  • 성능 문제는 사전에 인지하기가 쉽지 않음.
  • 실제 운영되는 데이터를 가지고 액세스 패턴을 분석해야 성능 문제를 파악할 수 있음.


3. 비정규화 외에 다른 방안 검토

  • 인덱스를 조정하거나 힌트 등으로 해결하 수 있는지 검토
  • 뷰(View)를 사용해 원천(Raw) 데이터 중복 관리 방지. 단순히 조인을 피하려고 중복 속성을 채택할 때는 뷰를 사용하면 조인을 피할 수 있음.
  • 파티션(Partition)으로 데이터를 나눠서 해결하 수 있는지 검토
  • DBMS의 최신 기술을 적용해 해결할 수 있는지 검토
  • 클러스터링(Clustering)이나 IOT(Index Oriented Table) 같은 특수 형태의 테이블 사용 검토


4. 비정규화 수행

  • 어떠한 대안도 요건을 충분히 해결할 수 없다면 비정규형을 고려


5. 정합성 방안 검토

  • 중복된 속성은 무엇이며 엔터티의 원천(Raw) 데이터는 어디인지를 명확하게 정의해야 함
  • 양자 간에 데이터를 어떻게 맞춰야 하는지를 결정해야 함. 모델러가 제시해야 함


CASE_1) 정규형 수행 전 엔터티


CASE_1) 정규형 엔터티


CASE_1) 비정규형 엔터티-추출,중복 속성이 사용된 정규형

"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3748

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입