본문 바로가기

CS/데이터베이스

정규화(Normalization)

정규화(Normalization)이란?

  • 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는 다는 것
  • 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다.

 

제 1정규화

  • 제 1정규화란 테이블의 컬럼이 원자값(Atomic Value,하나의 값)을 갖도록 테이블을 분해하는 것

제 2정규화

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

제 3정규화

  • 제 3정규화란 제 2정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것
  • 이행적 종속이라는 것은 A ->B, B ->C 가 성립될 때 A -> C가 성립되는 것을 의미

BCNF 정규화

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

 

'CS > 데이터베이스' 카테고리의 다른 글

Database와 RDBMS, NOSQL  (0) 2025.03.28
JOIN이란?  (0) 2025.03.28
트랜잭션 격리 수준(Transaction Isolation Levels)  (0) 2025.03.21
트랜잭션(Transaction) 이란?  (0) 2025.03.21
데이터베이스 인덱스(Index)  (0) 2025.03.21