정규화(Normalization)

정규화(Normalization)

테이블을 쪼갠다?

 

정보처리기사 필기를 공부하는데 정규화에 대한 내용이 나왔다.

나름 이해한 바를 간단하게 요약하면 테이블을 특정 도메인별로 쪼개는 과정인 것 같다.

 

정규화(Normalization)

제1 정규형


학생

학번학과과목코드지도교수성적
1000컴퓨터공학MSC1000홍길동A

 

모든 튜플의 값이 원자성을 가진다.

제1 정규형을 만족한다.

하지만 함수적 종속관계가 존재한다.

학번은 학과와 지도교수를 결정할 수 있고,

학번과 과목코드는 성적을 결정할 수 있다.

 

정리하자면

{학번, 과목코드} → 성적

학번 → 학과

학과 → 지도교수

학번 → 지도교수

 

성적은 학번과 과목코드에 완전 함수적 종속성을 갖고,

학과와 지도교수는 학번에 부분 함수적 종속성을 갖는다.

그러므로 학번은 결정자, 학과와 지도교수는 종속자가 된다.

 

제2 정규형


학생

학번학과지도교수
1000컴퓨터공학홍길동

 

성적

학번과목코드성적
1000MSC1000A

 

학번 → 학과

학과 → 지도교수

학번 → 지도교수

이행 함수적 종속성을 갖는다. 제 3정규형 대상이다.

학과를 기준으로 릴레이션을 나눈다.

 

제3 정규형


학생

학번학과
1000컴퓨터공학

 

학과

학과지도교수
컴퓨터공학홍길동

 

성적

학번과목코드성적
1000MSC1000A

 


© 2022. All rights reserved.