IT 기술/DB

정규화와 역정규화

gooooooood 2024. 12. 4. 22:45
반응형

Ⅰ. 관계형 데이터베이스 중복 최소화, 정규화의 개요

가. 정규화의 개념

- 관계형 데이터베이스 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스로 관련 없는 함수 종속성을 별개의 릴레이션으로 표현

 

나. 정규화의 종류

기본 정규화 - 1차 정규화, 2차 정규화, 3차 정규화, BCNF
고급 정규화 - 4차 정규화, 5차 정규화

 

Ⅱ. 정규화 상세 설명

구분 정규화 설명
기본 정규화 1차 정규화 - 릴레이션에 속한 모든 속성의 도메인이 더 이상 분해되지 않는 원자값으로 구성
2차 정규화 - 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되도록 구성
3차 정규화 - 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않도록 구성
BCNF - 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 만족
고급 정규화 4차 정규화 - 릴레이션이 BCNF를 만족하고, 함수 종속이 아닌 다치 종속을 제거
5차 정규화 - 릴레이션이 제 4 정규형을 만족하고 후보키를 통하지 않는 조인 종속을 제거

- 일반적으로 제3정규형 또는 BCNF에 속하도록 릴레이션 분해하여 데이터베이스 설계

 

Ⅲ. 질의 성능 향상을 위한 중복허용, 반정규화

정의 - 정규화로 분해된 데이터를 관련 있는 릴레이션으로 통합하여 DB 성능 향상시키는 기법
주요 기법 테이블 병합 - 1:1 병합, 1:N 테이블 병합으로 Join수 감소
테이블 분한 - 테이블 수직 분할: 접근 빈도에 따라 분할
- 테이블 수평 분할: 파티션 적용으로 성능 향상
테이블 추가 - 통계, 이력, 중복, 부분 테이블 추가
중복 컬럼 추가 - 갱신보다 조회 성능 더 중요시 중복 저장
계산 컬럼 추가 - 여러 테이블 조인이 필요한 계산 결과 컬럼 추가
이력 컬럼 추가 - 변경 이력, 발생 이력 최신 정보 컬럼 추가
중복 관계 추가 - 부모-자식 관계 추가로 데이터 접근경로 단축

- 시스템의 성능 향상과 개발 및 운영의 단순화를 위해 역정규화 진행

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터베이스 트랜잭션  (0) 2024.12.04
빅데이터 분석 도구 선택 원칙  (0) 2024.12.04
NoSQL  (0) 2024.12.04
스타 스키마  (0) 2024.12.04
데이터 전처리 결측값과 이상값  (1) 2024.12.04