본문 바로가기

개발 상식

데이터베이스 정규화

반응형

정규화(Normalization)

관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다. 

  • 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지
  • 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할
  • 어떠한 릴레이션이라도  데이터베이스 내에서 표현 가능하게 함
  • 데이터 삽입 시 릴레이션을 재구성할 필요성 감소
  • 효과적인 검색 알고리즘 생성 가능

제 1 정규화 (1NF)

테이블 칼럼이 원자값 갖게 분리하는 것이다.

제 2 정규화 (2NF)

제 1정규화를 진행한 테이블에 대하여 완전 함수 종속하도록 테이블을 분해하는 것이다.
완전 함수 종속이라는 것은 기본키의 부분 집합이 결정자가 되어선 안되는 것을 의미한다.

제 3 정규화 (3NF)

제 2정규화를 진행한 테이블에 대하여 이행적 종속을 없애게 테이블을 분해하는 것이다.

A->B, B->C , 즉 A->C가 만족하는 것

BCNF 정규화

제 3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것

제  4 정규화 (4NF)

다치 종속성을 제거해야한다.

제 5 정규화 (5NF)

조인 종속성을 제거해야한다.

용어 :

- 릴레이션 : 단계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단계, 즉 테이블

- 후보키 : 유일성 O, 최소성 O

 

https://mangkyu.tistory.com/110

 

[Database] 정규화(Normalization) 쉽게 이해하기

지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz

mangkyu.tistory.com

https://itwiki.kr/w/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EC%A0%95%EA%B7%9C%ED%99%94

 

IT위키

IT에 관한 모든 지식. 함께 만들어가는 깨끗한 위키

itwiki.kr

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EC%A0%95%EA%B7%9C%ED%99%94

반응형