반응형
Ⅰ. 관계형 데이터베이스 중복 최소화, 정규화의 개요
가. 정규화의 개념
- 관계형 데이터베이스 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스로 관련 없는 함수 종속성을 별개의 릴레이션으로 표현
나. 정규화의 종류
기본 정규화 | - 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 |