본문 바로가기
카테고리 없음

정규화(Normalization)

by BTC_Haksung 2022. 5. 23.

오늘은 DB에 있어 모델링의 꽃이라고도 불리는 정규화에대해 알아보겠습니다람쥐!!!

RDB에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화(Normalization)라고 한다.

정규화의 기본 목표는 중복된 데이터를 허용하지 않는 것입니다.

 

제1 정규화

컬럼이 도메인의 원자값을 갖도록 테이블을 분해하는 것입니다람쥐.

이름 취미
햄스터 쳇바퀴
헴스터 수면, 쳇바퀴
함스터 춤, 수면

                 ↓

이름 취미
햄스터 쳇바퀴
헴스터 수면
헴스터 쳇바퀴
함스터
함스터 수면

 

제2 정규화

제1 정규화를 만족 한 테이블에 대해 부분 함수적 종속을 제거하는 것입니다.

번호 강의명 강의실 성적
301 햄스터의 이해 100호 A
305 햄스터의 수면주기 100호 B+
302 다람쥐의 삶 101호 A+

                        ↓

번호 강의명 성적
301 햄스터의 이해 A
305 햄스터의 수면주기 B+
306 다람쥐의 삶 A+
강의명 강의실
햄스터의 이해 100호
햄스터의 수면주기 100호
다람쥐의 삶 101호

제3 정규화

제2 정규화를 만족 한 테이블에 대해 이행적 종속을 제거하는 것입니다.

*A->B이고 B->C이면 A->C가 성립하는 것을 이행적 종속이라 합니다.

번호 이름 나이
100 햄스터 19
101 함스터 19
102 다람쥐 16
103 람쥐 18

 

                                                                           ↓             

번호 이름
100 햄스터
101 함스터
102 다람쥐
103 람쥐
이름 나이
햄스터 19
함스터 19
다람쥐 16
람쥐 18

여기까지 제 1부터 3까지의 정규화에 대해 알아봤습니다.

DB는 데이터를 저장하는 곳이고 점점 많아지는 데이터들을 어떻게 관리하고 원하는 정보를 찾는 것이 많이 중요한만큼 데이터를 모델링하여 관리하는 것이 매우 중요합니다!!!

댓글