반응형
정규화(Normalization)
관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다.
- 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지
- 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 함
- 데이터 삽입 시 릴레이션을 재구성할 필요성 감소
- 효과적인 검색 알고리즘 생성 가능
제 1 정규화 (1NF)
테이블 칼럼이 원자값 갖게 분리하는 것이다.
제 2 정규화 (2NF)
제 1정규화를 진행한 테이블에 대하여 완전 함수 종속하도록 테이블을 분해하는 것이다.
완전 함수 종속이라는 것은 기본키의 부분 집합이 결정자가 되어선 안되는 것을 의미한다.
제 3 정규화 (3NF)
제 2정규화를 진행한 테이블에 대하여 이행적 종속을 없애게 테이블을 분해하는 것이다.
A->B, B->C , 즉 A->C가 만족하는 것
BCNF 정규화
제 3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것
제 4 정규화 (4NF)
다치 종속성을 제거해야한다.
제 5 정규화 (5NF)
조인 종속성을 제거해야한다.
용어 :
- 릴레이션 : 단계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단계, 즉 테이블
- 후보키 : 유일성 O, 최소성 O
반응형
'개발 상식' 카테고리의 다른 글
RTMP와 WebRTC란? (0) | 2024.11.24 |
---|---|
지능형 지속 위협(APT, Advanced Persistent Threat) (0) | 2021.04.14 |
보일러플레이트 코드란?(Boilerplate code) (0) | 2021.04.07 |
가비지 컬렉션 원리 (0) | 2021.03.21 |
연결리스트(linked list) (0) | 2021.03.01 |