DB 설계를 하기 위해선 정규화를 할줄 알아야한다!

sion Jeong·2024년 7월 9일
0

💡 DB를 설계하기 위해선 데이터 정규화를 알아야한다!!!!!!

1정규화를 만족하면 → 2정규화로 → 2정규화를 만족하면 3정규화로 단계가 있다.

제1 정규화

Atomic(원자성) columns라는 조건에 만족하도록 비정규형 테이블을 → 제1 정규형 테이블로 구조화한것
Atomic columns: 컬럼은 값을 1개만 가져라

다대다 관계가 → 바로 제1 정규화라고 할수 있겠다. (중간테이블)


제2 정규화

No partial dependencies라는 조건에 만족하게끔 제1 정규형 테이블을 → 제2 정규형 테이블로 정규화
No partial dependencies : 기본키(PK)가 복합키일때 필드는 기본키 2개 모두에 종속종이어야한다. (PK가 2개면 → 2개를 다 의지 )
즉 필드는 기본키에 종속(의지)적이어야한다.

  • Pk = title → 근데 가격은 type에 따라 메겨진다 → 가격은 title(PK)type을 의지 (기본키의 중복) PK가 2개

  • 따라서 타입을 따로 테이블로 분리시키면 중복되는 부분이 사라짐


제3 정규화

No transitive dependencies라는 조건에 만족하게끔 제2 정규형 테이블을 제3 정규형 테이블로 정규화
No transitive dependencies : 이행적 종속성이 없어야 한다

즉 PK가 아닌 일반컬럼에 종속적인 컬럼은 → 테이블을 따로 빼자

profile
개발응애입니다.

0개의 댓글