DB

[DBMS] 정규화 정리

yn98 2024. 8. 12. 15:03

정규화란?


데이터 관리의 편의성을 증진시키기 위해서 테이블을 분리하는 것이다.

(==데이터 중복을 피하기위해서 테이블을 분리하는 것)

변경사항이 발생했을때, 1곳만 변경가능하기 때문이다. 


예시 )

위와 같이 쇼핑몰 테이블이 있다. ( 편의상 pw는 작성하지 않음 )

총구매금액에 따라 등급이 정해진다면, 등급 컬럼은 존재하지 않아도 컬럼값(브,실,골)을 예상할 수 있다.

==데이터 중복 발생

 

데이터중복은 DB내에서는 절대 있으면 안 된다.

이를 피하기 위해서 ?  "정규화"를 실행하는 것이다.  == 테이블 분리라고 생각하자.


위 예시처럼 데이터 중복을 피하기 위해서는, <쇼핑몰> 테이블 외에 <등급> 테이블을 만드는 것은 어떨까?