티스토리 뷰
정규화
- 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정.
- 데이터 모델의 독립성
- 1-5 정규화가 있으나 실질적으로는 3정규화까지 수행한다.
정규화 절차
제 1정규화
- 속성의 원자성 확보
- 기본키 설정
제 2정규화
- 기본키가 2개 이상의 속성으로 이루어진 경우 부분 함수 종속성을 제거한다.
제 3정규화
- 기본키를 제외한 컬럼 간에 종속성을 제거한다.
- 이행 함수 종속성을 제거한다는 의미
BCNF
- 기본키를 제외하고 후보키가 있는 경우, 후보키가 기본키를 종속시키면 분해한다.
제 4정규화
- 여러 컬럼들이 하나의 컬럼을 종속 시키는 경우 분해하여 다중 값 종속성을 제거한다.
제 5정규화
- 조인에 의해서 종속성이 발생되는 경우 분해한다.
정규화 성능
- 데이터 조회 시 조인을 유발하기 때문에 CPU, 메모리를 많이 사용한다.
- 이러한 문제를 해결하기 위해 반정규화 기법이 생겼다.
반정규화
- 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 기법이다.
- 반정규화는 조회의 속도를 향상시키지만 데이터 모델의 유연성을 낮춘다.
- 수행해야 하는 경우
- 다량의 범위를 자주 처리 해야할 때
- 특정 범위의 데이터만 자주 처리할 때
- 요약/집계가 자주 요구될 때
기법
- 계산된 컬럼추가
- 테이블 수직분할
- 테이블 수평분할
- 파티션
- Range
- List
- Hash
- Compose
- 테이블 병합
- OneToOne
- Plus Type
- Single Type
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- https://jwprogramming.tistory.com/52
- https://react.vlpt.us/
- https://wikidocs.net/68
- https://velog.io/@juno7803/React%EA%B0%80-%ED%83%9C%EC%96%B4%EB%82%9C-%EB%B0%B0%EA%B2%BD
- https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
- https://react.vlpt.us/basic/11-render-array.html
- Co
- ㄴ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함