정보처리기사 - 실기

40. 반정규화(Denormalization)

도준영 2024. 10. 4. 17:28

  반정규화

 

반정규화는 시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 ★ 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리 하여 정규화 원칙을 위배하는 행위 ★

 

반정규화를 수행하면 시스템의 성능이 향상되고 관리 효율이 증가하나 데이터의 일관성 및 정합성이 저하될 수 있다.

 

과도한 반정규화는 오히려 성능을 저하시킬 수 있다.

 

반정규화의 방법

 

-테이블 통합

 

-테이블 분할

 

-중복 테이블 추가

 

-중복 속성 추가

 

 

  테이블 통합

 

테이블 통합은 두개의 테이블이 조인되어 사용되는 경우가 많을 경우 성능 향상을 위해 아예 하나의 테이블로 만들어 사용하는 것

 

테이블 통합을 고려하는 경우

 

- 두개의 테이블에서 발생하는 프로세스가 동일하게 자주 처리되는 경우

 

- 항상 두개의 테이블을 이용해서 조회를 수행하는 경우

 

 

테이블 통합의 종류

 

 

- 1:1 관계 테이블 통합

 

- 1:N 관계 테이블 통합

 

- 슈퍼타입/ 서브타입 테이블 통합

 

 

  테이블 분할

 

테이블 분할은 테이블을 수직 또는 수평으로 분할하는 것.

 

 

 

  중복 테이블 추가

 

중복 테이블 추가는 작업의 효율성을 향상시키기 위해 테이블을 추가하는 것임

 

중복 테이블을 추가하는 경우

 

- 여러 테이블에서 데이터를 추출해서 사용해야 할 경우

 

- 다른 서버에 저장된 테이블을 이용해야 하는 경우

 

 

중복 테이블 추가 방법

 

 

 

 

  중복 속성 추가

 

중복 속성 추가는 조인해서 데이터를 처리할 때 데이터를 조회하는 경로를 단축하기 위해 자주 사용하는 속성을 하나 더 추가하는 것

 

중복 속성을 추가하면 데이터의 무결성 확보가 어렵고, 디스크 공간이 추가로 필요함

 

중복 속성을 추가하는 경우

 

- 조인이 자주 발생하는 속성인 경우

 

- 접근 경로가 복잡한 속성인 경우

 

- 액세스의 조건으로 자주 사용되는 속성인 경우

 

- 기본키의 형태가 적절하지 않거나 여러 개의 속성으로 구성된 경우

 

 

 

 

 

 

'정보처리기사 - 실기' 카테고리의 다른 글

42. 트랜젝션 분석 / CRUD 분석  (0) 2024.10.04
41. 시스템 카탈로그  (0) 2024.10.04
39. 정규화(Nomalization)  (0) 2024.10.04
38. 이상/함수적 종속  (0) 2024.10.04
37. 관계대수 및 관계해석  (1) 2024.10.04