본문 바로가기

정보처리기사 실기/데이터 입출력 구현

반정규화(Denormalization)

1. 반정규화(=비정규화)

정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위

 

2. 테이블 통합

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

 

* 테이블 통합의 종류

- 1:1 관계 테이블 통합

- 1:N 관계 테이블 통합

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

 

3. 테이블 분할

(1) 수평 분할 : 레코드를 기준으로 테이블 분할, 레코드 사용 빈도 차이가 큰 경우 빈도에 따라 테이블 분할

(2) 수직 분할 : 하나의 테이블에 속성이 많은 경우 속성을 기준으로 테이블을 분할

 

* 수직 분할 종류

- 갱신 위주의 속성 분할

- 자주 조회되는 속성 분할

- 크기가 큰 속성 분할

- 보안을 적용해야 하는 속성 분할

 

4. 중복 테이블 추가

작업 효울성을 향상 시키기 위해 테이블 추가

 

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

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

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

 

* 중복 테이블 추가 방법

- 집계 테이블 추가 : 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용

- 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블

- 특정 부분만을 포함하는 테이블의 추가: 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블 생성

 

5. 중복 속성 추가

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

(2) 중복 속성 추가 시 데이터 무결성 확보가 어렵고, 디스크 공간이 추가로 필요

 

* 중복 속성을 추가하는 경우

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

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

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

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

 

 

출처 :  정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경)  / 출판사 : 길벗

 

'정보처리기사 실기 > 데이터 입출력 구현' 카테고리의 다른 글

트랜잭션 분석/ CRUD 분석  (0) 2024.04.12
시스템 카탈로그  (0) 2024.04.12
정규화(Normalization)  (0) 2024.04.12
이상 / 함수적 종속  (0) 2024.04.12
관계대수 및 관계해석  (0) 2024.04.12