오늘은 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는 데이터를 저장하는 곳이고 점점 많아지는 데이터들을 어떻게 관리하고 원하는 정보를 찾는 것이 많이 중요한만큼 데이터를 모델링하여 관리하는 것이 매우 중요합니다!!!
댓글