정규화(Normalization)란?

YOBY·2023년 9월 14일
0

데이터베이스 정규화는 데이터를 효율적으로 저장하고 중복을 최소화하여 데이터의 일관성을 유지하기 위한 과정입니다.

정규화는 테이블을 여러 개로 나누어서 데이터의 중복을 줄이고, 각각의 테이블이 한 가지 목적을 가지도록 설계합니다.

중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있습니다.


1정규화

속성에 NULL을 포함하거나 반복되는 속성을 별도의 엔티티로 분리하는게 1정규화입니다.


2정규화

2정규화는 주로 합성키(Concatenated Key)를 가진 테이블에 적용됩니다.
여기에서 "기본키에 종속되지 않는 모든 속성을 분리하여 새로운 엔티티를 구성"합니다.

부분 종속성을 해결하고 데이터 중복을 줄이기 위해 기본 키와 관련 없는 열을 별도의 테이블로 분리하는 과정입니다.


3정규화

엔티티의 속성 중에 기본 키가 아닌 속성에 종속하는 모든 속성을 분리하여 새로운 엔티티를 생성합니다.


정규화는 데이터를 효율적으로 저장하고 일관성을 유지하는 데에 중요한 원칙입니다.
그러나 너무 많은 정규화는 데이터베이스의 성능을 저하시킬 수 있으므로 적절한 수준에서 정규화를 수행하는 것이 중요합니다.

0개의 댓글