정규화

위키원
Asadal (토론 | 기여)님의 2021년 6월 16일 (수) 15:25 판 (새 문서: '''정규화'''(正規化, normalization)란 일정한 규칙에 따라 데이터수식을 변형하여 이용하기 쉽게 만드는 것을 말한다. 데이터베이스...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

정규화(正規化, normalization)란 일정한 규칙에 따라 데이터수식을 변형하여 이용하기 쉽게 만드는 것을 말한다. 데이터베이스를 정규화함으로써 데이터의 중복을 막고 일관성과 효율성 및 확장성을 보장할 수 있다. 정규화되지 않은 데이터베이스의 경우 새로운 데이터를 삽입하거나 기존 데이터를 갱신 또는 삭제할 경우 이상현상(anomaly)이 발생할 우려가 있다. 정규화의 반대말은 역정규화(逆正規化, Denormalization)이다.

정규화의 종류

보통 제1정규화에서 제5정규화까지 순서대로 진행한다.

  1. 제1정규화 : 하나의 속성은 두 개 이상의 값을 중복해서 가지지 않고 하나의 원자값을 가져야 한다.
  2. 제2정규화 : 모든 속성들은 기본키(PK)에 완전 종속되어야 한다. 예를 들어 기본키가 두 개인 경우 기본키 두 개 모두에 종속되지 않고 둘 중 하나에만 종속되는 속성은 제거해야 한다.
  3. 제3정규화 : 기본키가 아닌 속성들 사이에 종속성이 없어야 한다.
  4. BCNF 정규화(일명 제3.5정규화) : 식별자로 쓰이는 속성이 일반속성에 종속되지 않아야 한다.
  5. 제4정규화 : 다대다(N:M) 관계에서 교차 엔티티를 사용한다.
  6. 제5정규화 : 후보키를 통하지 않은 조인(Join) 종속이 없어야 한다.

같이 보기

틀:데이터베이스